先说结论:这门课不是给零基础看的

如果你连 C 语言里的指针和数组都还没写顺,或者没接触过汇编、不清楚函数调用时栈帧是怎么压进去又弹出来的,这套《二进制安全系列》会让你从第三讲开始就处于「看着像懂,实际跟不上」的状态。它面向的是已经能写程序、并且想搞清楚「程序在内存里到底长什么样」的人——比如做开发想转安全方向、做运维想理解漏洞原理、或者打 CTF 时卡在 pwn 题上想系统补课的人。

所以这篇导读的第一个作用,是帮你判断要不要花时间。如果你的日常工作只涉及业务代码和框架调用,短期内没有和内存、反汇编打交道的场景,这套资料可以先放一放。

它实际解决的是哪类问题

这套课围绕一个核心问题展开:一个程序在运行时,内存是怎么被分配、使用和破坏的,以及攻击者如何利用这些破坏点控制程序流程。具体落到几个能上手操作的场景:

  • 能看懂一个栈溢出是怎么发生的,从覆盖返回地址到劫持执行流,自己写出可复现的验证代码;
  • 理解 Linux 和 Windows 两端堆管理的差异,知道不同系统上堆漏洞的成因和利用思路为什么不通用;
  • 掌握 ROP(面向返回编程)的基本构造方法,在栈不可执行的环境下拼出可用的调用链;
  • 对 Windows 较新的堆机制(如 LFH,低碎片堆)有独立分析的能力,而不是只背结论。

换句话说,学完之后你应该能独立完成一个简单的漏洞分析实验:定位问题、判断类型、写出利用脚本、验证结果。这不是「看完就懂」的课,是需要你对着环境反复调、反复改的课。

内容组织上的两个特点

Linux 和 Windows 两条线分开讲

很多同类资料只讲 Linux,因为环境好搭、工具链成熟。这套课把 Windows 用户堆的利用基础、LFH 这些内容单独拿出来讲,对做 Windows 平台漏洞分析或逆向的人来说是补上了缺口。需要注意的是,两边的概念不能直接套用,学的时候要分清当前在哪个系统语境下。

ROP 部分分上下,节奏是刻意的

ROP 是二进制利用里的分水岭——不会 ROP,很多现代防护下的题目就无从下手。课程把它拆成上下两部分,上半部分打基础,下半部分做组合利用。建议不要跳,跳到下半部分很容易变成抄脚本。

资料适合什么基础,怎么用效率高

最低门槛:能读懂 C,知道什么是寄存器、栈、堆,见过反汇编界面不陌生。如果汇编完全没碰过,建议先补一下 x86/x64 的基础指令和调用约定,否则课程里讲栈布局时会很吃力。

使用顺序上,不建议按目录从头到尾平推。可以先从栈溢出和 Linux 堆内存管理入手,把环境跑通、把第一个实验做出来,建立信心之后再进 ROP 和 Windows 部分。每讲看完不要只停留在「理解了」,一定要自己动手复现一次,哪怕只是把示例改几个参数看结果变化。二进制安全的手感和看视频是两回事。

最后提醒一点:这套资料是技术原理向的,不是工具使用手册。它不会教你某个软件的按钮怎么点,但会让你在遇到新工具、新漏洞时知道该往哪个方向想。如果你的目标是系统理解二进制安全的底层逻辑,这套课值得投入时间;如果只是想快速会用一个现成的利用工具,它可能偏重了。

课程目录

