z5487693 发表于 2020-8-11 11:32

某狐资讯app的sign加密参数的分析和HOOK

52论坛是学习逆向最开始的论坛。又水了好久,发个帖子冒冒泡!大佬请轻喷。
先抓包,app是用的okhttp3没有混淆的直接用抓了xp的justtrustme插件的模拟器抓包。

抓包结果sign、pid、mid这三个值。pid是个随机值,mid是类似deviceID一样的东西固定死的。我就分析了sign这个值。
然后直接app扔到jadx里面进行搜索

跟包名相关的路径下的sign点进去看看



最终跳转到这了为什么这么肯定是这,因为我搜pid的时候最终也走的这,调用的是e方法。记录下这个java的路径等会儿可以hook一些java的参数看看到底是不是。
然后上ida分析看看native是怎么实现的

导出表搜直接就是静态注册的跳转进去,然后找到有一个md5的关键点(不一定每一个都有这个md5,这个简单所以没好找)

在这个md5之前还有一些操作就是把jstring转cstring然后拼接之类的,忘了保存图片了。
,c语言好的可以自己看,我是比较菜的属于那种感觉像就hook一下然后hexdump一下。



memcpy这些应该是env函数吧,拷贝还是什么的咱也不是很懂。就看这个tranform里面。

这个函数里面就是一些异或了,md5的具体实现就在这里,所以hook点就在这个update。找到它的偏移然后进行hook

这里hexdump打印出来的值keyword=后面应该是编码问题,java层的我也hook输出了一下把关键字和时间戳替换成抓包的进行md5一下。就可以确认了。(对于非标准md5这些算法的so层加密还没学习方向,最近也还在学js逆向!)(在北京的爬虫猿)
大家都努力吧!!感谢论坛各位大佬们的分享!(如有违规麻烦管理动手删掉就行)

1225661221 发表于 2020-8-11 14:13

1225661221 发表于 2020-8-11 14:12
这APP以前做活动,我还有200不给我提,就那么吞了,我也是服了

虽然我看不懂,但还是觉得厉害

z5487693 发表于 2020-8-17 11:22

trustme 发表于 2020-8-16 09:23
还是想问下您在jadx搜"sign"时怎么确定哪行代码是关键位置,我搜"sign"时的结果好多啊。

搜索出来的结果看路径是否包含了包名。优先看有包名的路径

修罗本灭世 发表于 2020-8-11 11:52

有丶东西,受教了

phenix21 发表于 2020-8-11 12:16

感谢分享

hgfty1 发表于 2020-8-11 12:20

虽然没有看懂, 还是拜读了{:17_1060:}

1225661221 发表于 2020-8-11 14:12

这APP以前做活动,我还有200不给我提,就那么吞了,我也是服了

liwei3014a 发表于 2020-8-11 14:43

厉害厉害厉害厉害厉害厉害厉害厉害

小白大侠 发表于 2020-8-11 15:40

人生何处不小明 发表于 2020-8-11 17:25

逆向…我不会,想学怎么学啊

Yingjue 发表于 2020-8-11 17:35

学习了,感谢
页: [1] 2 3
查看完整版本: 某狐资讯app的sign加密参数的分析和HOOK