12 PyEmu

PyEmu 由 Cody Pierce(TippingPoint DVLabs team) 于 2007 在黑帽大会上首次公布。PyEmu 是一个存 Python 实现的 IA32 仿真器,用于仿真 CPU 的各种行为以完成不同的任务。仿 真器非常有用,比如在调试病毒的时候,我们就不用真正的运行 它,而是通过仿真器欺骗它在我们的模拟环境中运行。 PyEmu 里 有 三 个 类 :IDAPyEmu, PyDbgPyEmu 和 PEPyEmu 。 IDAPyEmu 用于在 IDA Pro 内完成各种仿真任务(由 DAPython 调用, 详看第 11 章),PyDbgPyEmu 类用于动态分析,同时它允许使用我们真正的内存和寄存器。

PEPyEmu 类是一个独立的静态分析库,不需要 IDA 就能完成反汇编任务。我们主要介 绍

IDAPyEmu 和 PEPyEm,剩下的 PyDbgPyEmu 留给大家自己去试验。下面先从 PyEmu 的安 装开始,接着深入介绍仿真器的架构,为实际应用做好准备。