Skrip Python (sebelumnya bash ) yang menyiapkan Android APK (atau AAB, XAPK) untuk inspeksi lalu lintas HTTPS.
Script memungkinkan untuk mem -bypass SSL Pinning di Android> = 7 melalui membangun kembali file APK dan membuat penyimpanan kredensial pengguna tepercaya. Setelah memproses, file APK output siap untuk inspeksi lalu lintas HTTPS.
Jika file AAB menyediakan skrip membuat APK universal dan memprosesnya. Jika file XAPK asalkan skrip membuka ritsleting dan memproses setiap file APK.
Bekerja pada macOS, Linux dan Windows.
[Perlu pengujian] Kinerja pada windows mungkin akan beberapa kali (~ 3,5) lebih rendah daripada di macOS / linux ( apktool membutuhkan waktu lebih lama untuk memecahkan kode APK).
Dia:
java );bundletool (jika file AAB disediakan) atau unzip file xapk (dalam kasus xapk);apktool ;network_security_config.xml untuk membuat penyimpanan kredensial pengguna sebagai tepercaya;apktool ;uber-apk-signer .Secara opsional skrip memungkinkan untuk:
adb ;Akses root tidak diperlukan.
Instal alat dari daftar di bawah ini:
adb ke variabel lingkungan jalur)Alat di bawah ini akan diunduh oleh skrip jika tidak ada:
Prasyarat:
pip3 install -r requirements.txt Untuk Menginstal Modul Python yang DiperlukanSkrip dapat diluncurkan seperti
python3 /path/to/the/script/apk-rebuild.py
Jalankan python3 apk-rebuild.py -h (atau python3 apk-rebuild.py --help ) untuk mencetak manual penggunaan.
usage: apk-rebuild.py [-h] [-v] [-i] [--pause] [-p] [-r] [-o OUTPUT] [--no-src] [--only-main-classes] [--ks KS]
[--ks-pass KS_PASS] [--ks-alias KS_ALIAS] [--ks-alias-pass KS_ALIAS_PASS]
file
The script allows to bypass SSL pinning on Android >= 7 via rebuilding the APK file
and making the user credential storage trusted. After processing the output APK file
is ready for HTTPS traffic inspection.
positional arguments:
file path to .apk, .aab or .xapk file for rebuilding
options:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-i, --install install the rebuilded .apk file(s) via adb
--pause pause the script execution before the building the output .apk
-p, --preserve preserve the unpacked content of the .apk file(s)
-r, --remove remove the source file (.apk, .aab or .xapk) after the rebuilding
-o OUTPUT, --output OUTPUT
output .apk file name or output directory path (for .xapk source file)
--no-src use --no-src option when decompiling via apktool
--only-main-classes use --only-main-classes option when decompiling via apktool
--ks KS use custom .keystore file for .aab decoding and .apk signing
--ks-pass KS_PASS password of the custom keystore
--ks-alias KS_ALIAS key (alias) in the custom keystore
--ks-alias-pass KS_ALIAS_PASS
password for key (alias) in the custom keystore
Untuk membangun kembali file APK menggunakan skrip dengan argumen. Contohnya di bawah:
Tambahkan file AAB dan jangan hapus konten file APK yang tidak dikemas
python3 apk-rebuild.py input.aab --preserve
Tambahkan file APK, hapus file APK sumber setelah menambal dan instal file APK yang ditambal di perangkat Android
python3 apk-rebuild.py input.apk -r -i
Jalur ke file sumber harus ditentukan sebagai argumen pertama.
<debug-overrides> ke the network_security_config.xml (dan menambahkan properti android:networkSecurityConfig ke elemen application di AndroidManifest.xml tentu saja): tentu saja): tentu saja): tentu saja): https://developer.android.com/training/articles/security-config#debug-overrides.Untuk laporan bug, permintaan fitur atau mendiskusikan sebuah ide, buka masalah di sini.
Banyak terima kasih kepada: