lldb 脚本 - lldb-capstone-arm 增强版

该插件基于 使用Capstone增强lldb的 ARM/Thumb 代码反汇编能力

插件使用方法

  1. 下载插件:https://github.com/wizdzz/lldb_script/blob/master/dis_capstone/dis_capstone.py
  2. 安装 pyhton 的 capstone 模块:
pip install capstone
  1. 在 lldb 中执行 command script import "path to dis_capstone.py"
    或者 将该命令添加到 ~/.lldbinit 中(windows 下是 "C:\Users\Administrator.lldbinit",如果不存在,请自己创建它)。
  2. 执行 discs。
我添加或增强的功能
  1. 移除了反汇编字节,仅在 full 模式中显示;
  2. arm 架构时自动切换 CS_MODE_THUMBCS_MODE_ARM,原插件根据 T 标志位来判断 arm ot thumb,当反汇编位置的标志与 pc 所在位置的不同时则必须添加 -M 参数才能正常反汇编;
  3. 把参数中的反汇编字节改成了反汇编行数
  4. 对于反汇编指令中的地址,如果位于映射的内存区间,且能找到相关符号则显示在反汇编行中,若找不到符号则显示其相对于模块的偏移。
截图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。