安卓逆向之oppo应用商店sign算法分析
实验室最近想要分析下oppo软件商店的sign协议写爬虫,记录下分析的流程,比较简单。
应用商店的搜索、详情页以及类别请求用的sign的构成与加密方式都相同:
反编译搜索关键字段:
可以看到最后的加密方法为HashUtil.md5Hex,那么参数肯定是加密前的明文了,对md5Hex进行hook:
得到加密前的明文:
Sign字段构成:标黄部分为固定值,绿色部分为GET请求Header中ocs字段,为设备信息不同设备不一样,蓝色部分为Header中t字段,固定部分。红色部分为Header中id字段,设备IMEI号码。紫色部分为查询的url,keyword为搜索字。之后蓝色字段为前面ocs字段到url的string的length()值。之后为固定字段。
加密方法:先将上述字符串md5加密,再转换为十六进制。加密方法如下:
hook结果: