Encryption 截取Windows 7中程序的输出

Encryption 截取Windows 7中程序的输出,encryption,windows-7,intercept,Encryption,Windows 7,Intercept,我有一个可执行程序,可将数据输出到硬盘,例如C:\documents 在Windows7中的数据进入硬盘之前,我需要一些方法来拦截这些数据。然后我将加密数据并将其发送回硬盘。遗憾的是,.exe文件不支持命令提示符中的重定向命令,即>。你知道我在任何编程语言(C,C++,java,PHP)中都能达到这样的目的吗? 加密只能在普通数据发送到磁盘之前而不是之后进行 欢迎提出任何意见。谢谢一般来说,这几乎是不可能的。许多程序使用内存映射文件写入磁盘。在这样的方案中,将内存范围映射到文件(部分)。在这种方

我有一个可执行程序,可将数据输出到硬盘,例如C:\documents

在Windows7中的数据进入硬盘之前,我需要一些方法来拦截这些数据。然后我将加密数据并将其发送回硬盘。遗憾的是,.exe文件不支持命令提示符中的重定向命令,即>。你知道我在任何编程语言(C,C++,java,PHP)中都能达到这样的目的吗? 加密只能在普通数据发送到磁盘之前而不是之后进行


欢迎提出任何意见。谢谢

一般来说,这几乎是不可能的。许多程序使用内存映射文件写入磁盘。在这样的方案中,将内存范围映射到文件(部分)。在这种方案中,对文件的写入无法与对内存的写入区分开来。类似于
p[OFFSET\u OF_FIELD\ux]=17的语句是一个逻辑写入文件。此外,操作系统将跟踪内存和磁盘的同步。并非所有对内存的逻辑写入都直接转换为对磁盘的物理写入。操作系统一时兴起,脏内存页会被复制回磁盘

即使在
CreateFile/WriteFile
这种更简单的情况下,也几乎没有空间实时截取数据。您可以实现的最接近的方法是使用Microsoft迂回。我知道至少有一个snakeoil encyption程序(WxVault,Dells上的crapware)可以做到这一点。它多次在现场使我的应用程序崩溃,这就是为什么我的程序会取消任何拦截数据的尝试。因此,即使是这样的黑客也无法抵御讨厌干扰的程序