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. 对于反汇编指令中的地址,如果位于映射的内存区间,且能找到相关符号则显示在反汇编行中,若找不到符号则显示其相对于模块的偏移。
截图

你可能感兴趣的:(lldb 脚本 - lldb-capstone-arm 增强版)