这门课解决什么问题
逆向工程在安全领域门槛偏高,很多人卡在能看懂基础语法,却面对真实程序时无从下手。这门课针对的就是这种断层:它不空谈理论,而是直接拿 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






