课程定位:LLVM 代码混淆的底层原理与实现 本课程专注于 LLVM 框架在代码混淆领域的应用,旨在解决开发者在面对二进制保护时“只会用工具、不懂底层原理”的工程痛点。市面上常见的混淆教程往往止步于命令行工具的使用,缺乏对 IR(中间表示)层面转换机制的深入剖析。本课程从 LLVM 编译流程入手,详细拆解 Pass 的编写方法,系统覆盖常量替代、指令替代、…
本课程专注于 LLVM 框架在代码混淆领域的应用,旨在解决开发者在面对二进制保护时“只会用工具、不懂底层原理”的工程痛点。市面上常见的混淆教程往往止步于命令行工具的使用,缺乏对 IR(中间表示)层面转换机制的深入剖析。本课程从 LLVM 编译流程入手,详细拆解 Pass 的编写方法,系统覆盖常量替代、指令替代、基本块分割、虚假控制流、随机控制流以及控制流平坦化等核心混淆技术。通过理论分析与代码实现相结合,帮助后端开发者和安全研究人员建立从源码到 IR 再到混淆二进制的完整知识体系,为定制化的代码保护策略提供可落地的工程参考。
课程适合具备 C/C++ 扎实基础、熟悉 Linux 开发环境及 CMake 构建系统的开发者。虽然不强制要求精通 LLVM,但建议学习者预先了解基本的编译原理(预处理、汇编、链接)及对指针和内存管理有清晰认知。为保障学习效率,建议按照以下路径推进:首先攻克“LLVM 环境搭建”与“IR 概述及常用指令”,这是理解后续所有 Pass 编写的基础;其次深入“Pass 理论与 API”,掌握如何遍历和修改 IR;接着研读“OLLVM 初体验”与“代码混淆基本原理”,建立宏观认识;最后进入核心技术攻坚阶段,依次学习“基本块分割”、“虚假控制流”、“随机控制流”及“常量替代”,每章均遵循“原理分析先行、代码实现跟进”的节奏。对于 CMake 不熟的同学,可优先观看环境配置建议视频,避免在构建阶段耗费过多时间。
完成本课程后,你将具备独立编写自定义 LLVM Pass 的能力,能够根据需求组合多种混淆技术以增强二进制安全性,并理解 OLLVM 等开源工具的底层实现逻辑,从而具备初步的反混淆分析能力。资料包中的视频是主要的实践依据,建议采用“对照复现”的学习策略:先阅读原理分析视频推导变换逻辑,再观看代码实现视频对照源码修改,最后动手在本地环境运行测试,验证 IR 变化与混淆效果。不要仅停留在观看层面,务必亲自配置 LLVM 源码环境,逐步实现从基本块分割到控制流平坦化的各个 Pass,最终能够独立完成一个小型的代码混淆工具链,形成可复用的工程实践资产。
25.常量替代-原理分析_ev.mp4 [8.9 MB] 23.随机控制流-原理分析_ev.mp4 [22.3 MB] 22.指令替代-代码实现_ev.mp4 [125.2 MB] 21.指令替代-原理分析_ev.mp4 [12.8 MB] 18.控制流平坦化-原理分析_ev.mp4 [35.0 MB] 17.经典代码混淆工具OLLVM初体验_ev.mp4 [38.8 MB] 16.代码混淆基本原理_ev.mp4 [15.3 MB] 15.基本块分割-代码实现_ev.mp4 [49.6 MB] 13.基本块分割-原理分析_ev.mp4 [20.0 MB] 12.LLVM部分官方文档介绍_ev.mp4 [103.7 MB] 8.IR常用指令讲解-Part1_ev.mp4 [32.3 MB] 6.给没有学过CMake的同学的一点建议_ev.mp4 [7.1 MB] 3.LLVM环境搭建与基本用法_ev.mp4 [44.6 MB] 2.LLVM概述与LLVM编译流程_ev.mp4 [17.5 MB] 1.课程概述_ev.mp4 [17.4 MB] 14.基本块分割-原理分析_ev.mp4 [20.0 MB] 26.常量替代-代码实现_ev.mp4 [57.6 MB] 11.Pass常用API讲解_ev.mp4 [28.8 MB] 9.IR常用指令讲解-Part2_ev.mp4 [32.0 MB] 19.虚假控制流-原理分析_ev.mp4 [31.4 MB] 5.Pass-瀹炶返閮ㄥ垎_ev.mp4 [36.1 MB] 24.随机控制流-代码实现_ev.mp4 [76.7 MB] 20.虚假控制流-代码实现_ev.mp4 [72.5 MB]