APP基于Frida脱壳
2022-10-16 09:56:57 Author: 哆啦安全(查看原文) 阅读量:46 收藏

1.Hook OpenMemory的导出方法名

适用于Android6、Android7、Android8、Android9的脱壳

/data/lib/libart.sonm libart.so |grep OpenMemory
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起始位置var begin = 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.sonm 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
Android10libdexfile.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-unpackhttps://www.cnblogs.com/wuxianyu/p/14274667.html

3.定制Android10以上系统脱壳

推荐阅读

Frida逆向分析APP实战
Objection动态分析App
Frida Hook的使用方法
Android逆向分析基础(一)
Android逆向分析基础(二)
使用frida-net玩转frida-rpc
内置frida hook到Android系统
Objection高效对APP逆向分析实践
Android10系统内置frida相关工具实战
frida hook so导出或未导出函数的方法
Android APP开发之frida hook自吐算法
零基础培训课程+技术指导服务(技术交流社群)
定制Android系统(干掉Root检测和Frida检测)
Android渗透测试frida-Brida插件加解密实战
使用frida hook对app的常用关键代码进行定位
零基础学编程/学逆向/过检测(frida实战视频课程)
Linux+Windows安装r2Frida环境的配置及使用方法
内置frida-gadget so文件和frida-server可执行文件到系统(Android10)
Android10系统定制配置fridaserver后台进程(Moto Z2 Force机型-libqsap_sdk问题)


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NzUzNzk1Mw==&mid=2247494413&idx=1&sn=d16b3fffdb5cda545cb85336615e3cbd&chksm=ceb8ae43f9cf27550ebb258d4c851c7812d8de8767e0690f56c305009a5f96bb138f2039a73e#rd
如有侵权请联系:admin#unsafe.sh