boxmoe_header_banner_img

Binary Security Researcher at ETH Zurich

文章导读

Capstone basic


avatar
ra1ny 2026-04-09 28

Capstone框架是一款轻量、多平台、多架构的反汇编引擎。
Capstone开发团队的目标是为二进制分析提供一款全能的反汇编引擎。
Capstone的特性

  • 支持多架构:Arm, Arm64 (Armv8), BPF, Ethereum Virtual Machine, M68K, M680X,Mips,MOS65XX,PowerPC, RISCV, Sparc, SystemZ, TMS320C64X, Web Assembly, XCore & X86 (include X86_64)
  • 简单易用的API(C/C++、Python、Rust、..)
  • 支持指令细节反汇编
  • 支持提供指令的语义信息(例如隐式读写的寄存器信息)

粗粒度,反汇编出来的,如ida的指令
细粒度,显式/隐式的读写了那些寄存器,那些内存,指令所属的分类,各种寻址以及寻址内部的细节,比如各种偏移量的系数

from capstone import *

CODE = b"\x55\x48\x8b\x05\xb8\x13\x00\x00"
md = Cs(CS_ARCH_X86, CS_MODE_64 + CS_MODE_LITTLE_ENDIAN)

for i in md.disasm(CODE, 0x1000):
    print("0x%x:\t%s\t%s" %(i.address, i.mnemonic, i.op_str))

对应的输出为

0x1000:	push	rbp
0x1001:	mov	rax, qword ptr [rip + 0x13b8]



评论(0)

查看评论列表

暂无评论


发表评论