文章目录 前言 I、编译生成动态库,分析BogusControlFlow 1.1) 分析BogusControlFlow 1.2 Flattening.cpp 扁平化功能的实现分析 1.3)最后一个Substitution 将一些计算指令替换成一些复杂的转换表达式 前言 基于llvm的代码混淆技术主要基于中间层代码的pass。我们可以编写自己的Pass去混淆代码,以增加他人反编译的难度。 Obfuscation /lib/Transforms/CMakeLists.txt add_subdirectory(Utils) add_subdirectory(Instrumentation) add_sub