البرنامج النصي Python (سابقًا bash ) الذي يعد Android APK (أو AAB ، XAPK) لفحص حركة مرور HTTPS.
يسمح البرنامج النصي بتجاوز تثبيت SSL على Android> = 7 عبر إعادة بناء ملف APK وجعل تخزين بيانات اعتماد المستخدم موثوقًا به. بعد معالجة ملف APK الإخراج جاهز لفحص حركة المرور HTTPS.
إذا كان ملف AAB يوفر البرنامج النصي ينشئ APK عالميًا ويعالجه. إذا قدم ملف XAPK البرنامج النصي قم بفكه ويعالج كل ملف APK.
يعمل على MacOS و Linux و Windows.
[يحتاج اختبار] الأداء على Windows ربما يكون عدة مرات (~ 3.5) أقل مما هو الحال في MacOS / Linux (يستغرق apktool وقتًا أطول لفك تشفير APK).
هو - هي:
java ) ؛bundletool (إذا تم توفير ملف AAB) أو قم بفك ملف XAPK (في حالة XAPK) ؛apktool ؛network_security_config.xml من التطبيق لجعل تخزين بيانات اعتماد المستخدم موثوقًا به ؛apktool ؛uber-apk-signer .اختياريا يسمح البرنامج النصي بما يلي:
adb ؛الوصول إلى الجذر غير مطلوب.
قم بتثبيت الأدوات من القائمة أدناه:
adb إلى متغير بيئة المسار)سيتم تنزيل الأدوات أدناه بواسطة البرنامج النصي في حالة فقده:
الشروط المسبقة:
pip3 install -r requirements.txtيمكن إطلاق البرنامج النصي مثل
python3 /path/to/the/script/apk-rebuild.py
تنفيذ python3 apk-rebuild.py -h (أو python3 apk-rebuild.py --help ) لطباعة دليل الاستخدام.
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
لإعادة بناء ملف APK استخدم البرنامج النصي مع الوسيطة (الوسيطة). الأمثلة أدناه:
تصحيح ملف AAB ولا تحذف محتوى ملف APK غير المعبأ
python3 apk-rebuild.py input.aab --preserve
تصحيح ملف APK ، قم بإزالة ملف APK المصدر بعد تصحيح ملف APK وتثبيته على جهاز Android-Device
python3 apk-rebuild.py input.apk -r -i
يجب تحديد المسار إلى الملف المصدر كوسيطة أول.
<debug-overrides> إلى the network_security_config.xml (وأضف android:networkSecurityConfig إلى عنصر application في AndroidManifest.xml بالطبع): https://developer.android.com/training/articles/security-config#debug-overrides.بالنسبة لتقارير الأخطاء ، أو طلبات الميزة أو مناقشة فكرة ، افتح مشكلة هنا.
شكرا جزيلا ل: