2009-08-22 5 views
10

Мне нужно загрузить файл с umounted TrueCrypt-диска в память. Есть ли способ сделать это программно? Предлагает ли TrueCrypt API?Есть ли способ программно прочитать файл с диска TrueCrypt в память?

Как я считаю, лучше всего попытаться установить громкость (запрашивая у пользователя пароль, конечно), откройте файл, а затем размонтируйте том. Есть ли способ сделать это все автоматически?

Я нахожусь в Windows Vista. У меня есть C#, Python и Perl.

ответ

12

Можете ли вы использовать true crypt command line, скажем, 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

Спасибо, это сработало. – MiffTheFox

+4

Помните, что жесткая кодировка пароля в сборке .NET может облегчить извлечение pw путем декомпиляции. Вы должны подумать о запутывании вашего кода, если проблема безопасности. – galaktor

+3

@galaktor - я решил эту проблему, исключив параметр/p, позволяя пользователю самостоятельно вводить пароль непосредственно в TrueCrypt. – MiffTheFox

0

TrueResize включает библиотеку C# TrueCrypt с открытым исходным кодом, который позволит вам читать зашифрованного тома (без необходимости устанавливать его), дополнительная библиотека включает в себя поддержку NTFS.