
iLEAPP v2026.3.3
Преобразует форензик-извлечения iOS и iPadOS в отчёты HTML, TSV, timeline, KML и LAVA с модульным обнаружением артефактов и поддержкой зашифрованных резервных копий iTunes.

Парсер логов, событий и plist-файлов iOS
iLEAPP обрабатывает данные судебной экспертизы iOS и iPadOS и создаёт вывод в форматах HTML, TSV, timeline, KML и LAVA. Поддерживаются версии iOS/iPadOS от 11 до текущих.
Полный список артефактов с поиском доступен на leapps.org/artifacts (фильтр по инструменту LEAPP).
Быстрый старт (рекомендуется)
Скачайте готовый релиз — установка Python не требуется.
- Релизы LEAPPs — все инструменты семейства LEAPP
- Релизы iLEAPP на GitHub — прямые загрузки
| Платформа | GUI | CLI |
|---|---|---|
| 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 |
GUI — распакуйте загруженный архив, запустите ileappGUI, затем выберите тип входных данных, путь к источнику, папку вывода и модули для обработки.
CLI — распакуйте загруженный архив и запустите из терминала. Папка вывода должна уже существовать.
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). GUI запросит пароль перед обработкой при обнаружении шифрования. В CLI передайте пароль с помощью --itunes_password (см. Дополнительные параметры парсинга ниже).
Аргументы CLI
Эти параметры применимы только к сборке CLI (ileapp / ileapp.exe / python ileapp.py). GUI (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 записывает все таблицы. GUI использует значение по умолчанию | |
--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/ и загружаются динамически во время выполнения.
Новые модули: начните с пошагового руководства How to Write an iLEAPP Module.
Дополнительные материалы:
- Artifact Info Block Structure
- Updating Modules for Automatic Output Generation
- Updating Complex Modules to Include LAVA Output
- Testing Modules
Тестовые данные и sample_data для вашего PR
PR, который добавляет или изменяет артефакт, проще всего проверять и принимать, когда он содержит две вещи: небольшой тестовый образец, вырезанный из реального извлечения, и значения 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 — коммитьте его вместе с PR. От 10 до 25 МБ — закоммитьте файл кейса и прикрепите zip к комментарию в PR. Больше — сообщите об этом в PR, и сопровождающий организует передачу.
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. Закоммитьте всё и откройте PR