IDA Pro 可以自动处理 VM 混淆二进制文件吗?

逆向工程 艾达 虚拟机 虚拟机
2021-07-08 21:08:08

像 Code Virtualizer 和 VMProtect 这样的 VM 打包程序似乎对现有的逆向工程工作具有挑战性,尤其是像 IDA Pro 这样的静态方法。

根据这张幻灯片

www.hex-rays.com/products/ida/support/ppt/caro_obfuscation.ppt

从Hex-rays来看,IDA Pro需要有经验的逆向工程师手动识别操作码数组并理解语义,然后解码字节码数组。

我自己使用 IDA Pro 来处理使用 Code Virtualizer 的简单快速排序程序,我可以分享两张图片。

在此处输入图片说明

看,我用Code Virtualizer来保护这部分,IDA Pro不能去0X599050h。

在此处输入图片说明

可见,搬迁段规模有显着增长。

所以我的问题:

  1. IDA Pro 可以自动处理 VM 混淆二进制文件吗?
  2. 关于这一领域的最新技术,还有其他有趣的材料吗?

谢谢!

2个回答

关于问题 #1,没有 IDA 不处理混淆的二进制文件。

您可能对 Jason Raber 去年在 Blackhat 上的 Virtual Deofbuscator 演讲感兴趣,他还发布了一个 IDA 插件并且源代码可用。

现在(从 2020 年开始)有一个 IDA Pro 插件可以帮助处理混淆的二进制文件。它被称为D810:为 IDA Pro 创建一个可扩展的反混淆插件