前言
今天来分析一下某会员制商店app的接口加密参数,主要目的是探索学习app接口的加解密机制。仅供学习,禁止用作其他用途。
抓包
从抓包结果来看,和反编译分析,st为最终加密参数。
反编译
我们这里直接就给出加密调用的方法,由此可以看出该算法采用了natave算法,将so拖进IDA pro进行分析
so加密
由图可知加密方式为md5
因此需要确认md5的盐,即 off_7C1FC 的值
查找其赋值地方
为aes-cbc解密,密文和iv由java方法传入
md5盐:aes-cbc解密
aes-cbc:密文为response.headers的ssk参数,iv为 siv 参数 key为:dword_7C1F0
参数key:dword_7C1F0
直接hook get_key方法即可获得key值
总结
1.由请求返回的密文和iv,结合逆向得到的key,进行aes-cbc解密,解密结果为md5的盐
2.各项参数拼接成字符串进行md5加密
最终加密参数为:
字符串:timetamp+data+n+auth_token+md5盐 进行md5加密
md5盐:aes-cbc解密