1.Hook OpenMemory的導(dǎo)出方法名
適用于Android6、Android7、Android8、Android9的脫殼
/data/lib/libart.so nmlibart.so|grepOpenMemory
Android7.1.2 _ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_10OatDexFileEPS9_ Android9.0 _ZN3art7DexFile10OpenMemoryERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEjPNS_6MemMapEPS7_
Interceptor.attach(Module.findExportByName("libart.so", "_ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_10OatDexFileEPS9_"), { onEnter: function (args) { //dex起始位置 var begin = args[1] //修改一下dex起始位置varbegin=this.context.x0 //打印magic console.log("magic : " + Memory.readUtf8String(begin)) //dex fileSize地址 var address = parseInt(begin,16) + 0x20 //dex 大小 var dex_size = Memory.readInt(ptr(address)) console.log("dex_size :" + dex_size) //dump dex到/sdcard/目錄下 var file = new File("/sdcard/xxx.xxx.xxx/" + dex_size + ".dex", "wb") file.write(Memory.readByteArray(begin, dex_size)) file.flush() file.close() }, onLeave: function (retval) { if (retval.toInt32() > 0) { /* do something */ } } });
2.Hook OpenCommon的導(dǎo)出方法名
/data/lib/libart.so nm libart.so |grep OpenCommon
Android8.1.0(方法的簽名) _ZN3art7DexFile10OpenCommonEPKhmRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPKNS_10OatDexFileEbbPS9_PNS0_12VerifyResultE Android9.0(方法的簽名) _ZN3art13DexFileLoader10OpenCommonEPKhjS2_jRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPKNS_10OatDexFileEbbPS9_NS3_10unique_ptrINS_16DexFileContainerENS3_14default_deleteISH_EEEEPNS0_12VerifyResultE
nm libdexfile.so |grep OpenCommon
Android10 libdexfile.so /apex/com.android.runtime/lib/libdexfile.so /apex/com.android.runtime/lib64/libdexfile.so _ZN3art13DexFileLoader10OpenCommonEPKhjS2_jRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPKNS_10OatDexFileEbbPS9_NS3_10unique_ptrINS_16DexFileContainerENS3_14default_deleteISH_EEEEPNS0_12VerifyResultE
https://github.com/chzphoenix/frida-unpack https://www.cnblogs.com/wuxianyu/p/14274667.html
審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Android
+關(guān)注
關(guān)注
12文章
3917瀏覽量
127037
原文標(biāo)題:APP基于Frida脫殼
文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Inline Hook Syscall詳解
在安全、性能分析等領(lǐng)域,經(jīng)常會需要對系統(tǒng)調(diào)用syscall進(jìn)行hook。有些模塊在kernel代碼中已經(jīng)預(yù)先hook,例如syscall trace event。
什么是HOOK函數(shù)?HOOK函數(shù)的用途和用法
市面上絕大多數(shù)操作系統(tǒng),都存在這樣一類API函數(shù)接口:HOOK函數(shù)(也叫鉤子函數(shù))。
發(fā)表于 09-13 09:31
?2055次閱讀
cookies導(dǎo)出方法
cookies導(dǎo)出方法:在ie中選“文件”“導(dǎo)入導(dǎo)出”“導(dǎo)出 cookies”,以后再導(dǎo)入即可。
發(fā)表于 03-18 18:49
linux的類似hook函數(shù)
hook在windows下可以說是知名度相當(dāng)高的一種"高級“技術(shù)想在linux下面實現(xiàn)像windows下的那種hook的功能,不過網(wǎng)上的資料很少(LD_PRELOAD 也可以做類似的事)
發(fā)表于 07-25 07:48
怎樣去使用RT-Thread系統(tǒng)中的Hook功能呢
生成額外代碼允許用戶通過“插入宏的方式”在編譯時刻精細(xì)控制具體HOOK哪個位置可以插入任意代碼塊——其中就包括函數(shù)指針、對普通函數(shù)的調(diào)用等等2、使用方法2.1 總開關(guān)? 在rtconfig.h定義宏開關(guān)
發(fā)表于 06-14 10:34
講講Hook技術(shù)的攻防對抗思路
1、論Hook技術(shù)的攻防對抗 首先,簡單認(rèn)識下Hook 技術(shù)?! ?b class='flag-5'>Hook技術(shù)是一門廣泛用于計算機攻防對抗的技術(shù)。它可以監(jiān)視系統(tǒng)或者進(jìn)程中的各種事件消息,截獲發(fā)往目標(biāo)窗口的消息進(jìn)行處理?! ∥覀?/div>
發(fā)表于 09-28 11:12
利用Hook技術(shù)實現(xiàn)進(jìn)程控制
Windows 系統(tǒng)是基于消息,建立在事件驅(qū)動基礎(chǔ)上的操作系統(tǒng)。Hook 是Windows 系統(tǒng)消息處理機制中的一個監(jiān)視點。Hook 機制允許應(yīng)用程序截獲消息并進(jìn)行處理,它為我們實現(xiàn)進(jìn)程的控制
發(fā)表于 09-12 16:08
?10次下載
導(dǎo)出PCB設(shè)計軟件坐標(biāo)數(shù)據(jù)的方法
本文將詳細(xì)介紹所有常見PCB設(shè)計軟件坐標(biāo)數(shù)據(jù)的導(dǎo)出方法及步驟,以給從事相關(guān)工作的工藝技術(shù)人員提供參考。
現(xiàn)代
發(fā)表于 06-13 09:41
?5025次閱讀
Linux下的網(wǎng)絡(luò)HOOK實現(xiàn)
最近瘋狂的研究Linux的種種功能,也頗有心得,這里講述一下Linux下的Net的Hook,使用net的Hook可以實現(xiàn)很多很多非常底層的功能
發(fā)表于 05-14 10:27
?5116次閱讀
在嵌入式設(shè)備中使用Malloc Hook的試驗
在嵌入式設(shè)備中,計劃使用malloc hook來進(jìn)行內(nèi)存跟蹤,以便測試程序的內(nèi)存使用。 試驗1: 在程序開始,增加了mtrace函數(shù),定義環(huán)境變量MALLOC_TRACE。 發(fā)現(xiàn)了
發(fā)表于 04-02 14:37
?680次閱讀
內(nèi)核級HOOK的幾種實現(xiàn)方法與應(yīng)用說明
實現(xiàn)內(nèi)核級HOOK 對于攔截、分析、跟蹤系統(tǒng)內(nèi)核起著致關(guān)重要的作用。實現(xiàn)的方法不同意味著應(yīng)用側(cè)重點的不同。如想要攔截NATIVE API 那么可能常用的就是HOOKSERVICE TABLE 的方法
發(fā)表于 11-10 17:35
?5次下載
RTOS操作系統(tǒng)中HOOK函數(shù)有什么用途?
在很多操作系統(tǒng)中,都存在這樣一類API(函數(shù)接口):HOOK函數(shù),也叫鉤子函數(shù)。 比如:Windows桌面系統(tǒng)、μC/OS、 FreeRTOS等RTOS中,都可以看見HOOK函數(shù)的存在。 下面結(jié)合
MACSV數(shù)據(jù)庫導(dǎo)出、導(dǎo)入的方法
MACSV數(shù)據(jù)庫導(dǎo)出、導(dǎo)入的方法(現(xiàn)代電源技術(shù)期末考試)-文檔為MACSV數(shù)據(jù)庫導(dǎo)出、導(dǎo)入的方法詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,
發(fā)表于 09-17 15:41
?2次下載
HOOK函數(shù)概述、用途和用法
在很多操作系統(tǒng)中,都存在這樣一類API函數(shù)接口:HOOK函數(shù)(也叫鉤子函數(shù))。
子類中繼承父類的方法
首先得在父類中創(chuàng)建一個方法,利用創(chuàng)建的方法的格式void+方法名(){},然后在子類中調(diào)用這個方法:直接輸入方法名,再按enter,便會出現(xiàn)
評論