该插件基于 使用Capstone增强lldb的 ARM/Thumb 代码反汇编能力。
插件使用方法
- 下载插件:https://github.com/wizdzz/lldb_script/blob/master/dis_capstone/dis_capstone.py
- 安装 pyhton 的 capstone 模块:
pip install capstone
- 在 lldb 中执行 command script import "path to dis_capstone.py"
或者 将该命令添加到 ~/.lldbinit 中(windows 下是 "C:\Users\Administrator.lldbinit",如果不存在,请自己创建它)。 - 执行 discs。
我添加或增强的功能
- 移除了反汇编字节,仅在 full 模式中显示;
- arm 架构时自动切换 CS_MODE_THUMB 和 CS_MODE_ARM,原插件根据 T 标志位来判断 arm ot thumb,当反汇编位置的标志与 pc 所在位置的不同时则必须添加 -M 参数才能正常反汇编;
- 把参数中的反汇编字节改成了反汇编行数;
- 对于反汇编指令中的地址,如果位于映射的内存区间,且能找到相关符号则显示在反汇编行中,若找不到符号则显示其相对于模块的偏移。
网友评论