├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── assets ├── bcf_cond_jump.jpg ├── bcf_jump.jpg ├── flat_plus.jpg ├── invoke_flat_plus.jpg ├── normal_bcf.jpg └── normal_flat.jpg ├── clang_patch.diff ├── demo ├── check.c ├── check_O0 ├── check_bcf_O0 ├── check_bcf_O3 ├── check_fla_plus_O0 └── check_fla_plus_O3 ├── include └── llvm │ └── Transforms │ └── ToyObfuscator │ ├── BogusControlFlowPass.hpp │ └── FlatPlusPass.hpp └── src ├── BogusControlFlow.cpp ├── BogusControlFlow.hpp ├── CMakeLists.txt ├── FlatPlus.cpp ├── FlatPlus.hpp ├── LLVMBuild.txt ├── LegacyIndirectBrExpand.cpp ├── LegacyIndirectBrExpand.hpp ├── LegacyLowerSwitch.cpp ├── LegacyLowerSwitch.hpp ├── Utils.cpp └── Utils.hpp /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | test 3 | build -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/README.md -------------------------------------------------------------------------------- /assets/bcf_cond_jump.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/assets/bcf_cond_jump.jpg -------------------------------------------------------------------------------- /assets/bcf_jump.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/assets/bcf_jump.jpg -------------------------------------------------------------------------------- /assets/flat_plus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/assets/flat_plus.jpg -------------------------------------------------------------------------------- /assets/invoke_flat_plus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/assets/invoke_flat_plus.jpg -------------------------------------------------------------------------------- /assets/normal_bcf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/assets/normal_bcf.jpg -------------------------------------------------------------------------------- /assets/normal_flat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/assets/normal_flat.jpg -------------------------------------------------------------------------------- /clang_patch.diff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/clang_patch.diff -------------------------------------------------------------------------------- /demo/check.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/demo/check.c -------------------------------------------------------------------------------- /demo/check_O0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/demo/check_O0 -------------------------------------------------------------------------------- /demo/check_bcf_O0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/demo/check_bcf_O0 -------------------------------------------------------------------------------- /demo/check_bcf_O3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/demo/check_bcf_O3 -------------------------------------------------------------------------------- /demo/check_fla_plus_O0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/demo/check_fla_plus_O0 -------------------------------------------------------------------------------- /demo/check_fla_plus_O3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/demo/check_fla_plus_O3 -------------------------------------------------------------------------------- /include/llvm/Transforms/ToyObfuscator/BogusControlFlowPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/include/llvm/Transforms/ToyObfuscator/BogusControlFlowPass.hpp -------------------------------------------------------------------------------- /include/llvm/Transforms/ToyObfuscator/FlatPlusPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/include/llvm/Transforms/ToyObfuscator/FlatPlusPass.hpp -------------------------------------------------------------------------------- /src/BogusControlFlow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/BogusControlFlow.cpp -------------------------------------------------------------------------------- /src/BogusControlFlow.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/BogusControlFlow.hpp -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/CMakeLists.txt -------------------------------------------------------------------------------- /src/FlatPlus.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/FlatPlus.cpp -------------------------------------------------------------------------------- /src/FlatPlus.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/FlatPlus.hpp -------------------------------------------------------------------------------- /src/LLVMBuild.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/LLVMBuild.txt -------------------------------------------------------------------------------- /src/LegacyIndirectBrExpand.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/LegacyIndirectBrExpand.cpp -------------------------------------------------------------------------------- /src/LegacyIndirectBrExpand.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/LegacyIndirectBrExpand.hpp -------------------------------------------------------------------------------- /src/LegacyLowerSwitch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/LegacyLowerSwitch.cpp -------------------------------------------------------------------------------- /src/LegacyLowerSwitch.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/LegacyLowerSwitch.hpp -------------------------------------------------------------------------------- /src/Utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/Utils.cpp -------------------------------------------------------------------------------- /src/Utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veritas501/ToyObfuscator/HEAD/src/Utils.hpp --------------------------------------------------------------------------------