示例app: 5LiD6K+75YWN6LS55bCP6K+0
反Frida调试:
使用frida直接结束进程,拿网上通用的反调试脚本,然后使用下魔改的Frida即可绕过反调试
https://github.com/hzzheyang/strongR-frida-android
SSL Pinning:
这个就更简单了,也是网络上找过ssl pinning的脚本,挂上后就可以正常抓包了。
文件就放在最上面了。
看下抓包,看看加密参数是啥,抓不到的,用这个脚本就行
进入正题:
通过frida打打堆栈和全局搜索“sign”,找到了这个地方
一眼看去,就是个哈希算法。str应该就是参数值了,进hash2看看
把libUiControl.so加载到ida分析
在导出函数里面没找到hsah2相关的内容,那应该就是动态注册了,那就进jni_onload分析
通过yang神的脚本或者使用unidbg找到动态注册的方法,在0x93454这个地址
看下来没有过多的加密,就是个简单的"SHA1WithRSA"算法,使用私钥加密,我们只需要找到私钥就行。
网上找份源码,对照着分析下逻辑,就可找到私钥的地方。
用私钥加密生成下结果,ok没什么问题