In short, Hikari is loaded into the compiler during the build process and transforms LLVM IR before final code generation. This makes it possible to apply obfuscation at compile time, without manually rewriting your source code.
Note
In this repo I provide a step-by-step guide to start off with obfuscation in your iOS/Android projects, which will be enough to protect your binary from skid or vibe-code reverse engineering
Supports newer LLVMs!
Supports Windows-native set up!
Warning
For other (industrial) purposes I do not recommend this free to use obfuscator as it's experimental and outdated. I do not take actions for your vulnerabilities.
You may aswell check out O-MVLL/dProtect - maintained mobile open-source obfuscator (harder to set up, but more functionality and convenient use)
Or check out other comercial and free obfuscators here
- Function call obfuscation
- Bogus control flow
- Instruction substitution
- Control-flow flattening
- Basic block splitting
- String encryption
- Constant encryption
- Indirect branch transformation
- Function wrappers
- Anti-debugging
- Anti-hooking
- Anti-class-dump
- Core plugin / obfuscation infrastructure
And more...
The build guides are split into branches:
iOS - Build Hikari with Xcode Toolchain / Theos
Android - Build and port Hikari Plugin to Android Studio (Very detailed guide)
-
MacOS/Linux
-
Windows-Native
Flags and usage read here
Tip
You may leave an issue for further help.