1. 概述
至此xhs的算法基本都扒完了,按道理说unidbg补完,能完全模拟,但是需要补的环境有的多,动态的参数有点麻烦;不过博主还是打算后续用ida来实现,下个app开搞dy。
欢迎有懂其他app的大佬技术交流
2.演示
这里可以看到 mua、gid、s1、sig都出来了,长度也没啥问题
然后我们打印一下mua的明文,感谢一个懂ida大佬提供的内存地址,我们把这个内存地址的参数打印出来看看,发现是有x97的
3.大概流程
找到算法位置和so文件–>unidbg模拟执行
3.1定位算法和so文件位置
这个很简单hook就行,因为博主太穷,用的是模拟器cpu架构是x86的,正常手机是arm的只不过分个32位和64位,所以hook不到so文件,其实是tiny(这里的初始化比较简单,就不细说了)
3.2 unidbg模拟执行
这个算是最难的了,跟shield不是一个级别的,光补环境的代码都2000多行了,这还是我偷懒有一些分支没走的情况下。。。
需要注意的坑,解决反射问题、模拟设备注册接口、内存地址失效、linux的标准库函数缺失…