0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Hook OpenMemory的导出方法名

哆啦安全 来源:哆啦安全 作者:哆啦安全 2022-10-17 10:20 次阅读

1.Hook OpenMemory的导出方法名

适用于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的导出方法名

/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
审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3937

    浏览量

    127425

原文标题:APP基于Frida脱壳

文章出处:【微信号:哆啦安全,微信公众号:哆啦安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Inline Hook Syscall详解

    在安全、性能分析等领域,经常会需要对系统调用syscall进行hook。有些模块在kernel代码中已经预先hook,例如syscall trace event。
    的头像 发表于 06-16 10:32 3219次阅读

    什么是HOOK函数?HOOK函数的用途和用法

    市面上绝大多数操作系统,都存在这样一类API函数接口:HOOK函数(也叫钩子函数)。
    发表于 09-13 09:31 2321次阅读
    什么是<b class='flag-5'>HOOK</b>函数?<b class='flag-5'>HOOK</b>函数的用途和用法

    cookies导出方法

    cookies导出方法:在ie中选“文件”“导入导出”“导出 cookies”,以后再导入即可。
    发表于 03-18 18:49

    linux的类似hook函数

    hook在windows下可以说是知名度相当高的一种"高级“技术想在linux下面实现像windows下的那种hook的功能,不过网上的资料很少(LD_PRELOAD 也可以做类似的事)
    发表于 07-25 07:48

    怎样去使用RT-Thread系统中的Hook功能呢

    生成额外代码允许用户通过“插入宏的方式”在编译时刻精细控制具体HOOK哪个位置可以插入任意代码块——其中就包括函数指针、对普通函数的调用等等2、使用方法2.1 总开关​ 在rtconfig.h定义宏开关
    发表于 06-14 10:34

    讲讲Hook技术的攻防对抗思路

    1、论Hook技术的攻防对抗  首先,简单认识下Hook 技术。  Hook技术是一门广泛用于计算机攻防对抗的技术。它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息进行处理。  我们
    发表于 09-28 11:12

    利用Hook技术实现进程控制

    Windows 系统是基于消息,建立在事件驱动基础上的操作系统。Hook 是Windows 系统消息处理机制中的一个监视点。Hook 机制允许应用程序截获消息并进行处理,它为我们实现进程的控制
    发表于 09-12 16:08 10次下载

    导出PCB设计软件坐标数据的方法

    本文将详细介绍所有常见PCB设计软件坐标数据的导出方法及步骤,以给从事相关工作的工艺技术人员提供参考。 现代
    发表于 06-13 09:41 5084次阅读
    <b class='flag-5'>导出</b>PCB设计软件坐标数据的<b class='flag-5'>方法</b>

    Linux下的网络HOOK实现

    最近疯狂的研究Linux的种种功能,也颇有心得,这里讲述一下Linux下的Net的Hook,使用net的Hook可以实现很多很多非常底层的功能
    发表于 05-14 10:27 5148次阅读

    在嵌入式设备中使用Malloc Hook的试验

    在嵌入式设备中,计划使用malloc hook来进行内存跟踪,以便测试程序的内存使用。 试验1: 在程序开始,增加了mtrace函数,定义环境变量MALLOC_TRACE。 发现了
    发表于 04-02 14:37 697次阅读

    内核级HOOK的几种实现方法与应用说明

    实现内核级HOOK 对于拦截、分析、跟踪系统内核起着致关重要的作用。实现的方法不同意味着应用侧重点的不同。如想要拦截NATIVE API 那么可能常用的就是HOOKSERVICE TABLE 的方法
    发表于 11-10 17:35 5次下载

    RTOS操作系统中HOOK函数有什么用途?

    在很多操作系统中,都存在这样一类API(函数接口):HOOK函数,也叫钩子函数。 比如:Windows桌面系统、µC/OS、 FreeRTOS等RTOS中,都可以看见HOOK函数的存在。 下面结合
    的头像 发表于 03-29 11:28 1828次阅读
    RTOS操作系统中<b class='flag-5'>HOOK</b>函数有什么用途?

    MACSV数据库导出、导入的方法

    MACSV数据库导出、导入的方法(现代电源技术期末考试)-文档为MACSV数据库导出、导入的方法详解文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,
    发表于 09-17 15:41 2次下载
    MACSV数据库<b class='flag-5'>导出</b>、导入的<b class='flag-5'>方法</b>

    HOOK函数概述、用途和用法

      在很多操作系统中,都存在这样一类API函数接口:HOOK函数(也叫钩子函数)。
    的头像 发表于 04-12 20:08 1.4w次阅读

    子类中继承父类的方法

    首先得在父类中创建一个方法,利用创建的方法的格式void+方法名(){},然后在子类中调用这个方法:直接输入方法名,再按enter,便会出现
    的头像 发表于 04-06 14:53 1414次阅读
    子类中继承父类的<b class='flag-5'>方法</b>