在 GitHub 上加星Star1.1k 个星标

工具

Virtuailor IDA Pro C++ 虚表重建工具

在 IDA Pro 中重建 C++ 虚函数表的 IDAPython 工具,适用于 32/64 位 Intel 和 AArch64 代码,通过在 IDA 调试器中运行程序并观察间接调用来完成。静态部分负责找出间接调用,并用条件断点挂钩其调用目标的赋值;断点命中后,动态部分会创建虚表结构体、重命名虚表和虚函数、为调用指令加上结构体偏移,并从每个间接调用添加指向其实际调用的虚函数的交叉引用;对 AArch64 固件,它还会尝试修复未定义的虚表及相关函数。

目标
二进制 · 固件
类别
调试与动态分析
关联
基础工具
来源复核于

使用条件与局限

  • 前提条件:支持 IDA Pro 7.0 至 7.5:master 分支面向 7.5,7.4 以前的 IDA 版本需改用 beforeIDA-7.4 分支。通过 File > Run script 运行 Main.py(README 建议先为 IDB 创建快照),再在 IDA 调试器中运行并操作目标程序;AArch64 目标可通过远程 GDB 服务器调试。仓库没有发布版本,所审阅的 master 分支提交日期为 2020-06-06。
  • 局限:只会重建运行时实际命中的虚调用所用的虚表;README 也提到部分断点可能遗漏。
  • 许可:依 LICENSE 采用 GPL-3.0 许可。

关于此条目

说明已依据一手来源复核。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · 0xgalz/Virtuailor · 修订 f5e20a0
  2. Main.py GitHub · 0xgalz/Virtuailor · 修订 f5e20a0
  3. LICENSE GitHub · 0xgalz/Virtuailor · 修订 f5e20a0

同分区更多条目:原生二进制

原生二进制分区全部 250 项资源

↑↓ 移动↵ 打开⌘↵ 新标签页