【问题标题】:Is there an way to programmatically read a file from a TrueCrypt disk into memory?有没有办法以编程方式将文件从 TrueCrypt 磁盘读入内存?
【发布时间】:2009-08-22 10:06:06
【问题描述】:

我需要将文件从卸载的 TrueCrypt 磁盘加载到内存中。有没有办法以编程方式做到这一点? TrueCrypt 是否提供 API?

我认为最好的方法是挂载卷(当然是提示用户输入密码),打开文件,然后卸载卷。有没有办法自动完成这一切?

我使用的是 Windows Vista。我有现成的 C#、Python 和 Perl。

【问题讨论】:

    标签: c# python perl readfile truecrypt


    【解决方案1】:

    你不能使用 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();
            }
        }
    }
    

    【讨论】:

    • 请注意,将密码硬编码到 .NET 程序集中可以通过反编译轻松提取密码。如果安全是一个问题,你应该考虑混淆你的代码。
    • @galaktor - 我通过省略 /p 选项解决了这个问题,允许用户直接在 TrueCrypt 中输入密码。
    • 但是发送这样的密码可能会出现问题,因为密码将以纯文本形式显示:stackoverflow.com/questions/13279436/…
    • @nav - 所有纯文本都可能是个问题。这就是您使用更高级别的安全性来降低风险的原因。例如,您可以避免使用编码或使用密钥环,或者可能是硬件密钥。等等等等。
    • @Preet:谢谢。在这种情况下,是否可以以某种方式加密密码(或整个命令行字符串)以确保可以从 C++ 应用程序调用 truecrypt 而不会泄露密码?
    【解决方案2】:

    TrueResize 包含一个开源 C# TrueCrypt 库,可让您读取加密卷(无需挂载),另外一个库包含 NTFS 支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      相关资源
      最近更新 更多