LLVM - 开发属于自己的llvm plugin(1)
开始 这里使用的语言是Rust! LLVM 插件仅仅是一个 dylib,LLVM 工具(例如opt、lld )加载它时会为其提供PassBuilder。因此,你必须在你的Cargo.toml 添加下面这行: [lib] crate-type = ["cdylib"] PassBuilder允许注册
阅读全文 →开始 这里使用的语言是Rust! LLVM 插件仅仅是一个 dylib,LLVM 工具(例如opt、lld )加载它时会为其提供PassBuilder。因此,你必须在你的Cargo.toml 添加下面这行: [lib] crate-type = ["cdylib"] PassBuilder允许注册
阅读全文 →安装依赖 首先,让我们安装所需的软件包: pkg install rust pkg install git pkg install clang 这些命令将分别安装: Rust: Amice 项目的编译语言 Git: 用于克隆项目源码 Clang: 将使用 Amice 插件的编译器安装依赖 首先,让我
阅读全文 →ollvm有很多种方法去除,其中ollvm老是生成那种没什么鸟用的分支跳转,无论是用unidbg/unicorn去trace还是做上下文收集把无用分支跳转nop掉(部分分支永远跑不通),都无法解决ollvm的问题。 这个时候github老是给我推送什么把二进制文件翻译成LLVM-IR的奇怪文章,这个
阅读全文 →