百趣云
百趣云的博客
快手扫码登录的特点:双端协议分离快手 web 端(www.kuaishou.com)的扫码登录走 passport 体系,但和抖音/B站不同,快手的二维码内容不是 URL 而是自定义文本,且确认环节的风控参数更多。整体流程同构,细节有坑。流程拆解第一步:获取二维码POST https://passport.kuaishou.com/.../qrcode/generate (或 GET,以抓包为准)返回二维码内容串和 qrToken(有的版本叫 sid/token)。二维码内容形如 kuaishou://scanlogin?token=xxx——快手 App 扫码后解析这个伪协议。第二步:轮询
为什么 iOS 逆向第一步是砸壳App Store 下载的 IPA 里,二进制被苹果的 FairPlay DRM 加密——直接拖进 IDA/Hopper 看到的代码段全是密文,无法静态分析。砸壳(decrypt)的本质:利用系统加载器解密后的内存镜像,把明文 dump 出来重打包。前提:一台越狱设备(iOS 13-15 的 checkra1n/palera1n 时代设备最顺手)。frida-ios-dump 标准流程# 1. 设备上起 frida-server(iOS 版),USB 连接
# 2. 电脑上
pip install frida-ios-dump
cd frida-ios-dump
为什么选拦截器层而不是 hook URL逆向 App 抓接口,最笨的办法是逐个 hook 业务方法。OkHttp3 的正确打开方式是 hook 拦截器链的 proceed 方法——所有请求(无论业务层怎么封装)都必须经过 RealInterceptorChain.proceed,在这里能同时拿到完整的 request 和 response,一处 hook 全网打尽。选 proceed 而不是 okhttp3.Request 的构造方法,原因有两个:一是构造方法拿不到响应;二是很多 App 在拦截器里加签名头(比如 token、sign),hook proceed 能看到签名之后的最终请求,这才
为什么厂商爱魔改 MD5MD5 是 App 签名最常用的摘要算法,但标准 MD5 人人会算,防护约等于零。于是厂商流行"魔改 MD5"——改动算法内部的常量或轮函数,让标准实现算出的结果对不上。逆向的核心技能就是识别魔改点。标准 MD5 的三个可改点1. 初始向量(IV)标准 MD5 的四个初始寄存器:A = 0x67452301
B = 0xEFCDAB89
C = 0x98BADCFE
D = 0x10325476魔改手法:改这四个值(+1、异或、换成别的常量)。识别方法:IDA 里搜 0x67452301(十进制 1732584193),搜不到但附近有相似常量 = IV 被改。2. K
TracerPid 检测的原理Linux 下进程被 ptrace 附加时,/proc/self/status 里的 TracerPid 字段会变成调试器的 PID,未被调试时是 0。SO 反调试的标准做法就是周期性读这个文件:// 典型检测代码(SO 里的实现)
int check_debugger() {
char buf[512];
int fd = open("/proc/self/status", O_RDONLY);
read(fd, buf, sizeof(buf));
close(fd);
char* p = strst