Назад к обновлениям
New releaseSep 9, 2026

iLEAPP v2026.3.3

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

Поделиться

iLEAPP

Парсер логов, событий и plist-файлов iOS

iLEAPP обрабатывает данные судебной экспертизы iOS и iPadOS и создаёт вывод в форматах HTML, TSV, timeline, KML и LAVA. Поддерживаются версии iOS/iPadOS от 11 до текущих.

Полный список артефактов с поиском доступен на leapps.org/artifacts (фильтр по инструменту LEAPP).

Быстрый старт (рекомендуется)

Скачайте готовый релиз — установка Python не требуется.

ПлатформаGUICLI
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

GUI — распакуйте загруженный архив, запустите ileappGUI, затем выберите тип входных данных, путь к источнику, папку вывода и модули для обработки.

CLI — распакуйте загруженный архив и запустите из терминала. Папка вывода должна уже существовать.

ileapp.exe -t zip -i C:\path\to\extraction.zip -o C:\path\to\output\

В macOS и Linux используйте бинарный файл ileapp из распакованного архива вместо ileapp.exe.

Типы входных данных

ТипОписание
fsПапка с извлечёнными файлами с обычными путями и именами
zipZIP-архив, содержащий файлы с обычными именами
tarTAR-архив, обычный или сжатый 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.

Дополнительные материалы:

Тестовые данные и 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

Категории