2009-08-22 19 views
10

Ich muss eine Datei von einer umgerüsteten TrueCrypt-Diskette in den Speicher laden. Gibt es eine Möglichkeit, dies programmatisch zu tun? Bietet TrueCrypt eine API?Gibt es eine Möglichkeit, eine Datei von einer TrueCrypt-Diskette programmatisch in den Speicher einzulesen?

Der beste Weg, um dies zu versuchen, wäre das Mounten des Volumes (fragt den Benutzer natürlich nach einem Passwort), Öffnen der Datei und dann das Unmounten des Volumes. Gibt es eine Möglichkeit, dies alles automatisch zu tun?

Ich bin auf Windows Vista. Ich habe C#, Python und Perl leicht verfügbar.

Antwort

12

Können Sie nicht die true crypt command line von sagen System.Diagnostics.Process?

using System; 
using System.Diagnostics; 

namespace Test { 

    class TrueCrypeStart 
    { 
     static void Main(string[] args) 
     { 

      string password = getPassword(...); 
      Process tc= new Process(); 

      tc.StartInfo.FileName = "TrueCrypt.exe"; 
      tc.StartInfo.Arguments = string.Format("/v \"{0}\" /p \"{1}\" /q", ...mount info ..., password); // for quiet! 

      tc.Start(); 
     } 
    } 
} 
+0

Danke, das hat funktioniert. – MiffTheFox

+4

Beachten Sie, dass das Festschreiben des Kennworts in eine .NET-Assembly das Extrahieren des Pw durch Dekompilieren erleichtern kann. Sie sollten erwägen, Ihren Code zu verschleiern, wenn Sicherheit ein Problem darstellt. – galaktor

+3

@galaktor - Ich habe dieses Problem gelöst, indem ich die Option/p weggelassen habe, damit der Benutzer das Passwort selbst direkt in TrueCrypt eingeben kann. – MiffTheFox

0

TrueResize enthält eine Open-Source-C# TrueCrypt-Bibliothek, die Sie die verschlüsselten Datenträger lesen können (ohne es zu montieren hat), wird eine zusätzliche Bibliothek enthält NTFS-Unterstützung.