Unidbg模拟执行简单版libsgmain.so
这几天一直在处理APP,遇到了libsgmain.so, 问了大佬和找资料后,基于Unidbg的demo跑通了,于是做个简单记录。
- 代码里找不到核心加密接口和类,Frida里也hook不到(如ISecureSignatureComponent接口的实现类,JNICLibrary类),是因为这些代码是动态注册的。如何解决看参考资料1
- libsgmain.so是假so, 本质上是jar, 在jadx里打开就能看到核心加密类,真正的so文件也在这假so里,形如libsgmainso-*.so
- doCommandNative是真正加密的方法,这个方法也用于初始化,至于初始化多少次,看so文件难度了, 我要处理的so相对简单,只有一次初始化,缺啥补啥完事。可以看参考资料2。
- Unidbg真是大杀器,so加密小白福音。
参考资料
- 奋飞佬的某A系电商App x-sign签名分析
- 意识存在感的阿里系某电影票务APP加密参数还原-Unidbg篇