课程简介
这门课解决什么问题 Android 应用的 native 层代码(SO)动态调试依赖真机,耗时且易受硬件限制;而静态分析又难以直接观察运行时行为。Unidbg 通过模拟 Android 系统环境与动态链接器,让你在无需真机的情况下直接加载并执行 SO 函数,将静态分析转化为动态调试。这门课聚焦于这套模拟执行框架的原理拆解与工程落地,帮助开发者突破 nati…
这门课解决什么问题 Android 应用的 native 层代码(SO)动态调试依赖真机,耗时且易受硬件限制;而静态分析又难以直接观察运行时行为。Unidbg 通过模拟 Android 系统环境与动态链接器,让你在无需真机的情况下直接加载并执行 SO 函数,将静态分析转化为动态调试。这门课聚焦于这套模拟执行框架的原理拆解与工程落地,帮助开发者突破 native 层逆向的实操瓶颈。
适合什么基础 建议具备 Linux 操作系统基础(ELF 文件格式与动态链接机制)、Python 编程能力,以及对 Android 应用逆向有初步认知。不需要复杂的模拟器搭建经验,重点在于理解系统底层加载逻辑与代码复用机制。课程从 Linker 系统源码分析切入,逐步拆解加载、链接与初始化的模拟过程,门槛明确,适合有一定逆向工程基础、希望深入 native 层的开发者。
建议先看哪几块 建议按学习顺序依次推进:先建立统一环境认知,再深入 Linker 源码分析与模拟加载机制,最后结合 r0dbg 完成首次实操对接。核心模块是“Unicorn 模拟 Linker 加载 SO”系列,它直接对应原理到落地的桥梁;其次是 Linker 详解与系统源码分析,帮你理解为什么这样模拟。整体逻辑是从框架入口到核心原理,再到工具集成,层层递进。
学完能独立做什么 学完这门课后,你可以独立构建针对特定 native 函数的模拟执行环境,实现对 SO 函数的动态插桩与调试;编写脚本自动化加载并执行目标 SO;熟练运用 r0dbg 进行交互式排查,完成从源码分析到动态验证的闭环工作。在工程实践中,这意味着你可以脱离真机环境完成 native 层的漏洞验证、加壳脱壳验证及逻辑复现。
资料怎么配合练习 课程视频与配套源码是核心资产。建议边看源码边动手:先理解 Linker 源码中各阶段的职责,再对照视频中的模拟逻辑,在自己的项目环境中复现演示步骤。重点练习“模拟加载”与“模拟链接”两个环节,尝试替换自己的 SO 目标并观察执行结果。源码目录中的模块划分清晰,可直接作为可复用模块参考,按需组合即可构建自己的逆向工具链。
课程目录:
UNIDBG课时1-Unidbg统一环境_ev.mp4 UNIDBG课时2:Unidbg执行SO函数_ev.mp4 UNIDBG课时3:Unidbg凯神直播首秀_ev.mp4 课时10:Linker详解(二)系统源码分析_ev.mp4 课时11:Linker详解(三)加载链接初始化_ev.mp4 课时12:Unicorn模拟Linker加载So(一)核心原理_ev.mp4 课时13:Unicorn模拟Linker加载SO(二)加载机制_ev.mp4 课时14:Unicorn模拟Linker加载SO(三)模拟加载_ev.mp4 课时15:Unicorn模拟Linker加载SO(四)模拟链接_ev.mp4 课时16:Unicorn模拟Linker加载SO(五)总结_ev.mp4 课时17Unicorn模拟执行So初始化_ev.mp4 课时18:r0dbg首次实战_ev.mp4 课时19:unidbg源码详解(一)Android Emulator_ev.mp4 课时20:unidbg源码详解(二)DalvikVM_ev.mp4 课时21:unidbg源码详解(三)Memory_ev.mp4 课时22:unidbg源码详解(四)HOOK_ev.mp4 课时23UnidbgHook辅助 算法 还原_ev.mp4 课时24:Unidbg源码详解(五)深入理解_ev.mp4 课时25:补环境和算法分析样本实战_ev.mp4 课时26:习题算法分析样本实战(一)_ev.mp4 课时27:习题算法分析样本实战(二)指针参数_ev.mp4 课时28:习题算法分析样本实战(三)ConsoleDebugger_ev.mp4 课时29:习题算法分析样本实战(四)Patch校验_ev.mp4 课时30:习题算法分析样本实战(五)获取Flag_ev.mp4 课时31:习题算法分析样本实战(六)综合实战_ev.mp4 课时32:unidbg补环境实战+总结(一)补环境入门_ev.mp4 课时33:unidbg补环境实战+总结(二)标识记录_ev.mp4 课时34:Unidbg补环境实战+总结(三)据原代码补全_ev.mp4 课时35:Unidbg补环境实战+总结(四)经典案例重现_ev.mp4 课时36:Unidbg补环境实战+总结(五)补环境总结_ev.mp4 课时37:Unidbg信号与多线程(一)信号开篇_ev.mp4 课时38:Unidbg信号与多线程(二)信号模拟_ev.mp4 课时39:unidbg信号与多线程(直播)多线程基础_ev.mp4 课时40:Unidbg信号与多线程(四)多线程源码解析_ev.mp4 课时41:Unidbg信号与多线程(五)多线程问题解答_ev.mp4 课时42:Unidbg信号与多线程(六)线程操作_ev.mp4 课时43:多线程同步_ev.mp4 课时44:多线程回顾+总结_ev.mp4 课时45:Anti-Unidbg系列-环境变量_ev.mp4 课时46:Anti-Unidbg系列-xHook检测(使用+原理)_ev.mp4 课时47:Anti-Unidbg系列-xHook检测(内存ELF解析)(上)_ev.mp4 课时48:Anti-Unidbg系列-xHook检测(内存ELF解析)(中)_ev.mp4 课时49:Anti-Unidbg系列-xHook检测(内存ELF解析)(下)_ev.mp4 课时4:Unidbg补环境_ev.mp4 课时50:Anti-Unidbg系列-xHook检测效果实战_ev.mp4 课时51:Anti-Unidbg系列-JNI层_ev.mp4 课时52:Anti-Unidbg系列-InlineHook检测_ev.mp4 课时53:Unidbg生产环境部署_ev.mp4 课时54:ARM汇编 与C++逆向 -ARM初识(上)_ev.mp4 课时55:ARM汇编与C++逆向-ARM初识(下)_ev.mp4 课时56:ARM汇编与C++逆向-ARM汇编(上)_ev.mp4 课时57:ARM汇编与C++逆向-ARM汇编(下)_ev.mp4 课时58:ARM汇编与C++逆向-ARM汇编(补充)_ev.mp4 课时59:ARM汇编与C++逆向-ARM文档(上)_ev.mp4 课时5:Unidbg中Hook和Patch_ev.mp4 课时60(下):ARM汇编与C++逆向-ARM文档_ev.mp4 课时61:ARM汇编与C++逆向-ARM指令集(上)_ev.mp4 课时62:ARM汇编与C++逆向-ARM指令集(下)_ev.mp4 课时63:ARM汇编与C++逆向-C程序逆向分析(一)数据类型_ev.mp4 课时64:ARM汇编与C++逆向-C程序逆向分析(二)操作符、跳转_ev.mp4 课时65:ARM汇编与C++逆向-C程序逆向分析(三)函数、结构体_ev.mp4 课时66:ARM汇编与C++逆向-C程序逆向分析(四)数组、位操作_ev.mp4 课时67从汇编进行非标准算法还原_ev.mp4 课时68:从汇编进行非标准算法还原(64位)_ev.mp4 课时69:C++程序逆向分析_ev.mp4 课时6:ELF文件详解_ev.mp4 课时70:C++程序逆向分析(二)_ev.mp4 课时71:内联汇编与syscall_ev.mp4 课时72:AndroidStudio进行汇编开发_ev.mp4 课时7:ELF文件详解(二)_ev.mp4 课时8:Unicorn的使用_ev.mp4 课时9:Linker详解(一)So加载流程_ev.mp4课程目录 课程目录 72 集 UNIDBG课时1-Unidbg统一环境_ev.mp4 UNIDBG课时2:Unidbg执行SO函数_ev.mp4 UNIDBG课时3:Unidbg凯神直播首秀_ev.mp4 课时10:Linker详解(二)系统源码分析_ev.mp4 课时11:Linker详解(三)加载链接初始化_ev.mp4 课时12:Unicorn模拟Linker加载So(一)核心原理_ev.mp4 课时13:Unicorn模拟Linker加载SO(二)加载机制_ev.mp4 课时14:Unicorn模拟Linker加载SO(三)模拟加载_ev.mp4 课时15:Unicorn模拟Linker加载SO(四)模拟链接_ev.mp4 课时16:Unicorn模拟Linker加载SO(五)总结_ev.mp4 课时17Unicorn模拟执行So初始化_ev.mp4 课时18:r0dbg首次实战_ev.mp4 课时19:unidbg源码详解(一)AndroidEmulator_ev.mp4 课时20:unidbg源码详解(二)DalvikVM_ev.mp4 课时21:unidbg源码详解(三)Memory_ev.mp4 课时22:unidbg源码详解(四)HOOK_ev.mp4 课时23UnidbgHook辅助算法还原_ev.mp4 课时24:Unidbg源码详解(五)深入理解_ev.mp4 课时25:补环境和算法分析样本实战_ev.mp4 课时26:习题算法分析样本实战(一)_ev.mp4 课时27:习题算法分析样本实战(二)指针参数_ev.mp4 课时28:习题算法分析样本实战(三)ConsoleDebugger_ev.mp4 课时29:习题算法分析样本实战(四)Patch校验_ev.mp4 课时30:习题算法分析样本实战(五)获取Flag_ev.mp4 课时31:习题算法分析样本实战(六)综合实战_ev.mp4 课时32:unidbg补环境实战+总结(一)补环境入门_ev.mp4 课时33:unidbg补环境实战+总结(二)标识记录_ev.mp4 课时34:Unidbg补环境实战+总结(三)据原代码补全_ev.mp4 课时35:Unidbg补环境实战+总结(四)经典案例重现_ev.mp4 课时36:Unidbg补环境实战+总结(五)补环境总结_ev.mp4 课时37:Unidbg信号与多线程(一)信号开篇_ev.mp4 课时38:Unidbg信号与多线程(二)信号模拟_ev.mp4 课时39:unidbg信号与多线程(直播)多线程基础_ev.mp4 课时40:Unidbg信号与多线程(四)多线程源码解析_ev.mp4 课时41:Unidbg信号与多线程(五)多线程问题解答_ev.mp4 课时42:Unidbg信号与多线程(六)线程操作_ev.mp4 课时43:多线程同步_ev.mp4 课时44:多线程回顾+总结_ev.mp4 课时45:Anti-Unidbg系列-环境变量_ev.mp4 课时46:Anti-Unidbg系列-xHook检测(使用+原理)_ev.mp4 课时47:Anti-Unidbg系列-xHook检测(内存ELF解析)(上)_ev.mp4 课时48:Anti-Unidbg系列-xHook检测(内存ELF解析)(中)_ev.mp4 课时49:Anti-Unidbg系列-xHook检测(内存ELF解析)(下)_ev.mp4 璇炬椂4锛歎nidbg琛ョ幆澧僟ev.mp4 课时50:Anti-Unidbg系列-xHook检测效果实战_ev.mp4 璇炬椂51锛欰nti-Unidbg绯诲垪-JNI灞俖ev.mp4 课时52:Anti-Unidbg系列-InlineHook检测_ev.mp4 课时53:Unidbg生产环境部署_ev.mp4 课时54:ARM汇编与C++逆向-ARM初识(上)_ev.mp4 课时55:ARM汇编与C++逆向-ARM初识(下)_ev.mp4 课时56:ARM汇编与C++逆向-ARM汇编(上)_ev.mp4 课时57:ARM汇编与C++逆向-ARM汇编(下)_ev.mp4 课时58:ARM汇编与C++逆向-ARM汇编(补充)_ev.mp4 课时59:ARM汇编与C++逆向-ARM文档(上)_ev.mp4 璇炬椂5锛歎nidbg涓璈ook鍜孭atch_ev.mp4 课时60(下):ARM汇编与C++逆向-ARM文档_ev.mp4 课时61:ARM汇编与C++逆向-ARM指令集(上)_ev.mp4 课时62:ARM汇编与C++逆向-ARM指令集(下)_ev.mp4 课时63:ARM汇编与C++逆向-C程序逆向分析(一)数据类型_ev.mp4 课时64:ARM汇编与C++逆向-C程序逆向分析(二)操作符、跳转_ev.mp4 课时65:ARM汇编与C++逆向-C程序逆向分析(三)函数、结构体_ev.mp4 课时66:ARM汇编与C++逆向-C程序逆向分析(四)数组、位操作_ev.mp4 课时67从汇编进行非标准算法还原_ev.mp4 课时68:从汇编进行非标准算法还原(64位)_ev.mp4 课时69:C++程序逆向分析_ev.mp4 课时6:ELF文件详解_ev.mp4 课时70:C++程序逆向分析(二)_ev.mp4 课时71:内联汇编与syscall_ev.mp4 课时72:AndroidStudio进行汇编开发_ev.mp4 课时7:ELF文件详解(二)_ev.mp4 课时8:Unicorn的使用_ev.mp4 课时9:Linker详解(一)So加载流程_ev.mp4