Radare2 Tips

R2 Cheatsheet

Skills

radius2 skills & mcp : https://github.com/radareorg/radare2-skills

1. Recon 相關

開啟程式:

Terminal window
r2 ./your_program

看到意義不明指標,用 V 進入 hex view:

[0x00000fd0]> V

image.png

p 切換到 disassemble: image.png

2. 分析相關

shift + : 輸入 aaa 解析後,用 afi 看 function: image.png

s main 找 main(或用 s sym.main): image.png

從外部抽資訊(不用進 r2)

Terminal window
rabin2 -z <binary> # 抽 strings
r2 -qc izq <binary> # quiet mode 列所有 strings

String xref

aae # emulation 分析,補出 string 的 cross-reference
axt <addr> # 找誰 reference 到此處
axf <addr> # 此處 reference 到哪

3. 常用指令

指令說明
aaa自動分析、自動命名函數
afl列出 functions
afi顯示 function 資訊
pdfprint disassembly
VVgraph view(需先 aaa
s <function/addr>seek and goto
p切換 view(hex / 機械碼 / ..)
V進入 visual mode

4. Debugger

r2 -d <file> 用 debugger 開啟:

指令說明
db <addr>break point
dcstart with dbg
shiftstep

GUI 版 R2 - Cutter

https://github.com/rizinorg/cutter Cutter是基於Rizin的GUI版本,Rizin本身是R2的fork (split off 2020) 指令差不多但是底層API寫法不太一樣,下面是一些常用指令:

iI # 查看 Image info
iS # 列出 section
is # 列出 symbols
iz # strings
aa # 自動分析
afl # 函數列表
pdf @main # 反組譯 main