某某中QH逆向分析

目录

1.抓包,确认需要逆向的参数

2.通过jadx反编译

3.使用frida破壳

4.使用可以嗅探加密的工具进行加密值的逆推

5.总结


1.抓包,确认需要逆向的参数

通过不同栏目的接口抓包,得出结论:

时间戳:

tmtimestamp1722239449559

不变的参数

tmrandomnum80f5u2uhef5o37nf

需要逆向:

tmencryptkeye8d9ceb8a770b35ec58142ed16ce3fa9
tm_encrypt_dataFnSHDTIf012UFMdp11XAnW5gG4x9x.......

2.通过jadx反编译

可以看出,该apk妥妥的360加固

3.使用frida破壳

小编这里使用frida抓了4次内存中的包,在拖入jadx后没有一个可以搜索到加密字段或者url路径的,只有两种可能,一是被混淆了,二是破壳不成功。

4.使用可以嗅探加密的工具进行加密值的逆推

4.1 首先搜索tm_encrypt_data的值,可以得到是一个AES-CBC的加密

4.2 这里出现了新的值 key和iv,通过再次的发请求抓加密,key和iv是变化的,也就是说现在加密参数多了key和iv。

这里对key和iv进行逆推,得出结论:

key = md5_encrypt(to_base64(headers['tmtimestamp']) + md5_encrypt((headers['tmrandomnum'])))[:16].encode()
iv = md5_encrypt(to_base64(headers['tmrandomnum']) + md5_encrypt((headers['tmtimestamp'])))[:16].encode()

4.3同理对tmencryptkey参数逆推

headers['tmencryptkey'] = md5_encrypt(to_base64(md5_encrypt((headers['tmtimestamp'])))[:-1]+ "3ZDNmcmU5ZzVmY210aTN57d3fre9g5fcmti3y")

至此所有参数的加解密逻辑已经完成!!!

5.总结

对于棘手的app,apk逆向开发时间>>其数据价值,考虑工具解决。这个app也是将base64以及掐头去尾的小操作玩到了极致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值