0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Hook OpenMemory的導(dǎo)出方法名

哆啦安全 ? 來源:哆啦安全 ? 作者:哆啦安全 ? 2022-10-17 10:20 ? 次閱讀

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

2728efe2-4cf7-11ed-a3b6-dac502259ad0.png

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)載請注明出處。

收藏 人收藏

    評論

    相關(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。
    的頭像 發(fā)表于 06-16 10:32 ?3158次閱讀

    什么是HOOK函數(shù)?HOOK函數(shù)的用途和用法

    市面上絕大多數(shù)操作系統(tǒng),都存在這樣一類API函數(shù)接口:HOOK函數(shù)(也叫鉤子函數(shù))。
    發(fā)表于 09-13 09:31 ?2055次閱讀
    什么是<b class='flag-5'>HOOK</b>函數(shù)?<b class='flag-5'>HOOK</b>函數(shù)的用途和用法

    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次閱讀
    <b class='flag-5'>導(dǎo)出</b>PCB設(shè)計軟件坐標(biāo)數(shù)據(jù)的<b class='flag-5'>方法</b>

    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é)合
    的頭像 發(fā)表于 03-29 11:28 ?1791次閱讀
    RTOS操作系統(tǒng)中<b class='flag-5'>HOOK</b>函數(shù)有什么用途?

    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次下載
    MACSV數(shù)據(jù)庫<b class='flag-5'>導(dǎo)出</b>、導(dǎo)入的<b class='flag-5'>方法</b>

    HOOK函數(shù)概述、用途和用法

      在很多操作系統(tǒng)中,都存在這樣一類API函數(shù)接口:HOOK函數(shù)(也叫鉤子函數(shù))。
    的頭像 發(fā)表于 04-12 20:08 ?1.4w次閱讀

    子類中繼承父類的方法

    首先得在父類中創(chuàng)建一個方法,利用創(chuàng)建的方法的格式void+方法名(){},然后在子類中調(diào)用這個方法:直接輸入方法名,再按enter,便會出現(xiàn)
    的頭像 發(fā)表于 04-06 14:53 ?1321次閱讀
    子類中繼承父類的<b class='flag-5'>方法</b>