安装
pip install capstone
初始化
Cs(arch, mode)
CP = capstone.Cs(capstone.CS_ARCH_ARM, capstone.CS_MODE_THUMB)
反编译
返回CsInsn类型的generator
disasm(code, offset, count=0):
CsInsn 常用属性
id 指令ID
address 指令地址
size 指令大小
bytes 指令机器码
mnemonic 指令助记符
op_str 字符串形式的指令
...
其他的属性可以查看源码
使用
import capstone
THUMB_CODE = b"\x83\xb0" # sub sp, #0xc
CP = capstone.Cs(capstone.CS_ARCH_ARM, capstone.CS_MODE_THUMB)
for i in CP.disasm(THUMB_CODE , 0, len(THUMB_CODE )):
print("[code:address:0x%x]:%s %s" % (address, i.mnemonic, i.op_str))