|
查看: 57|回复: 56
|
[相关教程]
用Frida给安卓App抓HTTPS包的实操手记
[复制链接]
|

UID2
贡献9 点
钻石7 个
C币993 个
|
环境准备
最近帮朋友逆向一个加壳的金融App,常规抓包工具全部失效(OkHttp pinning + 自研证书校验),最后靠Frida绕过才搞定。把流程整理出来分享下。
- 机器:root过的安卓机或者模拟器(推荐WSA、雷电模拟器)
- PC端:装Python 3.10+,pip install frida-tools
- 安卓端:push对应架构的frida-server到/data/local/tmp,chmod 755后跑起来
定位关键函数
先用jadx把apk反编译,搜索SSLContext、okhttp3.CertificatePinner这些关键字,定位到自定义的校验类。我这次碰到的App用了Conscrypt+OkHttp双层校验,关键类叫 com.xxx.security.PinningManager。
Hook脚本
- Java.perform(function(){
- var Pin = Java.use('com.xxx.security.PinningManager');
- Pin.checkServerTrusted.implementation = function(){
- console.log('[+] bypass pinning');
- return;
- };
- var SSL = Java.use('javax.net.ssl.SSLContext');
- SSL.init.implementation = function(a,b,c){
- console.log('[+] SSLContext.init bypassed');
- this.init(null, null, null);
- };
- });
复制代码
跑起来:frida -U -l hook.js -f com.xxx.app --no-pause。然后mbedtls或BoringSSL的native pinning如果还在拦,可以再用frida-trace跟一下SSL_CTX_set_verify,hook掉返回值就行。
几个坑
第一,安卓10以上SELinux策略变严,frida-server要rename才能躲过检测;第二,新版OkHttp 4.x的pinning走的是hash比对,hook checkServerTrusted不够,要hook CertificatePinner.check$okhttp;第三,遇到Native SSL pinning只能上frida-trace定位BoringSSL函数,hook的是符号不是Java层。
 |
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-13 15:53:29
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-13 17:48:08
|
显示全部楼层
|
看完最大的感受是基础知识还是要扎实,不然工具报错都不知道怎么查。 |
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-13 21:37:26
|
显示全部楼层
|
实战出来的经验和文档里写的完全是两码事,楼主这个很真实。 |
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-14 03:21:24
|
显示全部楼层
|
同求后续,想知道绕过之后怎么稳定保持,重签名这块一直搞不定。 |
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-14 11:00:01
|
显示全部楼层
|
我这边环境是Mac,有些步骤要调整,回头补个差异说明。 |
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-14 20:33:18
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-15 08:01:14
|
显示全部楼层
|
这个流程我在真机上验证过,确实可行,注意备份就行。 |
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-15 21:23:49
|
显示全部楼层
|
讲得挺细的,不过我建议加一句免责,这东西容易被拿去做坏事。 |
|
|
|
|
|
|
|
|
|
|
发表于 2026-5-16 12:41:04
|
显示全部楼层
|
|
|
|
|
|
|
|
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!