Zelta - Hacko is a lightweight Android security library designed to protect your applications from tampering, reverse engineering, and running on rooted devices.
Developed by Shoukaku0x7 or Vynie7
- Signature Verification (SHA-256)
- Tamper Detection (APK re-signing)
- Root Detection (Native-level)
- Custom Payload Execution (upon tampering detection)
- Fallback Activity Launch (for recovery or lockout)
- Add as Git Submodule
If you're using Git, it's recommended to add this library as a submodule from your project root directory:
$ git submodule add https://github.com/Vynie7/ZeltaHacko ZeltaHacko
$ git submodule update --init --recursive- Add the library to your project
You must add this (in your settings.gradle or settings.gradle.kts):
//...
include(":ZeltaHacko")In your main application in your build.gradle or build.gradle.kts, you must add:
implementation project(":ZeltaHacko") // if modularized
// OR
implementation(project(":ZeltaHacko"))val zelta = ZeltaHackoMimi(context)
zelta.init(FallbackActivity::class.java) // Optional: for level 1 handlingzelta.launch(level = 1) {
if (it) {
Log.i("Zelta", "Signature verified.")
} else {
Log.w("Zelta", "Tampering detected!")
}
}| Level | Behavior |
|---|---|
1 |
Launch fallback Activity if signature is invalid |
2 |
Execute native C++ payload (e.g., crash, block, exit app) |
The isDeviceRooted() method uses native code to detect common signs of rooted devices.
Constructor to initialize the protection engine.
Set the fallback activity to be launched on detection (for level 1).
Launch the protection check. Calls back true if tampered.
Returns true if the device is rooted.
You must implement the following native functions in C++ (zeltamimi.cpp):
extern "C"
JNIEXPORT jstring JNICALL
Java_id_seraphyne_zeltamimi_ZeltaHackoMimi_sin(JNIEnv* env, jobject /* this */) {
std::string sin = "YOUR_SHA256";
return env->NewStringUTF(sin.c_str());
}class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val zelta = ZeltaHackoMimi(applicationContext)
zelta.init(FallbackActivity::class.java)
zelta.launch(level = 1) {
if (it) {
setContentView(R.layout.activity_main)
}
}
}
}To remove the submodule completely, run this one-liner:
$ git submodule deinit -f ZeltaHackoMimi
$ git rm -f libs/ZeltaHackoMimi
$ rm -rf .git/modules/ZeltaHackoMimi
$ rm -rf ZeltaHackoMimi- Sign your app with the correct release keystore
- Run on an emulator/device
- Try modifying the APK or re-signing it → it should trigger detection
- Combine this with ProGuard/R8 and native obfuscation.
- Store secrets and hash logic in C++ to make reverse engineering harder.
- For critical apps (banking, fintech), use multiple layers (debug checks, hook detection, etc.)
Pull requests and ideas are welcome! Feel free to fork and improve the system.
This project is licensed under the MIT License — see the LICENSE file for details.