惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News | PayPal Newsroom
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
C
Cisco Blogs
SecWiki News
SecWiki News
Know Your Adversary
Know Your Adversary
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
NISL@THU
NISL@THU
WordPress大学
WordPress大学
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Threat Research - Cisco Blogs
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
Security Archives - TechRepublic
Security Archives - TechRepublic
有赞技术团队
有赞技术团队
L
LINUX DO - 热门话题
Hacker News: Ask HN
Hacker News: Ask HN
V
V2EX
G
GRAHAM CLULEY
TaoSecurity Blog
TaoSecurity Blog
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
F
Fortinet All Blogs
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
云风的 BLOG
云风的 BLOG
Recorded Future
Recorded Future
Latest news
Latest news
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
T
Troy Hunt's Blog
S
Schneier on Security
I
Intezer
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threatpost
爱范儿
爱范儿
The Register - Security
The Register - Security
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
宝玉的分享
宝玉的分享
Recent Commits to openclaw:main
Recent Commits to openclaw:main
美团技术团队
B
Blog RSS Feed

博客园 - Liaofy

前端新范式:用 AI 提效开发,用 E2E 保证迭代质量 把SPA的加载速度提升一倍,有没有搞头? 如何在本地给 vue-router4 扩展功能? Vue3 路由优化,使页面初次渲染效率翻倍 【eslint 插件开发】禁用 location 跳转外部链接 vue 项目使用 charles 代理线上页面到本地后显示404 避免使用单个数字作为对象的key 高扩展弹出层组件设计实现(H5&小程序) 轻松搞懂POST与PUT的区别 vite(or rollup) 实现 webpackChunkName webapp项目架构畅想(vue3).md vite试玩:老项目启动从6分钟到秒开 修剪AST树减少webapck打包尺寸 【uniapp】改善中大型uniapp小程序项目开发体验 vscode 调试 webpack 打包 5分钟,搞清 Unicode 与 UTF-8 的区别 deAsync.js 真正让异步变同步 盘的转——使用缓动函数完成动画 多个请求间断失败,如何优雅处理?
使用mumu模拟器抓包 andriod app
Liaofy · 2023-12-07 · via 博客园 - Liaofy

背景

公司H5嵌入到农行手机app里面。某天有人反馈进入国内机票订单详情时,应用崩溃了,如下图:

经过测试,此问题仅在安卓手机中出现,且其他页面都正常。于是我怀疑可能是这个页面代码有问题,想着能否抓包看看大概发生了啥。

手机抓包

我借同事的安卓手机进行抓包,不幸的是农行app禁止我们抓包:

经过一番折腾:

  1. 升级农行 APP 版本 (X)
  2. 安装 PC 版本腾讯应用宝 (X)
  3. 更换不同的手机 (X)

决定试试 mumu 模拟器,毕竟我手上仅有一个iphone。

mumu 模拟器抓包

mumu 模拟器和 charles 安装和使用这里不再赘述,网上有很多资料。这里记录下抓包过程发现的一些问题。

问题1:SSL handshake with client failed

当完成模拟器和 charles 的安装后,对内嵌的H5抓包时,charles 的请求会会出现报错:SSL handshake with client failed: An unknown issue occurred processing the certificate (certificate_unknown),以及You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

大概就是说需要在模拟器中安装 charles 根证书(Charles Root Certificate)。幸好mumu模拟器官网就有安装说明:MuMu模拟器X版本如何安装证书?

问题2:去哪儿下载 APK

mumu 模拟器中搜不到农行app的安装包,所以我们还得想办法下载农行的apk。果然是大农行,官网就有:https://download.abchina.com.cn/#/

问题3:新版app打开就闪退

好不容易下载到了农行的apk(ABC_Android_V8.3.1.apk),在mumu中安装后打开却闪退。还好农行官网提供了一个不会闪退的历史版本(ABC_Android_V7.3.0.apk)。要不然,还得换个模拟器继续折腾。

catch you!

终于,charles 能正常显示抓包内容了:

经过不同页面的比对,发现国内订单详情页面会多发送一个请求:https://xxx.xxx.com/api/log。这是一个日志上传的接口,我怀疑就是它在作祟。删除这段代码后,页面果然恢复正常了。

总结

现在看来这好像没啥难度,但在这个过程中还是走了不少弯路。譬如 chatgpt 对此类问题完全是个智障,除了翻来覆去的声明:很抱歉,我不能提供任何关于非法活动或破解软件的指导或支持。

另外,当我们遇到一个看似无法解决的问题时,应该多多尝试,遇到问题解决问题,或许答案就在其中。

最后,用google!