日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scanner怎样回到文件开头_Radare2逆向分析dex/so/二进制等文件的使用方法

發(fā)布時(shí)間:2025/4/16 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scanner怎样回到文件开头_Radare2逆向分析dex/so/二进制等文件的使用方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

git clone https://github.com/radareorg/radare2.git

git pull

r2pm init

r2pm update

sys/install.sh

radare2 -h

rabin2是radare2套件中的一個(gè)工具,主要用來提取二進(jìn)制文件中的信息

rabin2 -qi classes.dex | grep -i -e sms -e bluetooth -e install -e PackageManager -e Datagram -e Telephony -e nfc -e exec

rabin2 -qi ~/gyp/SecurityAnalysis/apk/classes.dex | grep -i -e sms -e bluetooth -e install -e PackageManager -e Datagram -e Telephony -e nfc -e exec

readelf -d libcoser.so?

i開頭的命令主要用來獲取各種信息

i??

a開頭的命令用于分析文件

a??

VV/vv命令進(jìn)入圖形化界面

大寫的VV進(jìn)入圖形化模式(鍵盤h、j、k、l按鍵移動(dòng)圖像)使用p/P切換圖形模式,空格切換文本圖形模式,文本下可以用p切換模式,小寫的vv用來粗略瀏覽函數(shù)信息?

按鍵盤q可以退出圖形化界面,回到shell

首先rabin2加上-I參數(shù)來讓rabin2打印出二進(jìn)制文件的系統(tǒng)屬性、語言、字節(jié)序、框架、以及使用了哪些加固技術(shù)

rabin2 -I 文件名

r2 filename加載文件

r2 文件名

直接使用r2 filename進(jìn)入程序。使用-d選項(xiàng)進(jìn)入調(diào)試模式,輸入!在調(diào)試的時(shí)候可以看到歷史操作記錄

使用ie命令手動(dòng)打印出入口點(diǎn)

aaa分析程序中所有函數(shù),分析前radare2識(shí)別不了函數(shù),分析后就可以正常打印函數(shù)代碼了(pdf打印函數(shù)代碼),aa命令只分析主函數(shù)

aa或者aaa進(jìn)行細(xì)致的分析

分析完成之后,r2會(huì)將所有有用的信息和特定的名字綁定在一起,比如區(qū)段、函數(shù)、符號(hào)、字符串,這些都被稱作'flags',flags被整合進(jìn),一個(gè)flag 是所有類似特征的集合

fs查看所有的flag

fs imports; f

打印出imports下面的信息

為了獲取更多的信息,iz命令可以再列出數(shù)據(jù)段里的字符串?

axt @@ str.*

'axt'命令用來在data/code段里找尋某個(gè)地址相關(guān)的引用

'@@'就像一個(gè)迭代器,用來在地址空間里不斷地匹配后面一系列相關(guān)的命令

'str.*' 是一個(gè)通配符,用來標(biāo)記所有以 'str.'開頭的信息,不光會(huì)列出字符串標(biāo)志,同時(shí)也包括函數(shù)名,找到它們到底在哪里以及何處被調(diào)用。

radare2分析出來哪些函數(shù)

通過afl命令列出所有的函數(shù)。通過v命令進(jìn)入可視化界面。包括流程圖、匯編代碼、函數(shù)、符號(hào)等信息

afl顯示主函數(shù),有時(shí)候不需要分析整個(gè)二進(jìn)制文件,或者有個(gè)函數(shù)radare2沒有識(shí)別出來可以af來分析該函數(shù)

s function跳轉(zhuǎn)到想跳轉(zhuǎn)的位置

s?entry0

指令定位到entry0函數(shù)入口處

pdf查看函數(shù)匯編代碼

pdf輸出反匯編代碼,分析函數(shù)的執(zhí)行流程

pd x打印匯編信息x條

pdf@sym.JNI_OnLoad進(jìn)行跳轉(zhuǎn),自動(dòng)跳轉(zhuǎn)到JNI_OnLoad函數(shù)的反匯編部分

ahi s 是用來設(shè)置字符串特定的偏移地址,@@是一個(gè)迭代器,可以用來接受后面輸入的多個(gè)參數(shù),執(zhí)行完這條命令后,圖形視圖會(huì)自動(dòng)刷新

ood?進(jìn)入調(diào)試模式

VV/vv進(jìn)入圖形化界面

大寫的VV進(jìn)入圖形化模式(鍵盤h、j、k、l按鍵移動(dòng)圖像)使用p/P切換圖形模式,空格切換文本圖形模式,文本下可以用p切換模式,小寫的vv用來粗略瀏覽函數(shù)信息?

"wa xxx"修改匯編指令為xxx

"wa nop;nop;nop;nop;"

px表示打印16進(jìn)制數(shù),默認(rèn)從當(dāng)前位置開始,參數(shù)控制打印的字節(jié)數(shù)

px 10?

pdc反匯編函數(shù)?

afx查看調(diào)用函數(shù)?

?可以查看幫助,這個(gè)工具非常強(qiáng)大,需要多實(shí)踐學(xué)習(xí)?

afl-+jni

s 0x00001d30

pdf?

afl

s 0x000019b8

pdg?

VV @ sym.Java_com_ogaclejapan_smarttablayout_utils_Entry_handleNativeConfig?

pdf @ sym.Java_com_ogaclejapan_smarttablayout_utils_Entry_handleNativeConfig?

afv表示a(分析)f(函數(shù))v(變量), 可以看到局部變量

PEDAGDB插件

PEDA是為GDB設(shè)計(jì)的一個(gè)強(qiáng)大的插件,全稱是Python Exploit Development Assistance for GDB。它提供了很多人性化的功能,比如高亮顯示反匯編代碼、寄存器、內(nèi)存信息,提高了debug的效率。同時(shí),PEDA還為GDB添加了一些實(shí)用的命令,比如checksec可以查看程序開啟了哪些安全機(jī)制等等

pip install peda

git clone https://github.com/longld/peda.git ~/peda

echo "source ~/peda/peda.py" >> ~/.gdbinit

aslr顯示/設(shè)定GDB的ASLR(地址空間配置隨機(jī)加載)設(shè)置?

file libploader.so附加文件

checksec檢查二進(jìn)制文件的各種安全選項(xiàng)

dumpargs函數(shù)將要被調(diào)用時(shí),顯示將要被傳入函數(shù)的所有參數(shù)(默認(rèn)會(huì)在反匯編代碼下方自動(dòng)顯示)

dumprop在給定內(nèi)存范圍中Dump出所有ROP gadgets

PEDA用法總結(jié)

https://blog.csdn.net/SmalOSnail/article/details/53149426

peda的使用

https://www.jianshu.com/p/283b5466684b

總結(jié)

以上是生活随笔為你收集整理的scanner怎样回到文件开头_Radare2逆向分析dex/so/二进制等文件的使用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。