您好,登錄后才能下訂單哦!
這篇文章主要講解了“Frida脫殼工具怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Frida脫殼工具怎么使用”吧!
現(xiàn)在很多 app
都會對 Frida
進(jìn)行檢測,所以要根據(jù)app的情況來具體使用
殼的種類非常多,可以簡單的分為以下三類:
一代整體型:采用Dex整體加密,動態(tài)加載運(yùn)行的機(jī)制(免費(fèi)類的殼);
二代函數(shù)抽取型:將方法單獨(dú)抽取出來,加密保存,解密執(zhí)行(某加密);
三代VMP、Dex2C:獨(dú)立虛擬機(jī)解釋執(zhí)行。
firda-unpack 原理是利用frida hook libart.so中的OpenMemory方法,拿到內(nèi)存中dex的地址,計(jì)算出dex文件的大小,從內(nèi)存中將dex導(dǎo)出,我們可以查看項(xiàng)目中的 OpenMemory.js 文件中的代碼更清晰直觀地了解。
將 dex
文件并 dump
下來,保存在 data/data/packageName
目錄下
葫蘆娃所寫,脫殼后的dex文件保存在PC端main.py同一目錄下,以包名為文件名
GitHub地址:https://github.com/hluwa/FRIDA-DEXDump<br>
文件頭搜索dex,來脫殼
會搜索 dex
文件并 dump
下來,保存在 data/data/packageName/files
目錄下
寒冰寫的, Frida 版的 Fart, 目前只能在 andorid8 上使用該frida版fart是使用hook的方式實(shí)現(xiàn)的函數(shù)粒度的脫殼,僅僅是對類中的所有函數(shù)進(jìn)行了加載,但依然可以解決絕大多數(shù)的抽取保護(hù)
GitHub地址:https://github.com/hanbinglengyue/FART 下載 frida_fart.zip
即可
解壓 frida_fart.zip
將目錄中的 fart.so
與 fart64.so
推送到 /data/app目錄下
并使用 chmod 777
需要以spawn方式啟動app,等待app進(jìn)入Activity界面后,執(zhí)行fart()函數(shù)即可。如app包名為com.example.test,則
frida -U -f com.example.test -l frida_fart_hook.js --no-pause
Shell<br>_ 復(fù)制_
等待app進(jìn)入主界面,執(zhí)行fart()
高級用法:如果發(fā)現(xiàn)某個(gè)類中的函數(shù)的CodeItem沒有dump下來,可以調(diào)用dump(classname),傳入要處理的類名,完成對該類下的所有函數(shù)體的dump,dump下來的函數(shù)體會追加到bin文件當(dāng)中。
于被動調(diào)用的脫殼修復(fù),由于代碼覆蓋率低,不可能觸發(fā)app中的所有函數(shù)的調(diào)用,因此,修復(fù)的范圍有限。
感謝各位的閱讀,以上就是“Frida脫殼工具怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Frida脫殼工具怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。