app测试学习log-数据包加解密
app测试学习log-数据包加解密
此前没接触过这一块,不过这玩意还有点意思,虽然不是很喜欢java,不过AI不会讨厌
安装jadx
brew install jadx
安装frida and tools
# frida和tools版本要匹配,一个高一个低tools好像会装不上,默认不指定版本全部最新就好
pip3 install frida
pip3 install frida-tools
安卓模拟器安装frida-server
我这里用MUMU,在
https://github.com/frida/frida/releases
下载和模拟器、frida对应的server版本, 然后把文件解压后copy进去,用adb push或者模拟器的share都可以
然后给一下执行权限,直接运行

mac这边看一下进程,有就没问题

jadx-gui
最简单的情况下,开jadx-gui然后把apk丢进去
全局搜decrypt或者搜api接口路径
找到加解密函数,我这里是DES

确定函数之后写个文件,代码照搬的,参考嗨嗨安全

hook
开frida
frida -U -f apk包名 -l 代码文件
能拿到DES加解密密钥
配置burp - autoDecoder
安卓模拟器添加burp证书
openssl x509 -inform DER -in ../../Downloads/cacert.der -out cacert.pemhash=$(openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -n 1)new_hash="${hash}.0"mv ./cacert.pem "$new_hash" 25-07-11 - 20:18:39adb push "$new_hash" /system/etc/security/cacerts/

然后在安卓上的网络设置中添加代理ip,指向mac的burp(记得改监听ip)
这时候就能抓包了
autoDecoder插件配置
这插件挺方便的, 地址
https://github.com/f0ng/autoDecoder
安装之后,先看一下正常数据包的格式

请求体中有个json参数带着des加密数据,而响应体就没有,而是直接des数据
插件配置,密文关键字得设置一下,不然会二次加密

由于请求体的des数据上是json参数带着,所以需要配置re把它匹配出来

