某APP参数Sign使用unidbg实现&算法实现

抓个包看看,一个Sign签名校验。上jadx,看看。

一般都是搜索参数名,Sign,或"Sign"。

 某APP参数Sign使用unidbg实现&算法实现_第1张图片

 某APP参数Sign使用unidbg实现&算法实现_第2张图片

 看来是native层加密,so里面执行加密。

frida hook这个getNativeAPI方法看看传入参数是什么,没有frida检测。

 第一个参数是空

 第二个参数是个10位的时间戳

第三个参数是提交参数原始数据,经过gzip和aes加密。

某APP参数Sign使用unidbg实现&算法实现_第3张图片

将so导入IDA看看,导出函数有这个,说明是静态注册方法。

下来上unidbg。。github上有代码,搜unidbg第一个就是,代码下载下来,导入idea跑跑,没报错就欧克。

某APP参数Sign使用unidbg实现&算法实现_第4张图片

下面报错是要补环境,补

某APP参数Sign使用unidbg实现&算法实现_第5张图片

 某APP参数Sign使用unidbg实现&算法实现_第6张图片

某APP参数Sign使用unidbg实现&算法实现_第7张图片

 

 出结果与抓包及hook的一样。

下来看看算法。

倒着看。

某APP参数Sign使用unidbg实现&算法实现_第8张图片

某APP参数Sign使用unidbg实现&算法实现_第9张图片

 这些与我们补环境一样,最后返回v93,往上看,这个sub_23D4函数,点进去看看。

某APP参数Sign使用unidbg实现&算法实现_第10张图片

 MD5字眼,看结果的Sign长度也是md5计算的长度。hook一下MD5_Update函数。

某APP参数Sign使用unidbg实现&算法实现_第11张图片

找一下地址偏移,0x346C。

某APP参数Sign使用unidbg实现&算法实现_第12张图片

 第一下登录,触发函数。与传入的数据进行了拼接,验证一下是不是被魔改了算法。

某APP参数Sign使用unidbg实现&算法实现_第13张图片

 看来没魔改,是md5。

本人新手一枚。

你可能感兴趣的:(python)