Skripte zum Entpacken von Android-Anwendungen, die durch Tencent Legu geschützt sind. Es funktioniert nur mit den Versionen 4.1.0.15 und 4.1.0.18 von Legu.
Blogbeitrag: https://blog.quarkslab.com/a-glimpse-into-tencents-legu-packer.html
Die ursprünglichen DEX-Dateien befinden sich in assets/0OO00l111l1l
und haben das folgende Layout:
Die Details dieser Struktur finden Sie in der Kaitai-Datei: legu_packed_file.ks
Die im zweiten Teil eingebettete Hashmap wird in der Datei legu_hashmap.ks beschrieben:
pylegu enthält die Python-Bindungen zum Entschlüsseln und Dekomprimieren der in assets/0OO00l111l1l
eingebetteten Daten.
So kompilieren und installieren Sie pylegu
:
$ cd pylegu
$ python3.7 ./setup.py build -j4 install --user
$ python -c " import pylegu "
Man könnte auch jap/pyucl verwenden, um die Daten zu dekomprimieren, und aguinet/dragonffi, um die benutzerdefinierte Implementierung von XTEA zu binden.
Das Beispiel com.intotherain.voicechange.apk ist eine verdächtige Anwendung, die wie folgt entpackt werden kann:
$ python ./unpack.py ./samples/com.intotherain.voicechange.apk
[+] Legu version: 4.1.0.15
[+] Password is ' IPk2Hw7AKTuIQBlc '
[+] Number of dex files: 1
[+] Unpacking # 1 DEX files ...
[+] dex 0 compressed size: 0x1619a3
[+] dex 0 uncompressed size: 0x5671f8
[+] Unpacking # 1 hashmap ...
[+] hashmap 0 compressed size: 0x4399c
[+] hashmap 0 uncompressed size: 0x95558
[+] Unpacking # 1 packed methods ...
[+] packed methods 0 compressed_size: 0xf4636
[+] packed methods 0 uncompressed_size: 0x1e3072
[+] Stage 2: Patching DEX files
[+] Unpacked APK: unpacked.apk
Die entpackten DEX-Dateien befinden sich in der Datei unpacked.apk
.