radare2 常用操作总结
生活随笔
收集整理的這篇文章主要介紹了
radare2 常用操作总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
radare2 簡介
radare2是一個用C語言編寫的跨平臺的二進制分析工具,支持ARM、MIPS、X86等平臺,支持分析多種格式的二進制文件如ELF、Mach-O、Fatmach-O, PE、PE+、 MZ、 COFF等,同時也支持多種操作系統如Windows (since XP)、GNU/Linux、GNU/Darwin、GNU/Hurd、Apple’s 等等,總之就是巨屌。
核心功能:
- 16進制編輯器
- 調試器,可對源來自于磁盤、網絡連接、內核驅動程序、正在運行的進程進行調試
- 匯編、反匯編
- 程序模擬
- 二進制修補
- 數據分析比較、搜索、替換和可視化
結構圖
常用命令總結
本文總結的常用命令只是對我我在實際使用過程中常用操作的總結,僅供參考
官方手冊見:https://book.rada.re/index.html
在radare2總獲取幫助的命令是"?",在命令模式下輸入一個命令并緊跟一個“?”就可以獲取這個命令的幫助信息
基礎命令
- 移動 :s
| s 0x10 | 移動到當前文件 0x10出 | |
| s +4 | 以當前位置為基地址向前移動4字節 | |
| s - | 移動到上一次在的位置 | |
| sf function | 移動到function函數處 | |
| s? | 查看s命令幫助信息 |
-
sections 相關的
iS 打印二進制文件中所有的段 om 打印二進制文件中段的映射 -
打印: p
| px 0x10 | 以16進制格式從當前位置打印0x10個字節,并以byte為單位顯示 | |
| pxw 0x10 | 以16進制格式從當前位置打印0x10個字節,并以word為單位顯示 | |
| pd | 把當前位置開始的數據看做指令編碼反匯編并顯示 | |
| ps | 把當前位置開始的數據看做字符串并打印 | |
| pd @ 0x12006c874 | 臨時跳轉到0x12006c874執行打印,并返回 | |
| p? | 查看p命令幫助信息 |
-
搜索: /
/w test 在當前文件中搜索”test“字符串 /a move fp, sp 匯編move fp, sp,并在當前文件中搜索 /m 在當前文件中搜索magic,可以找出當前二進制文件中包含的其他文件 在搜索命中時自動打印例子:
[0x12006c874]> e cmd.hit = pd 1 [0x12006c874]> /a lui gp, 0x5f Searching 4 bytes in [0x120658830-0x120a83ce0] hits: 0 Searching 4 bytes in [0x1206254a8-0x120658830] hits: 0 Searching 4 bytes in [0x120000000-0x1206154a4] hits: 105 0x120060d28 hit3_0 5f001c3c;-- hit1_0:;-- hit3_0:0x120060d28 5f001c3c lui gp, 0x5f ; '_' 0x120060d80 hit3_1 5f001c3c;-- hit1_1:;-- hit3_1:0x120060d80 5f001c3c lui gp, 0x5f ; '_' 0x120060dc8 hit3_2 5f001c3c;-- hit1_2:;-- hit3_2:0x120060dc8 5f001c3c lui gp, 0x5f ; '_' -
分析: a
radare2在打開一個二進制文件時處于效率考慮,不會默認對二進制文件進行分析,需要用戶手動分析
aaa 對打開的二進制文件進行全面分析 af sym.main 對main函數進行分析 -
二進制信息:i
ie 顯示目標文件entry的信息 ih 顯示目標文件的Headers信息 iI 顯示目標文件二進制相關信息 is 顯示目標文件的所有符號 iS. 顯示當前所在的Sention信息 it 計算目標文件的hashes iM 顯示main函數的地址
可視化模式
radare2支持可視化模式,在可視化模式下很多操作和VIM相同。輸入V進入可視化模式,輸入q退出可視化模式
| p | 切換顯示模式 | |
| Tab | 在當前模式下,切換顯示的信息 | |
| j | 向下滾屏 | |
| k | 向上滾屏 | |
| : | 在可視化模式下使用命令(與VIM類似) | |
| bF | 顯示函數列表 | |
| b1 | 進入bit編輯模式 | |
| 1-9 | 跳轉到調用的函數 | |
| 空格 | 打印函數的調用圖(需要先執行aaa) |
可視化編輯
按c進入cursor mode ,選中要修改的數據,按i進入編輯模式進行修改
總結
以上是生活随笔為你收集整理的radare2 常用操作总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python图片添加好看的中文字体并根据
- 下一篇: bullet HashMap 内存紧密的