如何向LLVM提交代码 📅 Dec 3, 2022 · ☕ 3 min read 这几天给LLVM提了一些Commit,整一个提交过程非常复杂(因为其官方是不接受Github PullRequest的),review也十分严
OLLVM 排坑优化 📅 Nov 23, 2022 · ☕ 7 min read 在写OLLVM的时候,经常会遇到各种坑点,这里就专门开一篇来记录一些自己遇到的、比较难处理的坑。本文动态更新。 复制基本块相关 在Obf的时候经
LLVM Opt view-cfg 优雅展示程序结构 📅 Oct 11, 2022 · ☕ 2 min read 在写混淆的时候,经常会遇到一个问题:在实现一些会改变控制流的混淆时,会理不清现在的控制流到底是怎么样的。比如在平坦化时,需要涉及很多移动基本
OLLVM Pluto 之平坦化增强源码学习 📅 Jul 27, 2022 · ☕ 5 min read 学 (抄)了一手Pluto的平坦化增强(FlatteningEnhanced),不知道为啥Pluto的这份代码和其他的代码风格差异极大,代码可
OLLVM 之全局变量间接访问源码学习 📅 Jul 7, 2022 · ☕ 4 min read 我真的太懒了,半年前写的代码今天才翻出来写博客。 全局变量因为其所在的地址对于全局都是固定的,是否有一种可能,通过Pass将所有全局变量的地址
Windows下优雅使用LLVMPass 📅 May 28, 2022 · ☕ 6 min read LLVM16-有bug不建议折腾,究极复杂;16及以上的版本可以玩 本文第一次公布的时候是LLVM12版本,所以最初也是以这个版本的配置来写的
OLLVM 之控制流平坦化源码学习 📅 Oct 18, 2021 · ☕ 10 min read 控制流平坦化 ,Control-Flow-Flattening(FLA),的基本思想主要是通过一个主分发器来控制程序基本块的执行流程。该方法把
OLLVM 之指令替换源码学习 📅 Oct 14, 2021 · ☕ 4 min read 指令替换,Instruction-Substitution(sub),是一种比较简单的混淆方式,会将代码中一些简单的数学运算复杂化,但这种方
LLVM 调试环境配置 📅 Oct 14, 2021 · ☕ 3 min read 感谢@Richar,教我配出了超级方便的LLVM Pass源码级调试环境 Orzzzz 准备工作 按照前一篇博客 LLVM编译与FirstPass 配置好LLVM
LLVM 编译与First Pass 📅 Oct 12, 2021 · ☕ 7 min read 要开始正儿八经认真学LLVM了。先吐槽一下,这东西是真的麻烦,编译起来一堆坑,项目还贼大,一编译就是十几分钟至一个小时。还吃电脑各种环境,各
OLLVM 之虚假控制流源码学习 📅 Sep 15, 2021 · ☕ 10 min read 本来这篇文章5月就写好了,然后因为各种各样的事情咕了好久,以至于今天才发出来。 虚假控制流,Bogus-Control-Flow(BCF),该