
iLEAPP v2026.3.3
Analyse les extractions forensiques iOS et iPadOS en rapports HTML, TSV, timeline, KML et LAVA avec découverte modulaire d'artefacts et prise en charge des sauvegardes iTunes chiffrées.

Analyseur de journaux, d'événements et de plists iOS
iLEAPP analyse les extractions forensiques iOS et iPadOS et produit des sorties HTML, TSV, chronologie, KML et LAVA. Il prend en charge les versions iOS/iPadOS 11 jusqu'aux versions actuelles.
Parcourez la liste complète et consultable des artefacts sur leapps.org/artifacts (filtrez par outil LEAPP).
Démarrage rapide (recommandé)
Téléchargez une version précompilée — aucune installation de Python requise.
- Versions LEAPPs — parcourir tous les outils de la famille LEAPP
- Versions GitHub d'iLEAPP — téléchargements directs
| Plateforme | 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 — extrayez le téléchargement, exécutez ileappGUI, puis sélectionnez votre type d'entrée, le chemin source, le dossier de sortie et les modules à traiter.
CLI — extrayez le téléchargement et exécutez depuis un terminal. Le dossier de sortie doit déjà exister.
ileapp.exe -t zip -i C:\path\to\extraction.zip -o C:\path\to\output\
Sur macOS et Linux, utilisez le binaire ileapp de l'archive extraite au lieu de ileapp.exe.
Types d'entrée
| Type | Description |
|---|---|
fs | Dossier de fichiers extraits avec des chemins et noms normaux |
zip | Archive ZIP contenant des fichiers aux noms normaux |
tar | Archive TAR, simple ou compressée en xz (.tar.xz) |
gz | Archive compressée GZIP |
itunes | Dossier de sauvegarde iTunes/Finder avec des chemins et noms hachés |
file | Entrée d'un seul fichier |
Les sauvegardes iTunes/Finder chiffrées (-t itunes) sont prises en charge. L'interface graphique demandera un mot de passe avant le traitement lorsque le chiffrement est détecté. En CLI, transmettez le mot de passe avec --itunes_password (voir Options d'analyse facultatives ci-dessous).
Arguments CLI
Ces options s'appliquent uniquement à la version CLI (ileapp / ileapp.exe / python ileapp.py). L'interface graphique (ileappGUI) expose les mêmes paramètres via son interface plutôt que par des options en ligne de commande.
Exécutez ileapp --help (ou python ileapp.py --help depuis les sources) pour la référence intégrée.
Analyse d'un cas
Ces trois arguments sont requis pour une exécution d'analyse normale :
| Argument | Forme longue | Description |
|---|---|---|
-t | Type d'entrée : fs, tar, zip, gz, itunes ou file | |
-i | --input_path | Chemin vers le fichier ou dossier d'entrée |
-o | --output_path | Chemin vers le dossier de sortie (doit déjà exister) |
Exemple :
ileapp -t zip -i /path/to/extraction.zip -o /path/to/output/
Options d'analyse facultatives
| Argument | Forme longue | Description |
|---|---|---|
-w | --wrap_text | Passez cette option pour désactiver le retour à la ligne automatique dans les fichiers de sortie |
-m | --load_profile | Chemin vers un fichier de profil iLEAPP (.ilprofile) pour limiter les modules exécutés |
-d | --load_case_data | Chemin vers un fichier de données de cas LEAPP (.lcasedata) |
--custom_output_folder | Nom personnalisé pour le sous-dossier de sortie du rapport | |
--custom_artifacts_path | Dossier supplémentaire à partir duquel charger les modules d'artefacts (par ex. scripts/alternate_artifacts) | |
--html_row_limit | Nombre de lignes au-delà duquel le tableau d'un artefact est omis de sa page HTML, qui pointe alors vers la base de données LAVA et l'export TSV à la place. Valeur par défaut 50000 ; 0 écrit tous les tableaux. L'interface graphique utilise la valeur par défaut | |
--itunes_password |
Modes utilitaires autonomes
Ces modes n'analysent pas de cas. Utilisez-les seuls — sans -t, -i ni -o :
| Argument | Forme longue | Description |
|---|---|---|
-p | --artifact_paths | Écrit tous les chemins de recherche d'artefacts dans path_list.txt dans le répertoire courant |
-c | --create_profile_casedata | Assistant interactif pour créer un fichier .ilprofile ou .lcasedata dans le dossier donné |
Exemples :
ileapp -p
ileapp -c /path/to/output/folder/
Contribution
Les modules d'artefacts se trouvent dans scripts/artifacts/ et sont chargés dynamiquement à l'exécution.
Nouveaux modules : commencez par le guide pas à pas sur How to Write an iLEAPP Module.
Références supplémentaires :
- Artifact Info Block Structure
- Updating Modules for Automatic Output Generation
- Updating Complex Modules to Include LAVA Output
- Testing Modules
Données de test et sample_data pour votre PR
Une PR qui ajoute ou modifie un artefact est plus facile à réviser et à fusionner lorsqu'elle arrive avec
deux choses : une petite fixture de test extraite d'une extraction réelle, et des valeurs sample_data qui
enregistrent ce que le module a produit. Des scripts génèrent les deux. Voici tout le déroulement.
Une règle avant tout : tout ce que vous committez ici devient public. N'utilisez que des données que vous êtes autorisé à partager, comme un appareil de test que vous avez rempli vous-même, une image de recherche publique, ou un fichier que vous avez assaini manuellement. Jamais de données de dossier réel.
1. Extrayez une fixture de votre extraction
python admin/test/scripts/make_test_data.py <module> --case 1 --input <extraction.zip>
Cela extrait les fichiers correspondant aux motifs paths de votre module depuis l'extraction et écrit
le fichier de cas admin/test/cases/testdata.<module>.json plus un petit zip par artefact
sous admin/test/cases/data/<module>/.
Règles de taille : moins de 10 Mo par zip, committez-le avec la PR. Entre 10 et 25 Mo, committez le fichier de cas et joignez le zip à un commentaire de PR. Plus gros que cela, signalez-le dans la PR et un mainteneur organisera un transfert.
2. Enregistrez la sortie attendue
TZ=UTC python admin/test/scripts/test_module.py <module> -a all -c all
Cela exécute le module sur la fixture et écrit un instantané de la sortie sous
admin/test/results/<module>/. Committez aussi l'instantané. Il devient la référence qui
protège le module après la fusion. Conservez la partie TZ=UTC : les instantanés committés sont en UTC
et la CI s'exécute en UTC.
3. Exécutez la même comparaison que celle lancée par la CI
python admin/test/scripts/run_test_cases.py --module <module>
4. Générez les valeurs sample_data
python admin/scripts/validate_sample_data.py --emit <extraction.zip> --key <image_name>