百趣云 百趣云的博客

👦百趣云

博主
百趣云
3周前
Rewrite 是 Charles 被低估的功能大多数人用 Charles 只看包,其实它的 Rewrite(重写) 功能可以规则化地批量修改请求和响应——改参数、换 host、注 header,不用写一行代码。逆向调试和服务端逻辑测试都靠它。入口:Tools → Rewrite → Enable Rewrite,然后添加规则集。六大规则类型与实战场景1. Modify Header(改请求头)场景:测试接口对 ua 的校验逻辑——把所有请求的 User-Agent 改成指定值:Type: Modify Header Where: Request Match: Name=User-Agent
博主
百趣云
3周前
RSA 在 App 里的典型角色App 里 RSA 几乎不做主加密(太慢),而是两个固定角色:密钥交换:AES 密钥用 RSA 加密传输(网易云 weapi 就是这套)签名:登录凭证、支付参数的防篡改签名(私钥签、公钥验)逆向时遇到 RSA,先判断它是哪种角色——密钥交换要拿"公钥+加密逻辑",签名场景要拿"私钥"(基本拿不到,只能换思路)。公钥的定位方法Java 层:搜特征字符串:"RSA/ECB/PKCS1Padding" ← Cipher 初始化 "-----BEGIN PUBLIC KEY-----" ← PEM 格式公钥 "
博主
百趣云
3周前
为什么要先识别再还原逆向加密代码时,第一步永远是识别算法家族——是标准算法(AES/RSA/SHA)还是自定义算法?标准算法意味着你只需要找密钥,自定义算法才需要还原逻辑。识别靠的不是读代码,是特征常量:密码学算法内部都有固定的数学常量,它们在二进制里像指纹一样独特。AES 的特征常量AES 的核心是 S 盒(SubBytes 替换表),256 字节的固定表:63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0 ...IDA 里搜前几个字节 63 7C 77
博主
百趣云
3周前
扫码登录的本质:一场三方接力扫码登录协议的设计目标是"用已登录的 App 给无登录态的 web 端授权"。参与三方:web 端(展示二维码)、App 端(扫码确认)、服务端(状态仲裁)。整个流程是一场状态机接力:web 生成二维码(含 token) → 轮询状态 ↓ App 扫码 → 解析出 token → 带 App 登录态请求"确认登录" ↓ 服务端确认后 → web 轮询到"已确认" → 换取登录 cookie逆向的关键是搞清楚每个状态的接口和参数。抖音 web 端扫码流程实测第一步:获取二维码GET https://sso.dou
博主
百趣云
3周前
为什么要写插件而不是手动看包mitmproxy 手动看包适合探索,但逆向工程经常需要批量处理:自动解密响应、自动提取 token、自动记录特定接口。这些靠手点不现实——mitmproxy 的插件系统(Python addon)就是干这个的。mitmdump -s myaddon.py --listen-port 8888 # 手机代理指向 8888,所有流量经过你的 Python 代码插件骨架:事件驱动mitmproxy 插件是事件驱动的,常用事件钩子:from mitmproxy import http, ctx class DecryptAddon: def request(se