随笔分类 - OLLVM
OLLVM
摘要:写了个脚本,根据当前传入参数,自动化生成当前整个项目的编译批处理, 执行批处理后,自动化使用clang编译整个项目, 编译完成后,即是一个包含了目标代码的Fuzz程序,双击等崩溃就好了。 我是把这个脚本集成到了VS中,所以编译完成之后,我甚至可以直接用VS来调试, 有源码的情况下,效果比较好,无源码
阅读全文
摘要:哎,行吧。来吧。 先去下载。 LLVM官网 llvm.org 下载 12.0.1 源码 LLVM + Clang 第一步: 然后Cmake重新打包,生成项目配置。 我真的很感动,竟然一个错误都没有,只有一个警告。 妈了个巴的,C++ 正则的问题。 行吧,挺好的,虽然我不用,但是不影响。 真的感谢党感
阅读全文
摘要:使用libFuzzer 的时候,编译得时候,需要一个命令来编译 这个python 脚本,可以递归搜集当前目录下所有C、C++源文件, 然后输出一条编译命令,到一个批处理文件中,叫做build.bat, 然后用VS直接执行这条批处理命令,即可直接编译, 由于VS有接管输出的功能,所以也可以看到编译过程
阅读全文
摘要:这个,其实挺坑的。使用方法很诡异。 首先 https://www.cnblogs.com/suanguade/p/13833360.html 用以上帖子的方法,重新完整编译LLVM的项目, 其实也不用太完整,主要是需要集成 ”Compiler-RT“相关的库, 因为 libFuzzer 相关的功能都
阅读全文
摘要:编译方法,前置工作。。。 https://www.cnblogs.com/suanguade/p/13694216.html 后两步其实不用做,然后就可以编译了, 如果需要编译”Compiler-RT“相关的库, 需要做如下修改, L:\LLVM\llvm-11.0.0.src\project\cm
阅读全文
摘要:我刚整合好LLVM 10.0.1,然后出11.0.0 了, 人生怎么能这样呢。 我昨晚整合好的, but ,它前天出的 LLVM 11.0.0, 要不然,我等它出LLVM 11.0.1 再说吧。
阅读全文
摘要:我终于看到这些了。真的不容易。
阅读全文
摘要:咋说呢,LLVM都10了,我也体验一下呗。 编译之前的准备,去看这个文章 https://www.cnblogs.com/suanguade/p/11415993.html 主要是用 cmake 生成解决方案之后的问题,这里需要说明一下。 首先,由于我担心LLVM 使用的C++ 版本太高,所以,我这
阅读全文
摘要:由于新版LLVM(9.0.0),无法直接调用Util 自带的 LowerSwitch 了,所以这里,我自己弄了一个, 主要功能是展开Switch,把它变成if else,理论上其实没啥区别,但是实际上在LLVM的角度上看,区别很大, switch 实际上是一条 instruction ,后面的 ca
阅读全文
摘要:找到 \obfuscator-llvm-4.0\lib\Transforms\Obfuscation\CryptoUtils.cpp 这个文件, 新增两个头文件 #include <windows.h>#include <wincrypt.h> bool CryptoUtils::prng_seed
阅读全文
摘要:ollvm 的编译相对 llvm 更简单, 1:下载ollvm代码,去 https://github.com/obfuscator-llvm/obfuscator/tree/llvm-4.0 下载,并且解压到本地。 2:安装VS 2017. 3:使用 cmake-gui 3.13.0 x64 来重新
阅读全文