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)에서 이 구조의 세부 정보를 찾을 수 있습니다.
두 번째 부분에 포함된 해시맵은 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
파일에 있습니다.