现有一 APP ,采用 HTTPS 方式与服务器通讯,需要对该 APP 抓包获得接口。
但是现在问题如下:
用主力机抓包:Android 12 ,安装证书后第三方 APP 默认不信任非系统证书,无法抓包;
用备用机抓包:Android 5.1.1 ,因该接口需要先获得定位数据,而备用机定位十分缓慢,也无法抓包;
Android Studio Emulator:arm 架构的镜像无法启动,该应用无法安装在 x86 架构上。
因此想问问大家有什么别的好的方法吗?
![]() | 1 mynuolr 2022-03-22 16:41:12 +08:00 Root 后把自签加入系统证书。 |
![]() | 2 learningman 2022-03-22 16:44:12 +08:00 用 frida/xposed hook 证书验证的接口,直接 return true |
![]() | 3 DonaldY 2022-03-22 16:47:51 +08:00 charles |
![]() | 4 NjcyNzMzNDQ3 2022-03-22 16:49:13 +08:00 补充#1 下个安卓模拟器,比如网易木木,再带 root 功能,方便自签证书导入 |
![]() | 5 popok 2022-03-22 16:49:31 +08:00 ![]() 现在的安卓系统确实比较麻烦,我也蹲一个可用的方法。 这方面还是 ios 方便,直接证书信任,然后就可以抓了。 |
![]() | 6 DonaldY 2022-03-22 16:49:31 +08:00 Android 确实。。。 |
![]() | 7 dier 2022-03-22 16:54:03 +08:00 Fiddler 在 PC 上做代理也不行吗 |
![]() | 8 tiny1994095 2022-03-22 16:57:58 +08:00 ![]() |
9 LxnChan OP @mynuolr @learningman 不能采用 root 或者框架,会被检测 @NjcyNzMzNDQ3 应用不支持 x86 架构 @dier 要安装证书 @tiny1994095 稍后我看一下 |
![]() | 10 bruce0 2022-03-22 17:07:08 +08:00 忘记从哪个版本开始 Android 抓包变麻烦了, 原因是 app 可以不信任非系统证书,这就需要 root 权限把伪造的证书加入 root ,然后在用 frida 代理抓包 但是有的 app 检测到 root 后就退出,或者检测到代理就退出,有的还只信任 app 内自带的私有证书,这些就很难搞了 https://zhuanlan.zhihu.com/p/46433599 可以参考 |
![]() | 11 ysc3839 2022-03-22 17:09:03 +08:00 via Android SSLUnpinning 2.0 |
![]() | 13 clf 2022-03-22 17:13:34 +08:00 手机虚拟机装 root 的镜像呗 |
14 deplivesb 2022-03-22 17:27:16 +08:00 Xposed |
15 tsanie 2022-03-22 17:29:55 +08:00 实在不行自编译 aosp ,把 mitm 证书内置为系统证书( |
![]() | 16 learningman 2022-03-22 17:30:57 +08:00 @LxnChan #9 root 检测本身也可以被 hook 的,一直不能 root 多束手束脚啊 |
![]() | 17 mxalbert1996 2022-03-22 17:37:39 +08:00 via Android 先用 Magisk 来 root 然后用 https://github.com/Magisk-Modules-Repo/movecert 把用户证书转成系统证书 再用 Shamiko ( https://github.com/LSPosed/LSPosed.github.io/releases) 对特定应用隐藏 root |
18 mxT52CRuqR6o5 2022-03-22 17:42:39 +08:00 via Android 你那应该不是不信任非系统证书,而是有 ssl pinning ,只信任特定的证书 我的建议就是用安卓 5 ,装个 xposed 插件去除 ssl pinning 限制,再找些插件防止 root/xposed 检测 |
19 mxT52CRuqR6o5 2022-03-22 17:43:01 +08:00 via Android 定位速度问题再找一些虚拟定位去解决 |
![]() | 20 libook 2022-03-22 17:51:07 +08:00 买个可解锁的手机(无锁更方便,如 Pixel ),system 挂载成可写之后把证书转 PEM 格式、按命名规则改好名字,放在特定的目录下就可以了,不需要手机持续 root 状态。 当然 root 了也可以,操作更方便一些。 急着用可以找些电脑上用的自带 root 的安卓模拟器,比如夜神模拟器,就是兼容性不是特别好,有时候会闪退。 |
21 LxnChan OP @bruce0 是 7.0 @ysc3839 #11 @mxalbert1996 #17 不能 root @clf 考虑过,但我想作为最后的解决方案 @tsanie 草,这就开始下载源码( @mxT52CRuqR6o5 #19 虚拟定位稍后试一下 |
![]() | 22 Jat001 2022-03-22 18:00:45 +08:00 |
![]() | 23 ch2 2022-03-22 18:02:05 +08:00 ->该应用无法安装在 x86 架构上 装个翻译插件就行了 |
![]() | 25 Zy143L 2022-03-22 18:47:04 +08:00 via Android 安卓 12 使用 Magisk 模块安装根证书 使用 Xposed 模块 JustTrustMe TrustMe 解除固定证书 |
![]() | 26 noahhhh 2022-03-22 18:50:21 +08:00 via Android Android 不是有很多虚拟机吗…太极应该也行吧 |
![]() | 27 chanwang 2022-03-22 19:22:15 +08:00 via Android 电脑开热点抓手机的包不可以吗?抓包不是很简单嘛?当然我说抓的是手机的流量全部包了。还是说要解密数据?这个绕不开证书。抓包整个通讯路径上都可以尝试抓包吧?非要手机上自己抓?路由器上不可以? |
30 skylancer 2022-03-22 20:12:12 +08:00 [现有一 APP ,采用 HTTPS 方式与服务器通讯,需要对该 APP 抓包获得接口。] 我发现都是回贴不看贴的.. |
31 mxT52CRuqR6o5 2022-03-22 20:17:06 +08:00 via Android 如果 app 用了 ssl pinning ,你在那边折腾证书是没用的,这种情况下不 root 就得改 app 了,你说哪个更难操作(都能改 app 了还抓什么包呢) |
32 theqiang 2022-03-22 20:18:07 +08:00 via Android 目前用 lsposed 插件 JustTrustMe/TrustMeAlready + HttpCanary + magiskhide 组合,但是有 root 方案了 |
![]() | 33 imtianx 2022-03-22 21:00:00 +08:00 我记得使用 okhttp 可以自定义代理,这样抓包工具是抓不到的,但是如果连的 wifi ,在路由器上应该可以抓到,但是解密比较麻烦吧。 |
![]() | 34 imtianx 2022-03-22 21:01:06 +08:00 还有 ,root 和 xposed 检测可以自己欺骗过去的 |
![]() | 35 mxalbert1996 2022-03-22 21:06:54 +08:00 via Android @LxnChan 不能 root 就放弃吧,你这个需求没 root 是不可能的。 |
36 wanf3ng 2022-03-22 21:14:55 +08:00 ![]() 下个安卓模拟器,安卓版本选 4.4 (只要 7 以下就行,7 以下可以信任非系统证书) |
37 jpyl0423 2022-03-22 21:14:58 +08:00 装个平行空间 apk ,然后就能用 charles/fiddler 抓包了 不过这个平行空间的版本有要求,好像是某个版本之下,具体不记得了可以搜一下。 |
38 0o0O0o0O0o 2022-03-22 21:26:33 +08:00 via iPhone 1. 用一些免 root 框架,如果被检测,先尝试各种公开的过检测的技巧和插件,再进一步则需要学习分析 2. 带有 ARM 转译的商业模拟器,或者干脆 arm 云真机,如果仍然被 APP 检测,那么可能也需要学习分析和过检测 3. 修改 APP ,重新打包 APK ,由于现在的应用多数有加固,比上述的大概还复杂一些,一般用于需要重新分发的场景,只是抓个包成本太高 总之,这方面的新手如果一定要给自己提前设下机型和免 root 的限制,那对于同等防护级别,要付出的努力也会更多。 |
![]() | 39 cweijan 2022-03-22 22:06:46 +08:00 @mxT52CRuqR6o5 不是的,比如京东就没有 ssl pinning, 而是设置了只信任系统证书 |
40 LxnChan OP @0o0O0o0O0o 倒是提醒我 arm 云真机的问题了,等下问问学校那边还有没有资源 |
41 mydingyan 2022-03-22 23:41:04 +08:00 我项目组原本 APP 加了私有证书,fiddler 抓包抓不了,后来让前端打包 APP 时不加 ssl pinning 就可以抓了。 |
![]() | 42 xuhaoyangx 2022-03-22 23:49:58 +08:00 |
![]() | 43 maskerTUI 2022-03-23 09:16:06 +08:00 装个免 root 框架,像太极 xposed 这种 |
44 ltkun 2022-03-23 09:33:18 +08:00 会检测不能装个屏蔽检测的工具吗 root 了都 还有啥不能干 |
![]() | 45 kingfalse 2022-03-23 09:40:35 +08:00 这不想那不想的,干脆别抓了,不想 root 主力机就用模拟器,mumu,夜神,雷电,完全够用,检测 root 就屏蔽他检测,这些都是可以做到的 |
![]() | 46 kingfalse 2022-03-23 09:41:42 +08:00 除了 Flutter 开发的 app 抓包恶心点外,其他的都好说 |
![]() | 47 HFX3389 2022-03-23 09:58:37 +08:00 话说现在有人出已 root 的抓包机吗:D |
48 serge001 2022-03-23 10:22:10 +08:00 https://github.com/android-hacker/VirtualXposed 不需要 root, 装一个 VirtualXposed ,然后把 app 安装到 VirtualXposed 里 |
![]() | 49 ethusdt 2022-03-23 10:26:02 +08:00 红米 Note10 root 后, 使用 Packet Capture 和 HttpCanary 都不能添加证书.. 不知道啥原因 |
![]() | 51 soulmine 2022-03-23 11:16:51 +08:00 冷知识 安卓 7 之前可以随便装证书 |
![]() | 52 yukiwc 2022-03-23 15:19:18 +08:00 借楼问问,wifi 直连的应用怎么抓数据,fiddler 抓不到 |
![]() | 53 ZeroDu 2022-03-23 15:53:06 +08:00 HttpCanary 貌似 github 上作者删库了 |
54 LxnChan OP |
![]() | 55 MonkeyJon 2022-03-23 17:29:01 +08:00 https://blog.chrxw.com/archives/2020/08/10/1353.html 你试试,把小黑盒这个软件换成你要抓的软件 |
![]() | 57 yolee599 2022-03-24 08:51:22 +08:00 via Android root 后安装面具,是可以隐藏 root 的,隐藏后某钉都检测不到,所有银行 APP 也检测不到 |
![]() | 58 magicdawn 2022-04-23 01:02:24 +08:00 安卓好麻烦... 有没简单点的办法, 现在没 root, 日用机, 没解锁 |
59 qgbcs1 2022-10-09 21:19:42 +08:00 frida.PermissionDeniedError: failed to execute child process “/data/local/tmp/re.frida.server/frida-helper-32” (Bad address) |