LLVM PASS类pwn题入门

来源:岁月联盟 编辑:猪蛋儿 时间:2022-07-04

基础知识

既然要学习LLVM PASS类pwn,首先要知道什么是LLVM(以下内容来自百度):LLVM是构架编译器的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间、链接时间、运行时间以及空闲时间,对开发者保持开放,并兼容已有脚本。

然后要知道LLVM PASS是什么:pass是一种编译器开发的结构化技术,用于完成编译对象(如IR)的转换、分析或优化等功能。pass的执行就是编译器对编译对象进行转换、分析和优化的过程,pass构建了这些过程所需要的分析结果。

这里来看一个图:

首先我们的源代码会被clang编译器编译成一种中间代码