Frida hook安卓App网络请求入门实操,抓加密参数不再靠猜
最近接了个小活,要分析一个 App 的请求签名逻辑,抓包发现关键参数是加密的,抓包工具里只能看到一堆密文,静态搜代码又被混淆糊了一脸。最后用 Frida 动态 hook 才理清楚,把入门过程记下来给同样卡住的朋友。思路很简单:先 hook 网络库的请求发送入口,把 URL、请求头、请求体在加密前打印出来,再逐步往上追,看这些参数是哪个方法生成的。Frida 脚本用 Java.use 找到类,implementation 替换方法体,里面调原方法顺便把入参打出来。我卡得最久的地方是混淆后的类名每次编译都变,后来改用按方法特征(参数类型和返回值)搜索,一劳永逸。
环境方面踩的坑:手机必须 root 或者用模拟器,Frida server 的版本要和电脑端库版本严格一致,差一个小版本号就连不上,报的错还特别迷惑人。另外不少 App 有反调试,检测到 Frida 就闪退,先用 spawn 模式启动、提前把检测方法 hook 掉,基本都能绕过去。这套流程跑通一次,以后遇到加密参数就不会两眼一抹黑了。
https://www.metk.cn/img/posts/frida_hook.jpg
页:
[1]