查看: 57|回复: 56

[相关教程] 用Frida给安卓App抓HTTPS包的实操手记

[复制链接]

96

主题

5

回帖

951

积分

UID
2
贡献
9 点
钻石
7 个
C币
993 个
发表于 2026-5-12 00:54:56 | 显示全部楼层 |阅读模式
环境准备

最近帮朋友逆向一个加壳的金融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脚本
  1. Java.perform(function(){
  2.     var Pin = Java.use('com.xxx.security.PinningManager');
  3.     Pin.checkServerTrusted.implementation = function(){
  4.         console.log('[+] bypass pinning');
  5.         return;
  6.     };
  7.     var SSL = Java.use('javax.net.ssl.SSLContext');
  8.     SSL.init.implementation = function(a,b,c){
  9.         console.log('[+] SSLContext.init bypassed');
  10.         this.init(null, null, null);
  11.     };
  12. });
复制代码

跑起来: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、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
回复

使用道具 举报

0

主题

373

回帖

38

积分

UID
426725
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-5-13 15:53:29 | 显示全部楼层
这篇干货,比那些只有命令没有解释的强太多了。
回复

使用道具 举报

0

主题

390

回帖

45

积分

UID
481551
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-5-13 17:48:08 | 显示全部楼层
看完最大的感受是基础知识还是要扎实,不然工具报错都不知道怎么查。
回复

使用道具 举报

0

主题

347

回帖

39

积分

UID
269140
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-5-13 21:37:26 | 显示全部楼层
实战出来的经验和文档里写的完全是两码事,楼主这个很真实。
回复

使用道具 举报

0

主题

350

回帖

0

积分

UID
625795
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-5-14 03:21:24 | 显示全部楼层
同求后续,想知道绕过之后怎么稳定保持,重签名这块一直搞不定。
回复

使用道具 举报

0

主题

383

回帖

0

积分

UID
382547
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-5-14 11:00:01 | 显示全部楼层
我这边环境是Mac,有些步骤要调整,回头补个差异说明。
回复

使用道具 举报

0

主题

354

回帖

44

积分

UID
839461
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-5-14 20:33:18 | 显示全部楼层
试了下你说的第二种方法,成功率更高,推荐。
回复

使用道具 举报

0

主题

366

回帖

61

积分

UID
172788
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-5-15 08:01:14 | 显示全部楼层
这个流程我在真机上验证过,确实可行,注意备份就行。
回复

使用道具 举报

0

主题

361

回帖

0

积分

UID
147732
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-5-15 21:23:49 | 显示全部楼层
讲得挺细的,不过我建议加一句免责,这东西容易被拿去做坏事。
回复

使用道具 举报

0

主题

355

回帖

45

积分

UID
736806
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-5-16 12:41:04 | 显示全部楼层
这篇质量很高,建议加精。
回复

使用道具 举报

温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ客服返回顶部