0x33 集
  • 12 浅析Linux堆内存管理 浅析Linux堆内存管理.mp4
  • [194.2 MB] 📁 0x
  • 11 【特别篇】深入理解LFH 【特别篇】深入理解LFH.mp4
  • [230.6 MB] 📁 0x
  • 10 近代Windows用户堆的利用基础 近代Windows用户堆的利用基础.mp4
  • [210.3 MB] 📁 0x
  • 09 Linux环境下的ROP(上) Linux环境下的ROP(上).mp4
  • [144.6 MB] 📁 0x
  • 08 DEP与ASLR简述 DEP与ASLR简述.mp4
  • [86.0 MB] 📁 0x
  • 07 一次失败的栈溢出(SEH)之GetGo Download Manager 一次失败的栈溢出(SEH)之GetGo Download Manager.mp4
  • [75.9 MB] 📁 0x
  • 06 另辟蹊径之覆盖SEH 另辟蹊径之覆盖SEH.mp4
  • [118.1 MB] 📁 0x
  • 05 探索stack cookie 探索stack cookie.mp4
  • [78.6 MB] 📁 0x
  • 04 经典栈溢出实例之DNSTracer 经典栈溢出实例之DNSTracer.mp4
  • [181.3 MB] 📁 0x03 经典栈溢出实例之EasyRM2MP3 经典栈溢出实例之EasyRM2MP3.mp4
  • [190.3 MB] 📁 0x
  • 02 经典栈溢出(下) 经典栈溢出(下).mp4
  • [123.8 MB] 📁 0x0F 【特别篇】Windows上古-近代堆详述 【特别篇】Windows上古-近代堆详述.mp4
  • [210.6 MB] 📁 0x0E 探索上古Windows用户堆 探索上古Windows用户堆.mp4
  • [191.8 MB] 📁 0x0D Windows环境下的ROP(下) Windows环境下的ROP(下).mp4
  • [151.4 MB] 📁 0x0C Windows环境下的ROP(上) Windows环境下的ROP(上).mp4
  • [169.4 MB] 📁 0x0B Linux下ROP练习之r0pbaby[CTF-2015-defcon] Linux下ROP练习之r0pbaby[CTF-2015-defcon].mp4
  • [109.2 MB] 📁 0x0A Linux环境下的ROP(下) Linux环境下的ROP(下).mp4
  • [144.0 MB] 📁 0x
  • 01 经典栈溢出(上) 经典栈溢出(上).mp4
  • [158.3 MB] 📁 slides 经典栈溢出.pptx [1.6 MB] 探索Stack Cookie.pptx [996.2 KB] Linux环境下的ROP.pptx [2.8 MB] 另辟蹊径之覆盖SEH.pptx [1.0 MB] 探索上古Windows用户堆.pptx [997.8 KB] 浅析Linux堆内存管理.pptx [1.6 MB] 近代Windows用户堆的利用基础.pptx [1.0 MB] DEP & ASLR简述.pptx [1.8 MB] Windows环境下的ROP.pptx [1.1 MB] 📁 二进制安全(国外) 📁 Binary_Hacking_Course Writing a simple Program in Python - bin 0x03-ajy1PHWYeyQ.mkv [37.7 MB] Uncrackable Programs Key validation with Algorithm and creating a Keygen - Part 1_2 - bin 0x07-qS4VWL5R_OM.mkv [37.8 MB] Uncrackable Program Finding a Parser Differential in loading ELF - Part 2_2 - bin 0x08-OZvc-c1OLnM.mkv [34.9 MB] The Heap - Once upon a free() - bin 0x17-gL45bjQvZSU.mp4
  • [96.5 MB] The Heap - How to exploit a Heap Overflow - bin 0x15-TfJrU95q1J4.mp4
  • [75.5 MB] The Heap - How do use-after-free exploits work - bin 0x16-ZHghwsTRyzQ.mp4
  • [48.6 MB] The Heap - dlmalloc unlink() exploit - bin 0x18-HWhzH--89UQ.mkv [35.6 MB] The deal with numbers - hexadecimal binary and decimals - bin 0x0A-mT1V7IL2FHY.mkv [32.4 MB] Socket programming in python and Integer Overflow - bin 0x1B-d6BU8DWxb3c.mp4
  • [47.5 MB] LiveOverflow Channel Introduction and Backstory - bin 0x00-iyAyN3GFM7A.mkv [27.5 MB] Linux signals and core dumps - bin 0x1C-_shKdU7mGxs.mkv [42.4 MB] Introduction to Linux - Installation and the Terminal - bin 0x01-navuBR4aJSs.mkv [46.2 MB] How a CPU works and Introduction to Assembler - bin 0x04-6jSKldt7Eqs.mkv [72.9 MB] First remote root exploit - bin 0x1D-HAN8Qun26cQ.mkv [32.9 MB] First Exploit! Buffer Overflow with Shellcode - bin 0x0E-HSlhY4Uy8SA.mkv [49.5 MB] Bruteforce 32bit Stack Cookie. stack0 - part 3 - bin 0x23-KGzHcqJV-QM.mkv [52.3 MB] A simple Format String exploit example - bin 0x11-0WvrSfcdq1I.mkv [45.4 MB] First steps into networking with net0 from exploit.education protostar - bin 0x19-2CL-AAcgyuo.webm [42.2 MB] Explaining Dirty COW local root exploit - CVE-2016-5195-kEsshExn7aE.mkv [46.1 MB] Rooting a CTF server to get all the flags with Dirty COW - CVE-2016-5195-Lj2YRCXCBv8.webm [23.3 MB] Developing an intuition for binary exploitation - bin 0x20-akCce7vSSfw.mkv [22.6 MB] Global Offset Table (GOT) and Procedure Linkage Table (PLT) - bin 0x12-kUk5pw4w0h4.mkv [68.5 MB] First Stack Buffer Overflow to modify Variable - bin 0x0C-T03idxny9jE.mkv [37.0 MB] Adapting the 32bit exploit to 64bit for format4 - bin 0x27-_lO_rwaK_pY.mkv [25.5 MB] Buffer overflow on a modern system impossible stack0 - part 1 - bin 0x21-4HxUmbOcN6Y.webm [51.3 MB] Writing a simple Program in C - bin 0x02-JGoUaCmMNpE.mkv [34.1 MB] Doing ret2libc with a Buffer Overflow because of restricted return pointer - bin 0x0F-m17mV24TgwY.mkv [101.5 MB] Simple Tools and Techniques for Reversing a binary - bin 0x06-3NTXFUxcKPc.mkv [61.9 MB] Format String Exploit and overwrite the Global Offset Table - bin 0x13-t1LH9D5cuK4.mkv [39.6 MB] Identifying another exploit mitigation and find bypass. stack0 - part 2 - bin 0x22-MMm0I2Dj51A.webm [39.0 MB] format2 on a modern Ubuntu - bin 0x26-Kc6_PpdbcCw.webm [37.6 MB] [Live] Remote oldschool dlmalloc Heap exploit - bin 0x1F-2GVi8_9u5TY.webm [1.3 GB] heap0 exploit speedrun & weird ASCII string on the Heap - bin 0x28-fJMnH0kCAak.webm [52.0 MB] Reverse engineering C programs - bin 0x10-vXWHmucgZW0.mkv [53.6 MB] Syscalls, Kernel vs. User Mode and Linux Kernel Source Code - bin 0x09-fLS99zJDHOc.mkv [63.8 MB] Playing around with a Format String vulnerability and ASLR. format0 - bin 0x24-CyazDp-Kkr0.mkv [86.8 MB] Remote format string exploit in syslog() - bin 0x1E-MBz5C9Wa6KM.mkv [75.3 MB] Buffer Overflows can Redirect Program Execution - bin 0x0D-8QzOC8HfOqU.mkv [25.5 MB] Stack grooming and 100% reliable exploit for format0 - bin 0x25-AahpiYxKR2c.mkv [26.1 MB] Reversing and Cracking first simple Program - bin 0x05-VroEiMOJPm8.mkv [98.6 MB] TCP Protocol introduction - bin 0x1A-0EHo0HsTKJw.mkv [71.8 MB] The Heap - what does malloc() do - bin 0x14-HPDBOhiKaD8.mkv [31.4 MB] Smashing the Stack for Fun and Profit - setuid, ssh and exploit.education - bin 0x0B-Y-4WHf0of6Y.mkv [44.4 MB] 适合人群 网络安全工程师 二进制安全爱好者 系统程序员 学习收获 掌握二进制安全基础 精通堆内存管理技术 学会ROP利用技巧 祝您学习愉快! 学有所成,前程似锦!