百趣云
百趣云的博客
🔖协议分析
App 端登录和 web 端是两个世界前文讲过拼多多 web 端的 anti_content(JS 生成)。App 端的登录态体系完全不同:anti_content 由 native 安全 SDK 生成,登录态和设备深度绑定。本文讲 App 侧的登录态获取与维护。登录方式与协议拼多多 App 的登录方式:手机号+验证码、微信授权、QQ 授权。协议模拟的现实选择是手机号+验证码(微信授权要打通微信的授权链,复杂度翻倍)。登录接口(mtop 风格,以抓包为准):POST https://api.yangkeduo.com/login
Body: mobile=xxx&code=xxx&am
微信网页版的兴衰对逆向的启示微信网页版(wx.qq.com)曾是协议逆向的"黄埔军校"——完整的 web 协议、清晰的同步机制、相对宽松的风控。2017 年后逐步关闭(新号无法登录),但它的协议设计思想至今影响着 IM 逆向的方法论。本文回顾其协议架构,重点讲可迁移的通用知识。网页版协议架构回顾登录流程:1. GET jslogin → 拿 uuid
2. 生成二维码(内容: https://login.weixin.qq.com/l/uuid)
3. GET login?uuid=xxx 轮询 → 200=确认,201=已扫码
4. 确认后
闲鱼 IM 的技术栈闲鱼的消息系统建立在阿里 mtop 体系之上:信令走 mtop HTTP 接口,消息收发走长连接(阿里自研的 ACCS 通道)。这种"HTTP 信令 + 长连接消息"的双通道设计是阿里系 IM 的标准架构(淘宝、1688 同构)。逆向闲鱼 IM 要先分清两条通道的职责:mtop 接口:会话列表、历史消息拉取、发送消息的 HTTP 兜底ACCS 长连接:实时消息推送、在线状态、消息即时下发mtop 侧:会话与历史消息闲鱼消息相关的 mtop 接口(以抓包为准,接口名随版本变):mtop.taobao.idlemessage.* ← 消息相关接口族调用需要完整的 mtop
什么时候需要裸抓 TCPHTTP 抓包工具(Charles/mitmproxy)失效的场景:App 走私有 TCP 长连接(IM、游戏、物联网协议),根本不是 HTTPWebSocket 流量被工具显示得不友好QUIC/UDP 协议(HTTP 工具完全盲区)这时要回到网络层的祖师爷工具:tcpdump 抓包 + Wireshark 分析。抓包:手机流量的三种捕获方式方式一:路由器/热点抓包(最通用)# Mac 开热点,手机连上,直接抓热点网卡
sudo tcpdump -i en0 -w phone.pcap host 手机IP
# 或抓特定端口
sudo tcpdump -i en0 -w
抓包分析的本质是"提问-验证"循环面对一条陌生的加密流量,新手盯着 hex 发呆,老手在做假设-验证的循环:猜一个结构,找证据,错了换下一个假设。本文把这套心法拆成可执行的步骤。第一步:建立流量的"地图"抓到包先别急着看单条,先看全貌:会话结构:这次操作产生了几个请求?顺序是什么?(Charles 的 Sequence 视图)域名分布:api 域名、cdn 域名、埋点域名各是什么?(分清业务流量和噪音)协议类型:HTTP/1.1 还是 H2?明文 json 还是加密体?全貌看完,心里要有张图:哪个请求是核心(业务数据),哪些是配套(鉴权、埋点、心跳)。第二步:找"锚点"——已知信息分析加密流量