العودة إلى التحديثات
New releaseSep 9, 2026

iLEAPP v2026.3.3

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

مشاركة

iLEAPP

محلل سجلات وأحداث وقوائم خصائص iOS

يقوم iLEAPP بتحليل عمليات الاستخراج الجنائي من iOS وiPadOS وينتج مخرجات بصيغ HTML وTSV والخط الزمني وKML وLAVA. وهو يدعم الإصدارات من iOS/iPadOS 11 حتى الإصدارات الحالية.

تصفح قائمة العناصر الكاملة القابلة للبحث على leapps.org/artifacts (قم بالتصفية حسب أداة LEAPP).

البدء السريع (موصى به)

قم بتنزيل إصدار جاهز مسبقًا — لا حاجة لتثبيت Python.

المنصةواجهة رسوميةسطر أوامر
Windows (Intel)ileappGUI-v*-Windows_x86_64.zipileapp-v*-Windows_x86_64.zip
Windows (ARM)ileappGUI-v*-Windows_arm64.zipileapp-v*-Windows_arm64.zip
macOS (Apple Silicon)ileappGUI-v*-macOS_Apple_Silicon.dmgileapp-v*-macOS_Apple_Silicon.zip
macOS (Intel)ileappGUI-v*-macOS_Mac_Intel.dmgileapp-v*-macOS_Mac_Intel.zip
Linux (Intel)ileappGUI-v*-Linux_x86_64.AppImageileapp-v*-Linux_x86_64.AppImage
Linux (ARM)ileappGUI-v*-Linux_arm64.AppImageileapp-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.

مراجع إضافية:

بيانات الاختبار و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

الإعداد

الفئات