0x01 前言
一般测试APP都是先设置代理,然后抓包进行测试。但是大多数情况下,抓取的数据包都含有参数校验,一旦修改其中一个参数之后,就会返回签名错误。
例如:
还有的有时间校验,当过去某一时间段后,该数据包就失效了。
因此如果想要去重放或者修改数据包进行FUZZ的话,就要弄清楚其中的加密sign值的算法。
本文以某app老版本为例(仅为技术研究),主要目的是利用Frida进行HOOK进而去获取其api-sign的加密算法。
0x02 环境准备
这里手机采用魅族X4,刷了CM13.0,开启ROOT权限。
APP版本为v3.0.10,下载地址:
https://www.wandoujia.com/apps/cn.soulapp.android/history_v18080100
然后就是Frida环境的准备了。
Frida是一款基于Python + JavaScript 的Hook与调试框架,在AndroidLinuxWindows等平台均能使用。这里我们以Windows来对Android应用程序进行Hook。Frida的官网地址是:https://www.frida.re 。
安装方法也很简单:
pip install frida-tools
手机开启开发者模式,并开启USB调试。
下载frida-server,下载地址为:
http://build.frida.re/frida-snapshot/android/arm/bin/frida-server。
上传到手机
adb push frida-server /data/local/tmp/
添加权限
root@mx4:/ #chmod 777 frida-server
手机上运行frida-server,命令如下:
root@mx4:/ #./data/local/tmp/frida-server
端口转发,电脑上运行如下命令:
adb forward tcp:27042 tcp:27042
环境准备好了,