论坛首页 移动安全专区 阅读主题

某宝签名加密的unidbg模拟

258 浏览 15 回复
#1 楼主 2026-06-01 21:09:12
经过2周的努力,终于模拟执行成功啦,好开心,第一次有unidbg。 哈哈哈哈,允许我嘚瑟一下~~~~  
过程就不一一叙述了,说说中间遇到的问题和解决方式吧。本来只是想抓包,但是发现好多包抓不到,没办法通过代理加charles直接抓到包,然后定位发送的位置。上面可以拿到请求的内容,到这步后,就只能发现接下来的内容是请求的native方法。
那就只能JNI导出对应的函数,看看是关联到哪个so了。通过直接拿出jni后,发现这个so好像是个假的,开始我并没有发现,就感觉是系统包,但是系统的不可能让三方APP做native,  所以判断是假的,那怎么办?在这我弄了1天,也没找到办法。
然后查了下AI 有什么方式可以拿到开始的注册模块。经过各种查资料。终于找到了解决方式。
这里只给出关键代码。找到这个so后,发现还是没办法入手,就只能在代码层打印请求了,但是拿不到body。就很恶心了。既然有了请求体,那我怎么才能拿到response Body?
我选择直接拿到加密的方式,这样就可以自己写api接口了,直接看结果,也可以学习下逆向(学习了很久,但是没有实战个一个app,都是用demo,没有成就感)接下来是查找加密的位置。主要就是找在哪一步做的加密。最后找到xx.glg 
打印
发现了对应的加密内容。继续跟就发现它是通过一个接口调用的方法,没有找到实现类。
IUnifiedSecurityComponent考虑有两个可能,1、apk的内容不完整,2、使用的动态代理。里面的关键是这个f字段,那就想办法打印出这个结果。
还真是,这个$Proxy24 肯定是个代理对象了,那怎么办呢?使用frida dump出内存中的所有dex。
终于有关于 IUnifiedSecurityComponent 这个类的信息了。这个方法里面有对应的信息,看起来是个插件的加载。 
然后就看到了这个。找到对应的方法后,还是JNI查找地址。
拉取到这个libsgmainso-xxxx.xx.x.so
尝试IDA打开,找到对应的位置。里面有大量的间接跳转,尝试修复了几个,不想搞了。 转换下思路,我只要能签名就可以了,那就模拟执行吧。查到unidbg,下载 unidbg ,跑demo , 嗯~~~~    之前没搞过,学习 2天。.......... 


回复或点赞可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-287899.htm
‹ 上一页 1 2 下一页 ›

请登录后参与讨论

立即登录 注册账号