
iLEAPP v2026.3.3
يحلل استخراجات الطب الشرعي لنظامَي iOS وiPadOS إلى تقارير HTML وTSV وخط زمني وKML وLAVA، مع اكتشاف معياري للآثار الرقمية ودعم النسخ الاحتياطية المشفّرة في iTunes.

محلل سجلات وأحداث وقوائم خصائص iOS
يقوم iLEAPP بتحليل عمليات الاستخراج الجنائي من iOS وiPadOS وينتج مخرجات بصيغ HTML وTSV والخط الزمني وKML وLAVA. وهو يدعم الإصدارات من iOS/iPadOS 11 حتى الإصدارات الحالية.
تصفح قائمة العناصر الكاملة القابلة للبحث على leapps.org/artifacts (قم بالتصفية حسب أداة LEAPP).
البدء السريع (موصى به)
قم بتنزيل إصدار جاهز مسبقًا — لا حاجة لتثبيت Python.
- إصدارات LEAPPs — تصفح جميع أدوات عائلة LEAPP
- إصدارات iLEAPP على GitHub — تنزيلات مباشرة
| المنصة | واجهة رسومية | سطر أوامر |
|---|---|---|
| Windows (Intel) | ileappGUI-v*-Windows_x86_64.zip | ileapp-v*-Windows_x86_64.zip |
| Windows (ARM) | ileappGUI-v*-Windows_arm64.zip | ileapp-v*-Windows_arm64.zip |
| macOS (Apple Silicon) | ileappGUI-v*-macOS_Apple_Silicon.dmg | ileapp-v*-macOS_Apple_Silicon.zip |
| macOS (Intel) | ileappGUI-v*-macOS_Mac_Intel.dmg | ileapp-v*-macOS_Mac_Intel.zip |
| Linux (Intel) | ileappGUI-v*-Linux_x86_64.AppImage | ileapp-v*-Linux_x86_64.AppImage |
| Linux (ARM) | ileappGUI-v*-Linux_arm64.AppImage | ileapp-v*-Linux_arm64.AppImage |
واجهة رسومية — قم بفك ضغط التنزيل، ثم شغّل ileappGUI، ثم اختر نوع الإدخال ومسار المصدر ومجلد الإخراج والوحدات المراد معالجتها.
سطر أوامر — قم بفك ضغط التنزيل وشغّله من الطرفية. يجب أن يكون مجلد الإخراج موجودًا مسبقًا.
ileapp.exe -t zip -i C:\path\to\extraction.zip -o C:\path\to\output\
على macOS وLinux، استخدم ملف ileapp الثنائي من الأرشيف المستخرج بدلاً من ileapp.exe.
أنواع الإدخال
| النوع | الوصف |
|---|---|
fs | مجلد يحتوي على ملفات مستخرجة بمسارات وأسماء عادية |
zip | أرشيف ZIP يحتوي على ملفات بأسماء عادية |
tar | أرشيف TAR، عادي أو مضغوط بـ xz (.tar.xz) |
gz | أرشيف مضغوط بـ GZIP |
itunes | مجلد نسخ احتياطي من iTunes/Finder بمسارات وأسماء مُجزأة |
file | إدخال ملف واحد |
يتم دعم النسخ الاحتياطية المشفرة من iTunes/Finder (-t itunes). ستطلب الواجهة الرسومية كلمة مرور قبل المعالجة عند اكتشاف التشفير. في سطر الأوامر، مرر كلمة المرور باستخدام --itunes_password (انظر خيارات التحليل الاختيارية أدناه).
وسائط سطر الأوامر
تنطبق هذه الخيارات فقط على إصدار سطر الأوامر (ileapp / ileapp.exe / python ileapp.py). تعرض الواجهة الرسومية (ileappGUI) نفس الإعدادات من خلال واجهتها بدلاً من أعلام سطر الأوامر.
شغّل ileapp --help (أو python ileapp.py --help من المصدر) للحصول على المرجع المدمج.
تحليل حالة
هذه الوسائط الثلاث مطلوبة لتشغيل تحليل عادي:
| الوسيط | الصيغة الطويلة | الوصف |
|---|---|---|
-t | نوع الإدخال: fs أو tar أو zip أو gz أو itunes أو file | |
-i | --input_path | مسار ملف أو مجلد الإدخال |
-o | --output_path | مسار مجلد الإخراج (يجب أن يكون موجودًا مسبقًا) |
مثال:
ileapp -t zip -i /path/to/extraction.zip -o /path/to/output/
خيارات التحليل الاختيارية
| الوسيط | الصيغة الطويلة | الوصف |
|---|---|---|
-w | --wrap_text | مرر هذا العلم لـتعطيل التفاف النص في ملفات الإخراج |
-m | --load_profile | مسار ملف تعريف iLEAPP (.ilprofile) لتحديد الوحدات التي تعمل |
-d | --load_case_data | مسار ملف بيانات حالة LEAPP (.lcasedata) |
--custom_output_folder | اسم مخصص للمجلد الفرعي لإخراج التقرير | |
--custom_artifacts_path | مجلد إضافي لتحميل وحدات العناصر منه (مثل scripts/alternate_artifacts) | |
--html_row_limit | عدد الصفوف الذي فوقه يتم استبعاد جدول عنصر من صفحته في HTML، والتي تشير بعد ذلك إلى قاعدة بيانات LAVA وتصدير TSV بدلاً من ذلك. القيمة الافتراضية 50000؛ القيمة 0 تكتب كل الجداول. تستخدم الواجهة الرسومية القيمة الافتراضية | |
--itunes_password |
أوضاع الأدوات المساعدة المستقلة
لا تقوم هذه الأوضاع بتحليل حالة. استخدمها بمفردها — بدون -t أو -i أو -o:
| الوسيط | الصيغة الطويلة | الوصف |
|---|---|---|
-p | --artifact_paths | كتابة جميع مسارات البحث عن العناصر إلى path_list.txt في الدليل الحالي |
-c | --create_profile_casedata | معالج تفاعلي لإنشاء ملف .ilprofile أو .lcasedata في المجلد المحدد |
أمثلة:
ileapp -p
ileapp -c /path/to/output/folder/
المساهمة
توجد وحدات العناصر في scripts/artifacts/ ويتم تحميلها ديناميكيًا في وقت التشغيل.
وحدات جديدة: ابدأ بالدليل خطوة بخطوة على كيفية كتابة وحدة iLEAPP.
مراجع إضافية:
- بنية كتلة معلومات العنصر
- تحديث الوحدات لتوليد الإخراج التلقائي
- تحديث الوحدات المعقدة لتضمين إخراج LAVA
- اختبار الوحدات
بيانات الاختبار وsample_data لطلب السحب الخاص بك
يكون طلب السحب الذي يضيف أو يغيّر عنصرًا أسهل في المراجعة والدمج عندما يصل معه
شيئان: عيّنة اختبار صغيرة مقتطعة من استخراج حقيقي، وقيم sample_data التي
تسجل ما أنتجته الوحدة. تقوم النصوص البرمجية بتوليد كليهما. إليك العملية كاملة.
قاعدة واحدة قبل أي شيء آخر: كل ما تلتزم به هنا يصبح عامًا. استخدم فقط البيانات المسموح لك بمشاركتها، مثل جهاز اختبار قمت بتعبئته بنفسك، أو صورة بحثية عامة، أو ملف قمت بتنقيحه يدويًا. لا تستخدم أبدًا بيانات قضايا حقيقية.
1. اقتطع عيّنة من استخراجك
python admin/test/scripts/make_test_data.py <module> --case 1 --input <extraction.zip>
يقوم هذا بسحب الملفات التي تطابقها أنماط paths الخاصة بوحدتك من الاستخراج ويكتب
ملف الحالة admin/test/cases/testdata.<module>.json بالإضافة إلى ملف zip صغير واحد لكل عنصر
تحت admin/test/cases/data/<module>/.
قواعد الحجم: أقل من 10 ميغابايت لكل zip، التزم به مع طلب السحب. بين 10 و25 ميغابايت، التزم بملف الحالة وأرفق ملف zip في تعليق على طلب السحب. أكبر من ذلك، اذكر ذلك في طلب السحب وسيقوم أحد المشرفين بترتيب عملية التسليم.
2. سجّل الإخراج المتوقع
TZ=UTC python admin/test/scripts/test_module.py <module> -a all -c all
يقوم هذا بتشغيل الوحدة مقابل العيّنة ويكتب لقطة من الإخراج تحت
admin/test/results/<module>/. التزم باللقطة أيضًا. ستصبح خط الأساس الذي
يحمي الوحدة بعد الدمج. احتفظ بجزء TZ=UTC: اللقطات الملتزم بها بتوقيت UTC
وCI يعمل بتوقيت UTC.
3. شغّل نفس المقارنة التي سيشغلها CI
python admin/test/scripts/run_test_cases.py --module <module>
4. ولّد قيم sample_data
python admin/scripts/validate_sample_data.py --emit <extraction.zip> --key <image_name>
يقوم هذا بتشغيل iLEAPP من البداية إلى النهاية على استخراجك ويطبع كتل sample_data
جاهزة للصق للوحدات المتغيرة على فرعك. الصقها في __artifacts_v2__ الخاصة بوحدتك
وأضف اسم التطبيق وإصداره الذي رأيته على الصورة. إذا كان العدد صفرًا، تحقق من أن الملف المصدر فارغ حقًا قبل تسجيله.
5. التزم بكل شيء وافتح طلب السحب
التزم بالوحدة وملف الحالة وملفات zip للعيّنة واللقطة المسجلة معًا. توجد تفاصيل أكثر في admin/docs/testing/create_module_test_cases.md.
إذا لم يكن استخراجك قابلاً للمشاركة، افتح طلب السحب على أي حال واذكر ذلك. غالبًا ما يمكن اقتطاع عيّنة من صورة بحثية عامة بدلاً من ذلك، أو يمكن تنقيح الملف الحقيقي يدويًا. لا تتوقف المراجعة بينما نعمل على حل ذلك.
التشغيل من المصدر
الإصدارات هي أسهل طريقة لتشغيل iLEAPP. استخدم المصدر إذا كنت تطور وحدات أو تحتاج تغييرات غير مُصدَرة من main.
المتطلبات
- Python 3.10 إلى 3.14
- Git