某APP的sign分析

1.charles抓包图
在这里插入图片描述
很明显这里面要分析的就是这个p_sign,那么直接把APK扔jadx看看,果然没那么简单加壳了还是某数字企业壳,这下难度增高了、这里省略脱壳的步骤。数字企业壳懂得都懂不可能全部脱下来的只能用哪些类就脱哪些了。略微麻烦点。

2.寻找sign如何生成的
这里直接通过p_sign是很难搜索到对应代码块的,这里大概尝试了N种方法都没有找到有价值的信息。想着通过url的地址去找对应的发请求的位置是不是可以。于是通过搜索url路径找到了一个类。
在这里插入图片描述
在这里插入图片描述
通过Hook AppUrlConstant类的getAPPDomain方法找到、然后打印堆栈信息找到跟这个方法相关的一些类,截图如下:
在这里插入图片描述
那么接下来就从图上这几个类分析了,最终定位在BaseRequest这个类,在这个类里找到了我们需要分析的p_sign,下面的事情就简单了看看它是怎么生成的了
在这里插入图片描述
在这里插入图片描述
这是具体的加密方法,没啥难度了。

frida hook下入参
在这里插入图片描述
D291A30K cityid 430100 kw 宝马X5 lat28.233212lon112.958713 p_appid price.android p_appversion7.4.5 p_chanel tecentmarket p_deviceid 0ac783fa_2b73_4185_871c_84c380da38d7 p_osversion 10 p_timestamp 1649402430107 type 0 D291A30K
基本上一目了然就是把appKey和请求参数加固定参数拼接起来做MD5运算 然后在对md5结果做一些处理。

猜你喜欢

转载自blog.csdn.net/weixin_50894429/article/details/126879654