即时解密EXE

时间:2013-01-09 13:21:17

标签: winapi hook createprocess

我有XXX.EXE这是将AES应用于原始.EXE的结果 我有一个主机进程,它在XXX.EXE上调用CreateProcess 主机进程中有一种解密方法,允许解密.EXE的任何块(这很简单,因为主机进程知道AES密钥)。

我想找到一种简单的方法来执行解密的.EXE,并尽可能避免将整个.EXE存储在内存中。

我尝试为ReadFile安装钩子,以便在CreateProcess调用时动态解密,但这不起作用,因为CreateProcess也调用CreateFileMapping,它可能使用内核模式函数读取文件,所以我被困住了。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您要做的是基本上运行packed executable以混淆正在运行的内容。打包程序将允许您正常运行可执行文件,并将有一小段未经模糊处理/未加密的代码,将解压缩二进制文件的其余部分。

有些打包者不需要一次性解压整个二进制文件,而其他打包者则需要。但是,这是恶意软件常用的技术,使逆向工程更加困难。这反过来又导致反病毒公司将打包的软件标记为恶意软件。

可以编写自己的可执行文件loader来解密剩余的可执行文件并加载导入的函数等。This article解释了Windows加载程序中涉及的步骤。