Reverse Engineering
Duck Droid2 und unidbg: Zwei Wege zu Android-Signaturen
Beide Simulatoren können signierte Android-Bibliotheken ausführen. Duck Droid2 setzt auf die echte bionic-Bibliothek und ausdrücklich deklarierte JNI-Umgebungen, unidbg auf Host-Java, Syscall-Handler und eine gepatchte bionic.

- Duck Droid2 lädt die libc aus einem Android-14-ROM und betreibt damit Preinit, Scudo und Pthread in einer echten bionic-Umgebung.
- Unidbg bildet JNI über Host-Java ab, behandelt Syscalls in Java und verbindet Threads über eine eigene bionic-Bibliothek mit Clone-Patch.
- Beide Ansätze können signierte Bibliotheken ausführen; Duck Droid2 verlangt deklarierte JNI-Klassen und Methoden, während unidbg Klassen bei Bedarf anlegt.
Der Vergleich stützt sich auf Entwicklungsprotokolle von Duck Droid2 und den Quellcode von unidbg 0.9.8. Neben der JNI-Philosophie behandelt er Speicherfehler und eine Timeout-Race, die in Belastungstests mit rund acht Prozent Fehlschlägen auftrat.
Quelle: bbs.kanxue.com/thread-293370.htm