Maersk Auto-Booking · Android Reverse Engineering
从 APK 到生产级自动化的全链路逆向与防护绕过能力
以马士基(Maersk)官方 App 为样本,完整演示本公司的 Android 逆向工程能力:静态反编译、Frida 动态 Hook、SSL 证书固定绕过、流量重定向抓包、设备证书/密钥提取、TLS 指纹复刻(OkHttp/Android Chrome)与 Akamai 防护绕过,最终把封闭的移动端接口还原为标准可重用的 API 自动化链路。
明确标注本项目在产品体系中的上下游位置,方便一眼看清每个系统如何互相支撑。
从"看得见"到"可用",把黑盒 App 变成可工程化的接口资产。
反编译 APK 提取 RSA 公钥、接口 Host、Consumer-Key、资源内嵌证书与硬编码配置,建立 App 的"地图"。
运行时 Hook 证书校验与 SSL 调用,绕过证书固定(Certificate Pinning),让中间人代理能解密 HTTPS 流量。
Frida 改写 socket 目标地址 + 关闭证书校验,把 App 流量导向代理,逐接口还原请求结构与认证链路。
复刻 OkHttp / Android Chrome 的 TLS 指纹(JA3/JA4),配合真实或伪造 sensor data,绕过 Akamai Bot Manager 与风控。
越是封闭、越是强风控的企业 App,逆向的第一道墙就越高。
App 内置 Certificate Pinning,常规 Charles/Burp 直接报证书错误,HTTPS 流量完全看不到,是逆向的第一道墙。
证书校验落在 libflutter.so 原生层,普通 Java 层 Hook 无效,必须定位并 Hook 原生函数(GetSockAddr / verify_cert_chain)。
服务端用 TLS 指纹 + sensor data + 行为信号做 Bot 检测,脚本或代理请求极易触发 403 / 429 / 441,账号被冷冻。
证书与密钥提取普遍需要 Root + ADB,内存转储与系统密钥库读取脆弱,且容易触发 App 自身反篡改检测。
查舱/验证接口首次返回 PROSPECTIVE 或 routeValidationsComplete=NO,过早使用会造"假成功",需两步轮询等待后端收敛。
客户端版本升级需同步更新 impersonate 目标与自定义 OkHttp 指纹;海外住宅代理按流量计费,SSL 抖动常被误判为账号故障。
一套可复用的移动端逆向与自动化工程能力
Frida 一键注入 + mitmproxy/Burp 一体化抓包,自动提取 Akamai sensor 数据落盘为 JSON。
Hook SSLContext / X509TrustManager / OkHttp CertificatePinner / libssl,导出客户端与服务端证书。
通过 ADB + Root 提取系统/应用密钥库、扫描证书、转储应用内存定位私钥与凭证。
用 curl_cffi impersonate 模拟 Android Chrome 与 OkHttp 4.x 的 JA3/JA4 指纹,保持会话内一致。
支持真实设备 sensor 与算法伪造 sensor 双模式,配合风控 Cookie 还原服务绕过防护。
从抓包还原登录 OAuth、查询、锁舱到提交订舱的 14+ 接口调用顺序与两步验证时序。
把一次"黑盒抓包"沉淀为可工程复用的标准流程
把一次性的黑盒突破,转化为可重复、可交接的工程资产。
难点不在于"能不能 Hook",而在于把突破稳定、可复用地工程化。
自研流量捕获脚本,自动起 frida-server 并注入流量重定向,免去人工反复配置代理与证书。
会话内固定 JA3/JA4 指纹(Android Chrome / OkHttp 4.x),避免中途切换被风控识别,显著提升通过率。
既支持真实设备采集 sensor,也支持算法伪造,按场景切换,兼顾真实性、成本与稳定性。
死账号/冷冻自动熔断解冻,按代理统计 SSL 错误率并切换,把"网络问题"与"账号问题"解耦。
把技术能力转化为可量化、可复用的业务价值。
该产品的介绍内容已基于内部资料整理上线,以下为后续可继续深化的方向:
浏览贤码智能在其他领域的 AI 产品与解决方案