工具
Lucid Hex-Rays 微码浏览器
Markus Gaasedelen 开发的 IDA Pro 插件,用于研究 Hex-Rays 反编译器如何逐步变换其微码(microcode)中间语言。在伪代码窗口中选择 View microcode 即可打开浏览器,它与伪代码保持同步,用户可让选中的微指令依次滚动经过各个微码成熟度层级,把子操作数追溯到来源;若追踪的代码已被优化掉,光标会变色提示。嵌套的子指令可显示为树状图;作者将其定位为面向开发者的原型和代码参考,而不是通用逆向工程工具。
使用条件与局限
- 自首次发布后已无人维护:2020-09-15 打标签的 v0.1.1 是最后一个版本,也就是所审阅的 master 提交,此后再无新提交;一个增加更多功能的社区拉取请求自 2024 年起一直未合并。README 中首次发布时列出的已知问题(包括双击某些地址注释可能导致 IDA 崩溃,以及在 macOS 和 Linux 上测试较少)至今未更新。
- 需要 IDA Pro 7.5 或更高版本,并具备所分析架构对应的 Hex-Rays 反编译器。它是没有第三方依赖的 Python 2/3 插件,将 plugins 文件夹复制到 IDA 用户插件目录即可安装;界面代码导入 IDA 自带的 PyQt5,与当前 IDA 版本的兼容性没有文档说明。
- 作用于使用者已在 IDA 中打开并反编译的二进制。它只是查看反编译器内部状态的工具;README 仅把微码优化器相关工作流列为未来可能的工作。
- 采用 MIT 许可。本次未安装或运行。
关于此条目
- 类型
- 工具
- 类别
- 原生分析工具
- 关联
- 基础工具
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · gaasedelen/lucid · 修订 9f2480d
- README.md#L19-L33 GitHub · gaasedelen/lucid · 修订 9f2480d
- README.md#L71-L98 GitHub · gaasedelen/lucid · 修订 9f2480d
- plugins/lucid/ui/explorer.py#L1-L10 GitHub · gaasedelen/lucid · 修订 9f2480d
- LICENSE GitHub · gaasedelen/lucid · 修订 9f2480d
- https://github.com/gaasedelen/lucid/releases/tag/v0.1.1
- https://github.com/gaasedelen/lucid/pull/5