目錄
Radare2 是什麼?
A free/libre toolchain for easing several low level tasks like forensics, software reverse engineering, exploiting, debugging, …
It is composed by a bunch of libraries (which are extended with plugins) and programs that can be automated with almost any programming language.
翻譯: 一個自由的工具鏈用來讓低級的工作(比如取證,逆向工程,爆破實驗,調試……)更加簡單。它由一堆庫(使用插件擴展)和程序組成,這些庫幾乎可以使用任何編程語言進行自動化。
Radare2 介紹
官網:https://www.radare.org/n/radare2.html
英語不好的看翻譯:(微軟translator)
特徵
- 批處理、命令線、可視和麪板交互模式
- 嵌入式網絡服務器與js腳本和webui
- 組裝和拆卸大量 CPU 列表
- 在 Windows 上運行,還有任何其他 UNIX 味道
- 使用 ESIL 分析和模擬代碼
- 本機調試器和 GDB、WINDBG、QNX 和 FRIDA
- 導航 ascii 技術控制流圖
- 能夠修補二進制文件、修改代碼或數據
- 搜索模式、魔法標題、函數簽名
- 易於擴展和修改
- 命令線,C API,腳本與r2管道在任何語言
如何安裝 Radare2?
本教程中,你需要這兩個組件:
community/radare2 4.3.1-2 [installed]
Open-source tools to disasm, debug, analyze and manipulate binary files
community/radare2-cutter 1:1.10.2-3 [installed]
Qt and C++ GUI for radare2 reverse engineering framework
- Radare2:核心部件
- Cutter: R2的圖形化前端,使用Qt。當然你也可以使用
r2-agent
打開WebUI。
以下是官方的Radare2/Cutter 比較:
注:其中間的R2Pipe
是一個可以調用 Radare2的 Python 腳本庫。我不是一個 Python 開發者,因此本教程中不會對它加以描述。你可以通過https://www.radare.org/n/r2pipe.html來了解它。
在 Linux 中安裝 Radare2 和 Cutter
你應該可以在 發行版的 軟件包倉庫中找到它們。在 Arch Linux 上,你可以通過以下 pacman
命令來安裝。
sudo pacman -S radare2 radare2-cutter
它們應該位於Arch Linux 的Community 倉庫中,你也可以使用 AUR
來安裝它們,這需要pamac
,yay
等工具。
如果你的發行版倉庫不包含 Radare2 或 Cutter,通過以下命令來從源代碼安裝 Radare2。
git clone https://github.com/radareorg/radare2
cd radare2 ; sys/install.sh
如果遇到問題,嘗試以下命令。
sudo make purge
rm -rf shlr/capstone
git clean -xdf
git reset --hard @~50
sys/install.sh
從 Cutter 的 GitHub 倉庫 安裝它:https://github.com/radareorg/cutter,從https://cutter.re/獲取更多信息,你也可以使用這個倉庫的releases
頁面來獲取二進制包。
在Mac OSX 中安裝 R2 和Cutter
大致的安裝過程和Linux相同。你可能需要Homebrew
MacPorts
等包管理器和命令行開發者工具,它的安裝器可以在CoreServices
文件夾中找到。我不是一個 Mac 用戶,因此本節內容未經實驗,你應該參考 Radare2 和 Cutter 的官方指南。
- 使用
MacPorts
安裝 Radare2 - 使用 以下 Homebrew Cask 命令安裝 Cutter,你也可以下載Cutter的 dmg 文件。
brew cask install cutter
以上是官方的安裝指南,它們位於對應repo的GitHub readme
MarkDown 文件中。
在 Microsoft Windows 中安裝 R2 和 Cutter
我不是一個 Windows 用戶,因此本節內容未經實驗,你應該參考 Radare2 和 Cutter 的官方指南。
- 使用這個 repo 提供的工具來安裝 Radare2。或者直接下載這個 EXE 安裝包。
- 在 Cutter 的
releases
頁面(https://github.com/radareorg/cutter/releases)下載最新的 ZIP 包並安裝。
以上是官方的安裝指南,它們位於對應repo的GitHubreadme
MarkDown 文件中。
在 Android 上安裝
這可能聽起來有些瘋狂,但這完全可能。感謝 Radare2 的Web UI
,你可以在任何一個Web View中使用 Radare2 的圖形界面。使用Termux
等工具,你可以使用Radare 2 的命令行工具。甚至,藉助於 X Server XSDL
和 Termux
,你可以運行 Radare2 Cutter!下圖展示了通過 r2agent
進程的Web 服務器運行的 Radare2 界面。