2009-08-22 28 views
10

Tôi cần tải một tệp từ đĩa TrueCrypt được đặt vào bộ nhớ. Có cách nào để làm điều này theo chương trình? TrueCrypt có cung cấp API không?Có cách nào để lập trình đọc một tệp từ đĩa TrueCrypt vào bộ nhớ không?

Cách tôi tin là tốt nhất cho việc cố gắng này là gắn kết ổ đĩa (nhắc người dùng nhập mật khẩu, tất nhiên), mở tệp và sau đó ngắt kết nối âm lượng. Có cách nào để tự động thực hiện điều này không?

Tôi đang sử dụng Windows Vista. Tôi có sẵn C#, Python và Perl.

Trả lời

12

Bạn không thể sử dụng true crypt command line từ 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

Cảm ơn bạn, điều này đã hiệu quả. – MiffTheFox

+4

Hãy lưu ý rằng mã hóa cứng mật khẩu vào một hội đồng .NET có thể giúp bạn dễ dàng giải nén pw bằng cách giải mã nó. Bạn nên xem xét obfuscating mã của bạn nếu an ninh là một vấn đề. – galaktor

+3

@galaktor - Tôi đã giải quyết vấn đề đó bằng cách bỏ qua tùy chọn/p, cho phép người dùng nhập mật khẩu trực tiếp vào TrueCrypt. – MiffTheFox

0

TrueResize bao gồm một mã nguồn mở thư viện C# TrueCrypt mà sẽ cho phép bạn đọc các khối lượng được mã hóa (mà không cần phải gắn nó), một thư viện bổ sung bao gồm hỗ trợ NTFS.

Các vấn đề liên quan