分享给新手的逆向app思路

记一次逆向app之旅,希望可以给新手带来些思路(大佬可以直接关闭推出了...)

1.拿到一款app,首先抓包分析

分享给新手的逆向app思路

可以看到请求头是加密的。可以尝试着用base64解一下,如果解不出来,猜想是aes或者des加密

2. 接下来分析分析apk

使用jadx打开apk,发现其中有腾讯加固

分享给新手的逆向app思路

这个时候不要想着硬怼。脱壳啥的有的弄,后面的方案不行了,到了不得不硬怼的时候,再干它。

 

我们先尝试着降低版本,看下低版本有没有加固什么的,如果没有,岂不美哉?

但是降版本也是有技巧的。

分享给新手的逆向app思路

我们发现从4.6.8,apk体积增加了一倍,和最新版本体积差不多大,应该是从4.6.8开始使用的加固的。

那我们就使用它没有加固的版本4.6.7去尝试一下。

使用jadx打开旧版apk,发现果然没有加固

分享给新手的逆向app思路

一目了然的感觉岂不美哉。

这个时候别高兴得太早,有可能别人升级加固过了,接口api什么的都变了。接下来我们把旧版apk装到手机上,继续抓包,观察接口,发现接口与新版本一致,且请求参数加密也差不多。

这个时候,我们全局搜索刚才url里的关键字encrypt=1

分享给新手的逆向app思路

可以找到这处代码。我们发现str2肯定是经过加密了。这个时候,我们只需要hook一下desEncrypt这个函数即可。

分享给新手的逆向app思路

 

部分frida hook代码

分享给新手的逆向app思路

 

结果

分享给新手的逆向app思路

拿到这个结果去和抓包工具中的结果比对一下,是否一致

分享给新手的逆向app思路

 

结果发现一模一样。

到这里,整个app就分析结束了。