这门课解决什么问题

逆向工程在安全领域门槛偏高,很多人卡在能看懂基础语法,却面对真实程序时无从下手。这门课针对的就是这种断层:它不空谈理论,而是直接拿 CTF 比赛中的 Reverse 题型开刀,带你走完从看懂汇编到还原程序逻辑的完整流程。课程以 C 语言和 x86 架构打底,再过渡到 C++、Python、Golang 等多语言样本,最后覆盖 Android 平台逆向。如果你做安全测试时总觉得自己看不懂二进制文件里的核心逻辑,或者打 CTF 遇到 Reverse 题只能直接放弃,这套资料就是帮你补这块短板的。

适合什么基础与建议看法

这资料不适合完全零基础的人。你需要有基本编程概念,至少写过简单的脚本,懂变量、循环、函数这些常识。建议先从 C 语言基础和 x86 架构这两块看起,因为后面所有逆向分析都依赖对指令集和程序运行机制的理解。看完基础后,直接进入 IDA 使用部分,这是逆向分析的核心工具,务必跟着操作一遍。之后再按 C 语言逆向的主线推进,重点看常见算法识别和对抗保护混淆这两节,这是 CTF 竞赛中拉开差距的关键环节。其他语言逆向和 Android 部分可以作为专项补充,按需查阅。

学完能独立做什么与资料怎么配合

学完后,你应该能独立完成中等难度的 CTF Reverse 题目:拿到一个未知二进制文件,能用 IDA 完成反编译,识别出常见加密算法,处理掉简单的混淆代码,最终还原出程序的核心验证逻辑并拿到 flag。配合资料练习时,切忌只看不动。每看完一个实战章节,必须自己找类似题目做一遍,尤其是算法识别和混淆对抗这两块,看懂和能独立做出来是两回事。课程里的样本文件是用来验证你的分析思路的,先自己尝试逆向,卡住了再对照课程里的步骤找问题。遇到多语言样本时,重点对比不同语言的编译特性差异,这比单纯刷题更能提升实战能力。


01开班第一课 · C语言 · x86架构 · IDA使用 · C语言逆向-小试牛刀 · C语言逆向-常见算法识别 · C语言逆向-对抗保护混淆 · C语言逆向-杂项 · C语言逆向-杂项 · 其他语言逆向-C++ · 其他语言逆向-Python · 其他语言逆向-C# · 其他语言逆向-Golang · Android逆向 · Android逆向

课程目录

*   01开班第一课/

  *   001.开班第一课.mp4

  *   002.快速入门-Python.mp4

*   02 C语言/

  *   003.开发环境搭建.mp4

  *   004.基本数据类型.mp4

  *   005.常用语法和编程练习.mp4

*   03 x86架构/

  *   006.x86架构基础知识-1.mp4

  *   007.x86架构基础知识-2.mp4

  *   008.x86架构基础知识-3.mp4

  *   009.x86架构基础知识-4.mp4

*   04 IDA使用/

  *   010.静态分析技巧及操作.mp4

  *   011.Linux虚拟机安装和Linux远程调试.mp4

*   05 C语言逆向-小试牛刀/

  *   012.入门赛题带做.mp4

  *   013.提升IDA操作熟练度.mp4

*   06 C语言逆向-常见算法识别/

  *   014.hex编码.mp4

  *   015.base家族编码.mp4

  *   016.RC4加密算法.mp4

  *   017.MD5摘要算法.mp4

  *   018.TEA系列加密算法-1.mp4

  *   019.TEA系列加密算法-2.mp4

  *   020.分组加密算法-1.mp4

  *   021.分组加密算法-2.mp4

  *   022.RSA与大数运算-1.mp4

  *   023.RSA与大数运算-2.mp4

*   07 C语言逆向-对抗保护混淆/

  *   024.x64dbg工具使用.mp4

  *   025.upx压缩壳及其变种.mp4

  *   026.花指令.mp4

  *   027.反调试.mp4

  *   028.自修改代码-1.mp4

  *   029.自修改代码-2.mp4

  *   030.指令虚拟化-1.mp4

  *   031.指令虚拟化-2.mp4

  *   032.ollvm-1.mp4

  *   033.ollvm-2.mp4

*   08 C语言逆向-杂项/

  *   034.IDAPython常用函数介绍.mp4

  *   035.elf文件运行流程.mp4

  *   036.MFC图形化界面-1.mp4

  *   037.MFC图形化界面-2.mp4

  *   038.迷宫及数独问题-1.mp4

  *   039.迷宫及数独问题-2.mp4

*   09 C语言逆向-杂项/

  *   040.符号执行框架angr-1.mp4

  *   041.符号执行框架angr-2.mp4

  *   042.capstone、keystone与unicorn-1.mp4

  *   043.capstone、keystone与unicorn-2.mp4

  *   044.等式问题与z3的使用.mp4

*   10 其他语言逆向-C++/

  *   045.扩充语法及面向对象.mp4

  *   046.汇编层面分析实例代码.mp4

*   11 其他语言逆向-Python/

  *   047.字节码介绍.mp4

  *   048.pyc文件.mp4

  *   049.pyinstaller打包拆解.mp4

*   12 其他语言逆向-C#/

  *   050.普通C#程序.mp4

  *   051.Unity游戏-1.mp4

  *   052.Unity游戏-2.mp4

*   13 其他语言逆向-Golang/

  *   053.Go语言快速入门.mp4

  *   054.逆向示例程序.mp4

  *   055.例题讲解与练习.mp4

*   14 Android逆向/

  *   056.基础知识-1.mp4

  *   057.基础知识-2.mp4

  *   058.Java层逆向-常用smali指令.mp4

  *   059.Java层逆向-smali修改及回编译.mp4

  *   060.Java层逆向-静态分析技巧及操作.mp4

  *   061.Java层逆向-frida hook(1).mp4

  *   062.Java层逆向-frida hook(2).mp4

*   15 Android逆向/

  *   063.Native层逆向-动态调试.mp4

  *   064.Native层逆向-常见代码隐藏技巧.mp4

  *   065.Native层逆向-frida hook(1).mp4

  *   066.Native层逆向-frida hook(2).mp4

  *   067.杂项-对抗反逆向手段(1).mp4

  *   068.杂项-对抗反逆向手段(2).mp4

  *   069.杂项-加壳原理与脱壳.mp4

  *   070.杂项-unidbg入门.mp4

  *   071.杂项-unidbg进阶使用(1).mp4

  *   072.杂项-unidbg进阶使用(2).mp4