为什么 SO 进阶这么难?

很多同学在安卓逆向上已经能熟练使用 Frida Hook Java 层,也能用 JEB 看伪代码。但一旦深入到 Native 层,就会遇到几个典型的“能力黑洞”:第一,面对加壳应用,找不到脱壳点,不知道 .so 文件在内存中何时加载完成;第二,即使 Hook 住了函数,参数在寄存器里来回传递,看不懂汇编就抓不到真实数据;第三,遇到 VMP(虚拟机保护)或者复杂的反调试,现有的工具链直接失效,只能干瞪眼。

这门课不教基础安装,专门填补上述空缺。它假设你已经具备 Java 层 Hook 能力,重点解决 Native 层的“黑盒”问题。如果你只会用现成的工具,或者看到汇编指令就头疼,这门课是必经之路。

先补地基,再攻堡垒

课程的结构非常贴合逆向工程师的思维路径:先懂原理,再动手改造。建议不要一上来就看 Hook 技巧,而是按以下顺序建立认知:

首先是**解析与链接**。从读懂 DEX 结构开始,到 ELF 可执行文件的生成过程、链接视图,再到 so 替换和符号地址的寻找。这部分解决了“文件是怎么变成程序”的问题,是后续所有攻击手段的理论基础。

其次是**Hook 机制与陷阱**。课程深入讲解了 GOT/HOOK 原理,以及 Inline Hook 和 Java Hook 的具体实现。特别注意关于“高版本安卓函数地址索引”和“Inline Hook 中可能遇到的 Bug”这两节,这是新手最容易踩坑的地方,搞清楚后你才能写出稳定的注入代码。

最后是**对抗与脱壳**。这是最硬核的部分。从 so 加壳入门、装载流程分析,到定位脱壳点,再到对抗反调式的 r0Invoke 框架。特别是 DEX VMP 的部分,从基本原理到寄存器模拟,再到如何解析 DEX 获取参数,层层递进。这一部分直接对应实际工作中的高难度场景。

学完能做什么?

完成这门课的训练,你将能够独立应对以下场景:面对一个被加壳保护的 APP,能通过静态分析与动态追踪结合,准确找到 so 的解压和装载时机,实现 Dump 脱壳;能够编写自定义的 Inline Hook 代码,绕过常见的反调试检测;能够理解并分析简单的 DEX VMP 混淆逻辑,提取关键参数。

学习过程中,视频只是引导,核心在于“手做”。课程涉及大量的汇编 Trace、指令修复和框架集成,建议边看边在 Android 环境里复现。不要只看不练,因为很多细节——比如参数链接修正、特殊指令处理——只有动手调试才能真的内化。资料包里的课时演示了从底层原理到实战落地的全过程,跟着敲一遍代码,你的 Native 逆向能力会有质的飞跃。

课程目录

课时13.java hook原理.mp4 [349.2 MB]
课时42.dexvmp 部分指令解析执行.mp4 [385.9 MB]
课时16. inlinehook 中可能遇到的bug.mp4 [381.8 MB]
课时4 elf可执行文件生成过程.mp4 [288.1 MB]
课时47.dex2c基本原理与实现思路.mp4 [346.4 MB]
课时2 dex解析器.mp4 [382.9 MB]
课时8:初识got hook.mp4 [332.4 MB]
课时15.inlinehook 中用到的汇编指令.mp4 [351.5 MB]
课时14.frida中java hook实现.mp4 [340.3 MB]
课时27.汇编trace 进阶.mp4 [348.0 MB]
课时5 高版本安卓函数地址索引彻底解决方案.mp4 [412.2 MB]
课时22.编译aosp 注入so.mp4 [371.1 MB]
课时46.dex vmp难点设计思路补充.mp4 [419.6 MB]
课时33.函数链接修正.mp4 [430.5 MB]
课时6 寻找so中的符号地址.mp4 [455.0 MB]
课时23.汇编trace 入门.mp4 [374.8 MB]
课时25.trace中的指令修复(2).mp4 [396.7 MB]
课时17 基于capstone 处理特殊指令(上).mp4 [429.8 MB]
课时11. 从got&plthook总结到xhook原理刨析.mp4 [364.1 MB]
课时3 elf linking view.mp4 [367.1 MB]
课时35.so替换(上).mp4 [413.1 MB]
课时34.参数链接修正.mp4 [415.6 MB]
课时24.trace中的指令修复(1).mp4 [370.5 MB]
课时29.so加壳-装载入门(2).mp4 [322.1 MB]
课时41.dex vmp 寄存器模拟与参数获取.mp4 [352.8 MB]
课时26.定制r0invoke插件绕过反调试&&复杂函数trace.mp4 [443.1 MB]
课时20.通杀检测的新型框架 r0Invoke.mp4 [434.1 MB]
课时32.什么是链接(1).mp4 [410.9 MB]
课时37.soinfo替换(下).mp4 [363.6 MB]
课时44.dexvmp解析dex得到想要的参数(下).mp4 [386.1 MB]
课时30.通过so装载流程准确定位脱壳点.mp4 [255.9 MB]
课时40.dex vmp 初尝试.mp4 [374.2 MB]
课时43.dexvmp 解析dex获取想要的参数(上).mp4 [378.7 MB]
课时31.so装载完成.mp4 [384.0 MB]
课时18.基于capstone 处理特殊指令 (下).mp4 [349.1 MB]
课时19.inlinehook框架集成.mp4 [390.8 MB]
课时1 读懂dex.mp4 [405.4 MB]
课时36.基于静态分析探索一个真实壳隐藏so手法.mp4 [716.5 MB]
课时28.so加壳-什么是壳(1).mp4 [325.2 MB]
课时7.从findExportByName源码分析到anti frida新思路.mp4 [398.5 MB]
课时21.so加载流程分析.mp4 [367.0 MB]
课时12.番外另类方法寻找so首地址.mp4 [337.4 MB]
课时45. 揭秘dexvmp实现中的疑难杂症.mp4 [495.3 MB]
课时09.got hook进阶&&初识plt hook.mp4 [399.2 MB]
课时10.plt hook进阶.mp4 [407.5 MB]