前面介紹了幾個常見的逆向工具,這篇文章介紹如何下載這些工具:
strings
為 linux 內建的工具,無須下載
objdump
objdump 是 GNU binutils 套件的一部分,用來查看可執行檔或目標檔的詳細資訊,包含反組譯結果。預設輸出的語法是 AT&T,但我們可以轉成習慣使用的 intel 語法。
安裝:
sudo apt install binutils # 安裝
objdump --version # 查看版本
範例:
objdump -M intel -d ./chosen # 反組譯,輸出 intel 語法
objdump -M intel -d ./chosen | head # 只顯示前 10 行
objdump -M intel -d ./chosen | head -n 20 # 顯示前 20 行
objdump -M intel -d ./chosen | less # 分頁顯示結果
objdump -d program # 一般反組譯
objdump -t program # 顯示符號表
Radare2
Radare2 是一套功能非常完整的開源逆向工程框架,能夠進行靜態分析與動態分析
安裝方式:
方法一:
sudo apt update
sudo apt install radare2
方法二(從 GitHub 原始碼):
sudo apt install git
git clone https://github.com/radareorg/radare2.git
cd radare2
sys/install.sh
確認是否有安裝:
r2 -v # 查看版本
範例:
r2 ./chosen0
常見語法:
? 顯示有哪些指令
d? 查詢 d 開頭的所有指令
aa 分析檔案
afl 列出目前檔案的 function,可以看到 main 等函式 function
s <function> 移動到指定 function
[0x00001080]> 代表目前所在位址
V 進入圖形化介面
q 退出