IDA2Obj 是一个实现 SBI(静态二进制插桩) 的工具。
工作流程很简单:
准备环境:
idapython.cfg 中设置 AUTOIMPORT_COMPAT_IDA695 = YES,以支持旧版 IDA 6.x 风格的 API。pip install cough创建一个文件夹作为工作空间。
将要进行模糊测试的目标二进制文件复制到工作空间中。
将二进制文件加载到 IDA Pro 中,选择 加载资源 并 手动加载 以加载二进制文件中的 所有 段。
等待自动分析完成。
运行脚本 MagicIDA/main.py 转储目标文件。
${workspace}/${module}/objs/afl 中。TRACE_MODE 的空文件,则输出的目标文件将在 ${workspace}/${module}/objs/trace 中。${workspace}/${module} 内生成3个文件:
运行脚本 utils/LibImports.py 生成库文件。
${workspace}/${module}/libs 中,用于后续链接。打开终端,将目录切换到工作空间。
使用 utils/link.bat 链接所有目标文件和库文件。
utils/link.bat GdiPlus dll afl /RELEASE${workspace}/${module} 中生成新的二进制文件和对应的 pdb 文件。使用 utils/PatchPEHeader.py 对新构建的二进制文件进行补丁。
utils/PatchPEHeader.py GdiPlus/GdiPlus.afl.dllutils/register_msdia_run_as_administrator.bat。运行并进行模糊测试。
演示视频 : https://drive.google.com/file/d/1N3DXJCts5jG0Y5B92CrJOTIHedWyEQKr/view?usp=sharing