該插件基于 使用Capstone增強(qiáng)lldb的 ARM/Thumb 代碼反匯編能力。
插件使用方法
- 下載插件:https://github.com/wizdzz/lldb_script/blob/master/dis_capstone/dis_capstone.py
- 安裝 pyhton 的 capstone 模塊:
pip install capstone
- 在 lldb 中執(zhí)行 command script import "path to dis_capstone.py"
或者 將該命令添加到 ~/.lldbinit 中(windows 下是 "C:\Users\Administrator.lldbinit",如果不存在,請(qǐng)自己創(chuàng)建它)。 - 執(zhí)行 discs。
我添加或增強(qiáng)的功能
- 移除了反匯編字節(jié),僅在 full 模式中顯示;
- arm 架構(gòu)時(shí)自動(dòng)切換 CS_MODE_THUMB 和 CS_MODE_ARM,原插件根據(jù) T 標(biāo)志位來(lái)判斷 arm ot thumb,當(dāng)反匯編位置的標(biāo)志與 pc 所在位置的不同時(shí)則必須添加 -M 參數(shù)才能正常反匯編;
- 把參數(shù)中的反匯編字節(jié)改成了反匯編行數(shù);
- 對(duì)于反匯編指令中的地址,如果位于映射的內(nèi)存區(qū)間,且能找到相關(guān)符號(hào)則顯示在反匯編行中,若找不到符號(hào)則顯示其相對(duì)于模塊的偏移。
截圖

