Useful utilities for Hyundai/KIA/Genesis Gen5W navigation firmwares. Join the Discord server here: https://discord.gg/KpwrAeHmQJ
odex_to_dex.py: Converts.odexfile to.dexusing smali.tarlist_decrypt.py: DecryptsTarList.txt_encryptedfile in Gen5W firmware. This can also be used to encryptTarList.txtfile.unpack_apk.py: Automatically extracts apk using Apktool and converts<APK_NAME>.odextoclasses.dexfile.parse_ver.py: Reads.verfile in Gen5W firmware and prints it in human-friendly form.decrypt_navi.py: Decrypts encrypted libraries in Gen5W firmware 'sw_backup' folder.encrypt_navi.py: Encrypts decrypted libraries in Gen5W firmware 'sw_backup' folder.sha224_gen.py: Generates Hyundai's specialized SHA224 hash for Gen5W firmware.parse_tarlist.py: ParsesTarList.txtfile in Gen5W firmware and prints it in human-friendly form.make_patched_firmware.py: Makes custom patched firmware withsw_backup.tar,TarList.txt_encryptedand.verfiles.parse_update_info.py: Parsesupdate.infofile in Gen5W firmware and prints it in human-friendly form.sha256_gen.py: Generates Hyundai's specialized SHA256 hash for Gen5W firmware.build_hook.sh: Automatically run textify tool and buildshook.cfile intohook.ofile. This requires Android NDK to be installed. Setup ANDROID_NDK_ROOT environment variable to the path of Android NDK.hook.c: Actual hook code forlibExSLAndroid_JNI.solibrary. This uses no any default libraries or standard library functions. The build arguments are-mthumb -fPIC -shared -fomit-frame-pointer -nostdlib -nodefaultlibs -o hook.o.sign_update_info_rsa.py: Signsupdate.infofile in Gen5W firmware using RSA private key.pub.pemandpri.pem: Self generated RSA public and private keys for signingupdate.infofile.build_tc-write-misc.sh: Downloadstc-write-misc.cfrom Telechips and buildtc-write-misctool for Gen5W firmware. This requires Android NDK to be installed. Setup ANDROID_NDK_ROOT environment variable to the path of Android NDK.make_vaild_recovery_img.py: Patches customrecovery.imgfile to pass the checksum check in Gen5W firmware.
- Python 3 (tested on
3.10.10) - Everything in
requirements.txt - libtar (only required when creating custom firmware, tested on
1.2.20) - smali (only required when converting
.odexto.dex, tested on2.5.2-dev) - Apktool (only required when unpacking apk, tested on
2.7.0) - Android 4.4.2 system dump (only required when unpacking apk)
- Android NDK (only required when building hook, tested on
25.2.9519653)
Use at your own risk.