Emplacements des fichiers d'historique de Firefox
2026-05-19 · 2 min
Les profils Firefox résident dans un répertoire au nom aléatoire sous
Profiles/, généralement <random>.default-release sur une installation
récente. Sous Windows, le cache est réparti entre Roaming et Local ; un
détail subtil qui piège ceux qui copient seulement Roaming et s'étonnent
que le pivot sur le cache ne rende rien.
Racine de profil par système d'exploitation
Windows
C:\Users\<user>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>
C:\Users\<user>\AppData\Local\Mozilla\Firefox\Profiles\<profile>\cache2
macOS
/Users/<user>/Library/Application Support/Firefox/Profiles/<profile>
/Users/<user>/Library/Caches/Firefox/Profiles/<profile>/cache2
Linux
/home/<user>/.mozilla/firefox/<profile>
/home/<user>/.cache/mozilla/firefox/<profile>/cache2
profiles.ini au niveau parent associe chaque nom de profil à son
répertoire. Utile quand un utilisateur a plusieurs profils et qu'il faut
identifier celui par défaut.
Rôle de chaque fichier
| Fichier | Format | Contenu |
|---|---|---|
places.sqlite | SQLite | moz_places, moz_historyvisits, moz_bookmarks, moz_annos (téléchargements) |
cookies.sqlite | SQLite | moz_cookies (valeurs en clair) |
formhistory.sqlite | SQLite | moz_formhistory |
favicons.sqlite | SQLite | moz_icons, moz_pages_w_icons |
webappsstore.sqlite | SQLite | LocalStorage (origine → clé → valeur) |
logins.json + key4.db | JSON + NSS | Identifiants enregistrés (chiffrés avec la clé de profil) |
sessionstore.jsonlz4 | mozLz4 + JSON | Onglets actuellement ouverts |
sessionstore-backups/recovery.jsonlz4 | mozLz4 + JSON | Sauvegarde la plus récente |
sessionstore-backups/previous.jsonlz4 | mozLz4 + JSON | Onglets de la session précédente |
prefs.js, user.js | Texte | Configuration |
moz_annos est facile à oublier ; elle contient les métadonnées de
téléchargement que Firefox ne range plus dans une downloads.sqlite
séparée. Filtrez sur anno_attribute_id joint à moz_anno_attributes pour
obtenir le nom réel de l'attribut.
Horodatages et WAL
Firefox utilise PRTime, soit des microsecondes depuis l'époque Unix, pour
la plupart des colonnes. Voir
formats d'horodatage des navigateurs
pour les exceptions par colonne dans moz_cookies.
places.sqlite fonctionne en mode WAL. Récupérez toujours
places.sqlite-wal et places.sqlite-shm ensemble. L'article sur la
récupération du WAL couvre le
checkpoint.
Notes d'acquisition
- Les fichiers de session
.jsonlz4utilisent la variante LZ4 de Mozilla (magiemozLz40), pas du LZ4 standard. Décompressez avec un parseur qui connaît l'en-tête, ou aveclz4json. key4.dbest nécessaire pour déchiffrerlogins.json. Sans le mot de passe maître de l'utilisateur (souvent vide), des outils commefirefox_decryptrécupèrent les identifiants hors ligne.- Cache2 est un cache adressé par contenu. Le nom de chaque fichier est un SHA-1 de l'URL ; les métadonnées sont en fin de fichier. Utile lorsqu'il faut prouver qu'une page a été rendue, et pas seulement visitée.