What problem does it solve?
This Skill solves the challenge of analyzing closed-source Android native libraries (.so files) to extract hidden algorithms, cryptographic signatures, and native/Java call chains, which is often infeasible with static analysis alone and requires a controlled, customizable emulation environment.
Core Features & Use Cases
- Unidbg Project Configuration: Guides you through setting up the Unidbg framework, including project structure, backend selection (Unicorn2, Dynarmic, KVM, Hypervisor), rootfs setup, and Maven dependency configuration for Android ARM32/ARM64 emulation.
- JNI & Environment Emulation: Provides templates and best practices for implementing JNI callbacks, custom syscall handlers, function hooking (via Dobby), and anti-detection countermeasures to replicate the target app's Android runtime environment.
- Real-World Reverse Engineering: For example, use this Skill to extract the request-signing algorithm from a ride-hailing app's native library by emulating its JNI methods, mapping required APK assets and system properties, and capturing the algorithm's output.
Quick Start
Use the unidbg-emulation skill to set up a Unidbg project for your target Android .so file, implement the required JNI callbacks and file mappings, and run the emulation to extract the output of the library's native signing or algorithm method.