├── Helpers ├── LLVMFlags.h ├── VMProtectHelpers.cpp └── compile_macos.sh ├── Passes ├── include │ ├── ConstantConcretizationPass.hpp │ ├── KnownIndexSelectPass.hpp │ ├── MemoryCoalescingPass.hpp │ ├── MemoryLocations.hpp │ ├── PartialOverlapDSEPass.hpp │ ├── PointersHoistPass.hpp │ ├── SegmentsAAPass.hpp │ └── SynthesizeFlagsPass.hpp └── src │ ├── ConstantConcretizationPass.cpp │ ├── KnownIndexSelectPass.cpp │ ├── MemoryCoalescingPass.cpp │ ├── PartialOverlapDSEPass.cpp │ ├── PointersHoistPass.cpp │ ├── SegmentsAAPass.cpp │ └── SynthesizeFlagsPass.cpp ├── README.md └── Results ├── DevirtualizeMe1Func1.ll ├── DevirtualizeMe2Func1.ll ├── DevirtualizeMe2Func2.ll ├── RandomEMPFunc1.ll ├── RandomEMPFunc2.ll ├── RandomEMPFunc3.ll └── Switches64Func1.ll /Helpers/LLVMFlags.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Helpers/LLVMFlags.h -------------------------------------------------------------------------------- /Helpers/VMProtectHelpers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Helpers/VMProtectHelpers.cpp -------------------------------------------------------------------------------- /Helpers/compile_macos.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Helpers/compile_macos.sh -------------------------------------------------------------------------------- /Passes/include/ConstantConcretizationPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/include/ConstantConcretizationPass.hpp -------------------------------------------------------------------------------- /Passes/include/KnownIndexSelectPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/include/KnownIndexSelectPass.hpp -------------------------------------------------------------------------------- /Passes/include/MemoryCoalescingPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/include/MemoryCoalescingPass.hpp -------------------------------------------------------------------------------- /Passes/include/MemoryLocations.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/include/MemoryLocations.hpp -------------------------------------------------------------------------------- /Passes/include/PartialOverlapDSEPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/include/PartialOverlapDSEPass.hpp -------------------------------------------------------------------------------- /Passes/include/PointersHoistPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/include/PointersHoistPass.hpp -------------------------------------------------------------------------------- /Passes/include/SegmentsAAPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/include/SegmentsAAPass.hpp -------------------------------------------------------------------------------- /Passes/include/SynthesizeFlagsPass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/include/SynthesizeFlagsPass.hpp -------------------------------------------------------------------------------- /Passes/src/ConstantConcretizationPass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/src/ConstantConcretizationPass.cpp -------------------------------------------------------------------------------- /Passes/src/KnownIndexSelectPass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/src/KnownIndexSelectPass.cpp -------------------------------------------------------------------------------- /Passes/src/MemoryCoalescingPass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/src/MemoryCoalescingPass.cpp -------------------------------------------------------------------------------- /Passes/src/PartialOverlapDSEPass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/src/PartialOverlapDSEPass.cpp -------------------------------------------------------------------------------- /Passes/src/PointersHoistPass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/src/PointersHoistPass.cpp -------------------------------------------------------------------------------- /Passes/src/SegmentsAAPass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/src/SegmentsAAPass.cpp -------------------------------------------------------------------------------- /Passes/src/SynthesizeFlagsPass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Passes/src/SynthesizeFlagsPass.cpp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/README.md -------------------------------------------------------------------------------- /Results/DevirtualizeMe1Func1.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Results/DevirtualizeMe1Func1.ll -------------------------------------------------------------------------------- /Results/DevirtualizeMe2Func1.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Results/DevirtualizeMe2Func1.ll -------------------------------------------------------------------------------- /Results/DevirtualizeMe2Func2.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Results/DevirtualizeMe2Func2.ll -------------------------------------------------------------------------------- /Results/RandomEMPFunc1.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Results/RandomEMPFunc1.ll -------------------------------------------------------------------------------- /Results/RandomEMPFunc2.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Results/RandomEMPFunc2.ll -------------------------------------------------------------------------------- /Results/RandomEMPFunc3.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Results/RandomEMPFunc3.ll -------------------------------------------------------------------------------- /Results/Switches64Func1.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLVMParty/TicklingVMProtect/HEAD/Results/Switches64Func1.ll --------------------------------------------------------------------------------