浅谈安卓逆向协议(二)- 抖音,皮皮虾

文章仅提供思路,千里之行,还要靠各位自己努力,不喜勿看。

抖音和皮皮虾同出师门,所以这里以抖音为主,其实是一样的方法。

抖音安卓协议当前分为两个版本老版本as cp mas和新版本as cp mas X-Gorgon ,

我们浅谈第一个版本,其实第二个版本如果你掌握了逆向操作,一样能抠出来,对于我来说老版本刚刚好够用,过一阵子可能要弄新版本。

jdax搜索"as="

浅谈安卓逆向协议(二)- 抖音,皮皮虾_第1张图片

通过代码可以发现,他们是通过native层 UserInfo.getUserInfo这个native层函数获取到userInfo,然后计算出as、mas、cp

浅谈安卓逆向协议(二)- 抖音,皮皮虾_第2张图片

抖音走过的坑,我之前怀疑libcms.so是不是这个 native 层 getUserInfo所在的so,一直无法确定。最后了解到它是onload,动态

RegisterNatives。通过inline_hook,确定了它的基址。

浅谈安卓逆向协议(二)- 抖音,皮皮虾_第3张图片

当然在getUserInfo之前,还调用了两个初始化native层函数setAppId和initUser。具体可以HOOK看到赋值。

 

抖音native我没跟进去,因为感觉没必要,我刚好够用。

最后拿到签名的方式有很多例如,1:xposed的hook,2:嵌入SO调用native层函数,3:unicorn模拟arm中调用函数,4:Ida pro 逆向汇编翻译成C++等。


android逆向交流QQ群:290081995,这个行业比较封闭,让我们共同进步。转载请保留版权。


 

你可能感兴趣的:(android)