
أداة Python CLI بدون تبعيات لفك حزم أرشيفات .ipa الخاصة بـ iOS وفحصها وتحريرها وإعادة بنائها، مع تحويل ملفات plist والسلاسل النصية إلى XML مع الحفاظ على ثنائيات Mach-O وحزم التوقيع.
#IPAForge
IPAForge هي أداة سطر أوامر Python خالية من التبعيات لفك حزم أرشيفات iOS .ipa وفحصها وتحريرها وإعادة بنائها.
تقوم باستخراج الأرشيف الكامل، وتحويل صيغ Apple plist وصيغ التعريب القابلة للتحرير إلى XML قابل للقراءة، وتحافظ على المحتوى المعتم والثنائي بايتًا ببايت، وتسجّل كل عملية تحويل في ipaforge.yml بحيث يمكن إعادة بناء الإطار بأمانة.
استخدمها بمسؤولية: IPAForge مخصصة للتشغيل البيني وأبحاث الأمن وتحليل التطبيقات المشروع. احترم القوانين والتراخيص وشروط الخدمة المعمول بها.
.ipa القياسية وإعادة بنائها..strings النصية القديمة إلى XML قابل للتحرير..car و.nib و.mom.ipaforge.yml..ipa صالح يحتوي على حزمة Payload/<AppName>.app.يمكن استخدام IPAForge مباشرة كملف Python واحد:
python3 ipaforge.py --help
لتثبيت أمر ipaforge في PATH الخاص بك:
python3 ipaforge.py --install
لاستخراج ملفات التوزيع المجمّعة دون تثبيتها:
python3 ipaforge.py --extract
ipaforge -d MyApp.ipa
يُنشئ هذا دليل إطار عمل في دليل العمل الحالي، عادةً ./MyApp/.
عدّل ملفات XML القابلة للقراءة داخل إطار العمل المُنشأ. تُحفظ بيانات الأرشيف الأصلية والمراجع في original/؛ وتُتتبَّع الملفات التي جرى تحويلها في ipaforge.yml.
ipaforge -b MyApp
الإخراج الافتراضي هو ./MyApp-signed.ipa في دليل العمل الحالي.
ipaforge -d MyApp.ipa decoded-framework
ipaforge -b decoded-framework rebuilt.ipa
ipaforge -d, --decode INPUT [OUTPUT]
ipaforge -b, --build INPUT [OUTPUT]
| الخيار | الوصف |
|---|---|
-d، --decode | فك ترميز ملف IPA إلى دليل إطار عمل قابل للتعديل. |
-b، --build | بناء ملف IPA من دليل إطار عمل مفكوك الترميز. |
-f، --force | الكتابة فوق دليل إخراج أو ملف موجود. |
--no-meta | عدم كتابة ipaforge.yml أثناء فك الترميز. |
--keep-binary | الإبقاء على جميع الملفات بصيغة ثنائية أثناء فك الترميز؛ تعطيل تحويل XML. |
-c 0-9، --compression-level 0-9 | تعيين مستوى ضغط ZIP. الافتراضي: 9. |
--no-sign | بناء أرشيف غير موقّع عمدًا. |
--entitlements FILE | تضمين الاستحقاقات في التوقيع المبني. |
--p12 FILE | التوقيع باستخدام شهادة مطوّر PKCS#12 حقيقية. |
--p12-password PASS | كلمة المرور الخاصة بشهادة PKCS#12. |
--provision FILE | تضمين واستخدام ملف تعريف التزويد مع --p12. |
-v، --verbose | تفعيل تسجيل التصحيح. |
-q، --quiet | طباعة الأخطاء فقط. |
--version | عرض إصدار IPAForge. |
-h، --help | عرض المساعدة. |
على Windows، يمكن استنتاج الوضع تلقائيًا: يتم فك ترميز مدخل .ipa وبناء دليل إطار عمل.
يوقّع وضع البناء الحزم باستخدام الموقّع المضمّن المخصّص (ad-hoc) افتراضيًا. ينشئ بيانات CodeDirectory لملفات Mach-O الثنائية وملفات _CodeSignature/CodeResources جديدة لحزم التطبيقات.
للتثبيت على أجهزة iOS الأصلية، استخدم شهادة مطوّر حقيقية وملف تعريف تزويد متوافق:
ipaforge -b MyApp \
--p12 developer.p12 \
--p12-password 'your-password' \
--provision embedded.mobileprovision
لتضمين استحقاقات مخصصة:
ipaforge -b MyApp --entitlements entitlements.plist
لإنشاء أرشيف غير موقّع بشكل متعمد:
ipaforge -b MyApp --no-sign
لا يمكن عادةً تثبيت الأرشيفات غير الموقّعة على iOS.
غالبًا ما يحتوي الإطار المفكوك على:
MyApp/
├── Payload/
│ └── MyApp.app/
├── original/ # reference copies of signatures, profiles, and entitlements
├── readable/ # human-readable summaries for opaque formats and binaries
└── ipaforge.yml # file classifications and conversion metadata
لا يتم أبدًا تضمين الدليل original/ وملف ipaforge.yml في ملف IPA المعاد بناؤه.
يصنّف IPAForge الملفات المستخرجة إلى فئات تشمل:
native-bplist — قوائم الخصائص الثنائية التي تُحوَّل إلى XML وتُعاد بناؤها كقوائم خصائص ثنائية.legacy-strings — ملفات .strings الكلاسيكية التي تُحوَّل إلى XML وتُعاد بناؤها كنص UTF-16.xml-plist — ملفات plist بصيغة XML الموجودة مسبقًا والتي تُحفظ كنص.opaque-compiled — صيغ Apple المترجمة الاحتكارية التي تُحفظ بايتًا ببايت.native-binary — ملفات Mach-O التنفيذية والمكتبات التي تُحفظ بايتًا ببايت.other-binary — الصور والصوت وبيانات DER والموارد الأخرى التي تُحفظ بايتًا ببايت.| الرمز | المعنى |
|---|---|
0 | عملية ناجحة. |
1 | خطأ في وقت التشغيل، مثل أرشيف غير صالح أو فشل في التوقيع. |
2 | خطأ في استخدام سطر الأوامر. |
141 | إغلاق المخرجات القياسية مبكرًا بواسطة مستهلك عبر أنبوب. |
يعالج IPAForge محتويات أرشيفات غير موثوقة. يطبّق الأداة حدودًا دفاعية على كل عضو في الأرشيف وعلى الحجم الإجمالي غير المضغوط للأرشيف، لكن يجب عليك مع ذلك فحص الملفات غير المعروفة في بيئة معزولة.
لا توزّع أو تثبّت التطبيقات إلا إذا كان لديك الحق القانوني في تحليلها وتوقيعها.
يصف هذا الملف التعريفي IPAForge 1.24.0.
هذا المشروع مرخّص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.