今天给大家分享一下如何逆向分析Native
层的加密,整个过程的思路值得大家借鉴,接下来小编给大家上才艺
所需要的设备和环境
设备:
安卓手机(获取root
权限)
抓包:
fiddler + xposed + JustTrustMe
反编译:
jadx-gui
,ida
抓包
这里我们就不用知道这个app
的名称,开启fiddler
抓包后 app
提示连接不到网络,判断是证书验证,开启 xposed
框架,再次请求,成功抓到包,连续请求两次来对比参数变化:
可以看到 x-app-token
这个参数不一样,其他参数都是固定的,先简单看一下x-app-token
的构成:
这样做了一下换行,有没有发现什么规律?
我一眼就看出来第二行是手机的 deviceID
,因为爬虫写多了,这个字符串经常出现,第一行是 32
位,应该就是个md5
, 第三行是个 16
进制数,知道了这些,接下来就来反编译,搜索这个关键字。
反编译
反编译之前先使用ApkScan-PKID
查一下是否有壳,养成好习惯,这个 app
没有加壳