legu_unpacker_2019
1.0.0
用於解壓縮受騰訊樂穀保護的 Android 應用程式的腳本。它僅適用於 Legu 版本4.1.0.15和4.1.0.18 。
部落格文章:https://blog.quarkslab.com/a-glimpse-into-tencents-legu-packer.html
原始DEX檔位於assets/0OO00l111l1l
中,佈局如下:
我們可以在 Kaitai 檔案中找到該結構的詳細資訊:legu_packed_file.ks
第二部分嵌入的hashmap在legu_hashmap.ks檔中描述:
pylegu 包含用於解密和解壓縮嵌入在assets/0OO00l111l1l
中的資料的 Python 綁定。
編譯並安裝pylegu
:
$ cd pylegu
$ python3.7 ./setup.py build -j4 install --user
$ python -c " import pylegu "
也可以使用 jap/pyucl 解壓縮數據,使用 aguinet/dragonffi 綁定 XTEA 的自訂實作。
範例 com.intotherain.voicechange.apk 是一個可疑的應用程序,可以按如下方式解包:
$ 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
解壓縮後的 DEX 檔案位於unpacked.apk
檔案中。