2009-08-22 92 views
10

我需要從未安裝的TrueCrypt磁盤加載文件到內存中。有沒有辦法以編程方式做到這一點? TrueCrypt是否提供API?有沒有辦法從TrueCrypt磁盤讀取文件到內存中的文件?

我相信最適合嘗試的方法是安裝卷(當然提示用戶輸入密碼),打開文件,然後卸載卷。有沒有辦法自動完成這一切?

我在Windows Vista上。我有C#,Python和Perl隨時可用。

回答

12

你不能使用System.Diagnostics.Process中的true crypt command line嗎?

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 2009-08-22 11:41:15

+4

請注意,將密碼硬編碼到.NET程序集中可以使得通過反編譯提取pw變得容易。如果安全性問題,您應該考慮混淆您的代碼。 – galaktor 2009-08-22 11:50:10

+3

@galaktor - 我通過省略/ p選項來解決該問題,允許用戶直接將密碼輸入到TrueCrypt中。 – MiffTheFox 2009-11-09 00:16:37

0

TrueResize包括一個開放源代碼C#TrueCrypt的庫,將允許您讀取加密的卷(而無需將其安裝),附加的庫包括NTFS的支持。

相關問題