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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
Android
+關(guān)注
關(guān)注
12文章
3945瀏覽量
127948
原文標(biāo)題:APP基于Frida脫殼
文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Inline Hook Syscall詳解
在安全、性能分析等領(lǐng)域,經(jīng)常會(huì)需要對系統(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
?2454次閱讀
![什么是<b class='flag-5'>HOOK</b>函數(shù)?<b class='flag-5'>HOOK</b>函數(shù)的用途和用法](https://file1.elecfans.com/web2/M00/A4/27/wKgaomUBEkSANxRMAAAmluwuxps702.png)
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下面實(shí)現(xiàn)像windows下的那種hook的功能,不過網(wǎng)上的資料很少(LD_PRELOAD 也可以做類似的事)
發(fā)表于 07-25 07:48
怎樣去使用RT-Thread系統(tǒng)中的Hook功能呢
生成額外代碼允許用戶通過“插入宏的方式”在編譯時(shí)刻精細(xì)控制具體HOOK哪個(gè)位置可以插入任意代碼塊——其中就包括函數(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)識(shí)下Hook 技術(shù)。 Hook技術(shù)是一門廣泛用于計(jì)算機(jī)攻防對抗的技術(shù)。它可以監(jiān)視系統(tǒng)或者進(jìn)程中的各種事件消息,截獲發(fā)往目標(biāo)窗口的消息進(jìn)行處理。 我們
發(fā)表于 09-28 11:12
利用Hook技術(shù)實(shí)現(xiàn)進(jìn)程控制
Windows 系統(tǒng)是基于消息,建立在事件驅(qū)動(dòng)基礎(chǔ)上的操作系統(tǒng)。Hook 是Windows 系統(tǒng)消息處理機(jī)制中的一個(gè)監(jiān)視點(diǎn)。Hook 機(jī)制允許應(yīng)用程序截獲消息并進(jìn)行處理,它為我們實(shí)現(xiàn)進(jìn)程的控制
發(fā)表于 09-12 16:08
?10次下載
導(dǎo)出PCB設(shè)計(jì)軟件坐標(biāo)數(shù)據(jù)的方法
本文將詳細(xì)介紹所有常見PCB設(shè)計(jì)軟件坐標(biāo)數(shù)據(jù)的導(dǎo)出方法及步驟,以給從事相關(guān)工作的工藝技術(shù)人員提供參考。
現(xiàn)代
發(fā)表于 06-13 09:41
?5113次閱讀
![<b class='flag-5'>導(dǎo)出</b>PCB設(shè)計(jì)軟件坐標(biāo)數(shù)據(jù)的<b class='flag-5'>方法</b>](https://file1.elecfans.com//web2/M00/A5/9E/wKgZomUMOUSAVOe4AABZHCAUXDo007.jpg)
Linux下的網(wǎng)絡(luò)HOOK實(shí)現(xiàn)
最近瘋狂的研究Linux的種種功能,也頗有心得,這里講述一下Linux下的Net的Hook,使用net的Hook可以實(shí)現(xiàn)很多很多非常底層的功能
發(fā)表于 05-14 10:27
?5160次閱讀
在嵌入式設(shè)備中使用Malloc Hook的試驗(yàn)
在嵌入式設(shè)備中,計(jì)劃使用malloc hook來進(jìn)行內(nèi)存跟蹤,以便測試程序的內(nèi)存使用。 試驗(yàn)1: 在程序開始,增加了mtrace函數(shù),定義環(huán)境變量MALLOC_TRACE。 發(fā)現(xiàn)了
發(fā)表于 04-02 14:37
?714次閱讀
內(nèi)核級HOOK的幾種實(shí)現(xiàn)方法與應(yīng)用說明
實(shí)現(xiàn)內(nèi)核級HOOK 對于攔截、分析、跟蹤系統(tǒng)內(nèi)核起著致關(guān)重要的作用。實(shí)現(xiàn)的方法不同意味著應(yīng)用側(cè)重點(diǎn)的不同。如想要攔截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é)合
![RTOS操作系統(tǒng)中<b class='flag-5'>HOOK</b>函數(shù)有什么用途?](https://file.elecfans.com/web1/M00/E7/B2/pIYBAGBhSlqAZNVOAAAmluwuxps427.png)
MACSV數(shù)據(jù)庫導(dǎo)出、導(dǎo)入的方法
MACSV數(shù)據(jù)庫導(dǎo)出、導(dǎo)入的方法(現(xiàn)代電源技術(shù)期末考試)-文檔為MACSV數(shù)據(jù)庫導(dǎo)出、導(dǎo)入的方法詳解文檔,是一份不錯(cuò)的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,
發(fā)表于 09-17 15:41
?2次下載
![MACSV數(shù)據(jù)庫<b class='flag-5'>導(dǎo)出</b>、導(dǎo)入的<b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
HOOK函數(shù)概述、用途和用法
在很多操作系統(tǒng)中,都存在這樣一類API函數(shù)接口:HOOK函數(shù)(也叫鉤子函數(shù))。
子類中繼承父類的方法
首先得在父類中創(chuàng)建一個(gè)方法,利用創(chuàng)建的方法的格式void+方法名(){},然后在子類中調(diào)用這個(gè)方法:直接輸入方法名,再按enter,便會(huì)出現(xiàn)
![子類中繼承父類的<b class='flag-5'>方法</b>](https://file1.elecfans.com/web2/M00/81/FD/wKgaomQubAaAByJlAABoJbexQfE473.jpg)
評論