legu_unpacker_2019
1.0.0
Tencent Legu によって保護されている 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
2 番目の部分に埋め込まれたハッシュマップは、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
ファイルにあります。