Skip to content

加固(壳) ​

🛡️ App 用整体壳/二代壳/VMP 保护代码。r0capture 在系统 native 层 hook,无视加固。

加固类型 ​

类型说明
整体壳整个 dex 加密,运行时解密到内存
二代壳(函数抽取)函数粒度加密,按需解密
VMP代码虚拟化,转成自定义指令集

加固的目的是防止逆向(反编译、调试)。

r0capture 为什么无视加固 ​

加固保护的是 App 自己的代码(dex/业务逻辑),但 App 最终发网络请求仍要调系统的 libssl.so(加固动不到系统库)。r0capture hook 的是系统 native 符号,加固与否都能抓到。

关键

加固改变的是「App 业务代码怎么组织」,不改变「最终走系统 SSL 收发」这个事实。r0capture 在系统层拦截,与加固无关。

加固下的调用栈 ​

加固后调用栈可能被混淆(类名变成 a.b.c),但栈里仍会出现系统 SSL 相关帧,足以确认是网络收发。SSLstackwrite/SSLstackread 来自 Conscrypt hook,不受加固影响。

注意:spawn 早期竞争 ​

加固 App 在 spawn 早期会做脱壳初始化,此时 Frida 注入可能与加固反调试逻辑竞争。用 -w 延迟几秒等脱壳完成后再抓更稳:

bash
python3 r0capture.py -U -f com.hardened.app -w 5 -v -p out.pcap

相关文档 ​

基于 VitePress 构建 · 教学用途