某狐资讯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:12
这APP以前做活动,我还有200不给我提,就那么吞了,我也是服了
虽然我看不懂,但还是觉得厉害 trustme 发表于 2020-8-16 09:23
还是想问下您在jadx搜"sign"时怎么确定哪行代码是关键位置,我搜"sign"时的结果好多啊。
搜索出来的结果看路径是否包含了包名。优先看有包名的路径 有丶东西,受教了 感谢分享 虽然没有看懂, 还是拜读了{:17_1060:} 这APP以前做活动,我还有200不给我提,就那么吞了,我也是服了 厉害厉害厉害厉害厉害厉害厉害厉害 逆向…我不会,想学怎么学啊 学习了,感谢