正版资源二进制安全系列
这套二进制安全系列面向的是已经写过 C/C++、能在 Linux 或 Windows 上跑起调试器的开发者。它不铺垫语法,直接从内存分配器的实现切入,讲堆、讲栈、讲控制流劫持的构造方式。如果你之前只停留在「知道有栈溢出这回事」,但没亲手绕过保护、没在调试器里跟踪过 chunk 的拆分与合并,这套内容
这套二进制安全系列面向的是已经写过 C/C++、能在 Linux 或 Windows 上跑起调试器的开发者。它不铺垫语法,直接从内存分配器的实现切入,讲堆、讲栈、讲控制流劫持的构造方式。如果你之前只停留在「知道有栈溢出这回事」,但没亲手绕过保护、没在调试器里跟踪过 chunk 的拆分与合并,这套内容适合拿来对照实践。
技术栈与运行环境
内容横跨 Linux 和 Windows 两个平台,工具链也是分开的。Linux 侧以 glibc 的 ptmalloc 为主线,涉及 GDB 配合 pwndbg/peda 的调试方式,ROP 部分会用到 ROPgadget、ropper 一类 gadget 检索工具,以及 pwntools 编写利用脚本。Windows 侧聚焦用户态堆管理,涉及 LFH(低碎片堆)的分配策略与近代堆的利用基础,调试环境通常是 WinDbg 配合页堆(Page Heap)来观察分配行为。
这种双平台结构意味着两套 API 和两套调试习惯。好处是对比性强——同样一个「溢出后控制执行流」的目标,在 Linux 上靠 ROP 串 gadget,在 Windows 上还要考虑堆元数据的编码与校验差异。建议按平台分两条线学,不要交叉着看,否则容易把两边的结构体字段记混。
内容组织与推进逻辑
从目录顺序能看出推进方式:先铺垫内存管理,再进入利用技术。Linux 堆内存管理是基础篇,讲 chunk 结构、bins 的分类(fastbin、smallbin、unsortedbin 等)、分配与释放时的链表操作。这部分是后面所有堆利用的前提——不理解 free 时 chunk 怎么进 bin、malloc 时怎么被取出,就看不懂 UAF 和 double free 能做什么。
Windows 部分单列了 LFH 特别篇,说明编者认为这块值得单独讲透。LFH 是 Windows 在频繁分配小对象时启用的前端堆,它的分配随机化和元数据布局直接影响可用性,是进阶内容里的关键一环,放在堆利用基础之前或之后学都行,但要单独留时间。
ROP 部分目前能看到的是 Linux 环境下的上半部分,围绕 return-oriented programming 的构造展开。这块和栈溢出的关系最紧:栈溢出给了你覆盖返回地址的能力,ROP 决定了在 NX 开启、栈不可执行时你还能做什么。两者应当连着看。
可复用的模块与练习方式
这类内容真正的价值不在于「看完」,而在于能不能自己复现。几个可以固化成模板的东西:
- 调试脚本:把常用的断点、内存查看、chunk 遍历命令写成 GDB 脚本或 pwndbg 自定义命令,每次分析新样本直接加载,省去重复输入。
- 利用脚本骨架:pwntools 的
remote/process切换、flat()组装 payload、泄漏地址与重定向执行流的流程,可以抽成模板,换目标只改偏移和 gadget。 - 结构体速查:把 glibc 的
malloc_chunk、Windows 的_HEAP_ENTRY等关键字段整理成一页笔记,配合调试器里的实际内存对照,比反复翻源码快。 - 环境快照:不同 glibc 版本的安全检查(如 tcache 的引入、safe-linking)不一样,把练习用的发行版版本号固定下来,避免「本地能打通、换台机器就失败」。
练习建议自己写靶程序,而不是只跑现成的题目。写一个带可控输入、编译时关掉部分保护的小程序,然后逐个开启 NX、ASLR、Canary、Full RELRO,观察利用方式如何被迫改变。这个过程比看视频更能建立对保护机制的条件反射。
自学路径建议
如果基础不牢,先补三样:x86-64 汇编与调用约定、C 语言的内存布局(栈帧、全局区、堆)、以及 Linux 下的 ELF 加载与动态链接基本概念。这三块缺失会直接卡在 ROP 和堆利用的入口。
然后按「栈溢出 → ROP → 堆基础 → 堆利用 → LFH/Windows 堆」的顺序推进。每学一个技术点,配一个自己编译的靶子,用调试器单步跟到关键结构体的变化。整套资料更偏向原理与手法的对照参考,适合边看边在本地环境里改参数、换版本复现,而不是一次性刷完。真正吃透的标志是:给你一个没有源码的二进制,你能用工具定位可疑分配点,并判断它可能对应哪类利用手法。
二进制安全系列
深入浅出二进制安全技术
编辑点评
系统讲解二进制安全,涵盖堆内存管理、ROP利用、栈溢出等多种技术,适合进阶学习者。
⭐ 编辑推荐
本系列课程深入浅出地讲解了二进制安全领域的核心知识,包括Linux和Windows系统的堆内存管理、ROP技术、栈溢出等,适合有志于深入了解二进制安全的开发者。
✨ 课程亮点
课程目录
0x12 浅析Linux堆内存管理1 集
- 浅析Linux堆内存管理.mp4 [194.2 MB]
0x11 【特别篇】深入理解LFH1 集
- 【特别篇】深入理解LFH.mp4 [230.6 MB]
0x10 近代Windows用户堆的利用基础1 集
- 近代Windows用户堆的利用基础.mp4 [210.3 MB]
0x09 Linux环境下的ROP(上)1 集
- Linux环境下的ROP(上).mp4 [144.6 MB]
0x07 一次失败的栈溢出(SEH)之GetGo Download Manager1 集
- 一次失败的栈溢出(SEH)之GetGo Download Manager.mp4 [75.9 MB]
0x06 另辟蹊径之覆盖SEH1 集
- 另辟蹊径之覆盖SEH.mp4 [118.1 MB]
0x04 经典栈溢出实例之DNSTracer1 集
- 经典栈溢出实例之DNSTracer.mp4 [181.3 MB]
0x03 经典栈溢出实例之EasyRM2MP31 集
- 经典栈溢出实例之EasyRM2MP3.mp4 [190.3 MB]
0x02 经典栈溢出(下)1 集
- 经典栈溢出(下).mp4 [123.8 MB]
0x0F 【特别篇】Windows上古-近代堆详述1 集
- 【特别篇】Windows上古-近代堆详述.mp4 [210.6 MB]
0x0E 探索上古Windows用户堆1 集
- 探索上古Windows用户堆.mp4 [191.8 MB]
0x0D Windows环境下的ROP(下)1 集
- Windows环境下的ROP(下).mp4 [151.4 MB]
0x0C Windows环境下的ROP(上)1 集
- Windows环境下的ROP(上).mp4 [169.4 MB]
0x0B Linux下ROP练习之r0pbaby[CTF-2015-defcon]1 集
- Linux下ROP练习之r0pbaby[CTF-2015-defcon].mp4 [109.2 MB]
0x0A Linux环境下的ROP(下)1 集
- Linux环境下的ROP(下).mp4 [144.0 MB]
0x01 经典栈溢出(上)1 集
- 经典栈溢出(上).mp4 [158.3 MB]
slides9 条
- 经典栈溢出.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_Course7 条
- First steps into networking with net0 from exploit.education protostar - bin 0x19-2CL-AAcgyuo.webm [42.2 MB]
- Rooting a CTF server to get all the flags with Dirty COW - CVE-2016-5195-Lj2YRCXCBv8.webm [23.3 MB]
- Buffer overflow on a modern system impossible stack0 - part 1 - bin 0x21-4HxUmbOcN6Y.webm [51.3 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]
适合人群
- 网络安全工程师
- 二进制安全爱好者
- 系统程序员
🎯 学习收获
- 掌握二进制安全基础
- 精通堆内存管理技术
- 学会ROP利用技巧
🎉 祝您学习愉快!




