在读正文之前,有几个概念值得先了解一下,方便不做逆向的同学跟上节奏。
什么是"签名"? 你每次打开 Shopee App 浏览商品,App 都会向服务器发请求。为了防止有人用脚本冒充真实用户刷数据,Shopee 在每个请求里加了一串"签名"——可以类比为银行的动态口令。这串签名是 App 内部用一套复杂算法实时计算出来的,服务器收到后会验算,对不上就拒绝。我们的目标就是搞懂这套算法,用 Python 自己算出一模一样的签名。
什么是"逆向工程"? 简单说,就是在没有源代码的情况下,通过分析编译后的程序(二进制文件)来推导出它的内部逻辑。类似于拿到一个上锁的保险箱,不知道密码,但可以通过研究锁的结构来理解它怎么工作。
什么是"补环境"和"纯算法还原"? "补环境"是一种偷懒的方法——搭一个虚拟的手机环境,把 App 中的签名函数直接跑起来让它帮你算。好处是快,坏处是不稳定、依赖很重。"纯算法还原"则是把算法本身完全看懂,用 Python 从头实现,不再依赖任何 App 组件。后者才是我们的最终目标。
AI 在这里扮演什么角色? 我们用 AI(Codex + GPT-5.4)作为分析助手。它帮我们阅读海量的二进制反汇编输出、试验各种算法假设、编写和调试代码。但 AI 并非全知全能——它经常搞错方向,需要人类不断纠正。这个"人机协作"的过程,正是本次分享的重点。

在大模型工具调用(Tool Use)能力日趋成熟的今天,MCP(Model Context Protocol)正在成为连接 AI 与外部世界的标准协议。本文将深入解析一个有趣的开源项目 instagram-mcp——它通过 MCP 协议,让 AI 智能体能够直接搜索 Instagram 用户、浏览帖子和获取详细内容,打通了大语言模型与社交媒体数据之间的桥梁。
在浏览器自动化领域,Playwright 的网络拦截功能一直备受开发者青睐。通过拦截、修改请求和响应,开发者能够实现 Mock 数据、注入脚本、调试 API 等多种高级用途。然而,对于使用 DrissionPage 作为主要自动化工具的开发者来说,长期以来一直缺少一个对等的网络拦截方案。
本文将详细介绍 DrissionRouter——一个模仿 Playwright 网络拦截器 API 设计的 DrissionPage 扩展库,它通过 Chrome DevTools Protocol(CDP)实现了完整的请求拦截、修改、伪造和拒绝功能。
DrissionPage 是一款基于 Python 的浏览器自动化工具,它封装了 Chromium 浏览器的操作。然而,DrissionPage 原生并不直接支持带账号密码认证的代理设置。当我们使用需要认证的代理时,浏览器会弹出认证对话框,导致自动化流程中断。
本文将介绍如何通过 Chromium DevTools Protocol (CDP) 的 Fetch API 来实现代理的账号密码自动认证。