开篇
近期比较闲,于是对该app进行了逆向研究
前两年也对这个app进行了研究,那时候还没有什么加密参数
可以很正常的进行采集
抓包
现在发现连包都抓不到了
于是查看了相关资料
发现该app走的不是正常的http/s协议
于是我hook了传输协议 就可以正常抓包了
逆向分析
抓包后就发现多了好几个加密参数
我抱着试一试的态度
可能服务器端并没有校验这些参数的正确性
但是模拟请求后发现不行
变换参数之后就不能正常请求了
有几个参数是一直会变动的
因此只能进行对app的逆向
然后我用jadx反编译了该app
该app反编译了不少时间
然后我全局搜索这几个关键加密参数
发现一个都找不到
于是我换了其他的反编译工具
继续搜索
还是找不到这些参数
那说明该app java层面可能没有写相关的字符串
但是我们可以去hook一下 StringBuilder这个类
因为最后生成的参数值肯定会经过这个类进行拼接
于是我hook了一下这个类的toString方法
发现确实有某个加密参数的值
那分析起来就方便了
我们只要在这个地方打印一下堆栈
就能找到它的加密处
我hook了前几个堆栈
就找到了加密的方法,还是比较简单的
下面找到了加密点 那逆向起来就方便了
我们可以主动调用该方法,把参数传进去
当然我们也可以还原算法
但是可想而知这样代价就比较大了
所以我后面也没有进行算法的还原
该app的分析也到此为止