J'essaie de comprendre le format de fichier propriétaire de Mozilla Firefox .jsonlz4
, utilisé, par exemple, pour sessionstore-backups/recovery.jsonlz4
, mais en vain.
Comment puis-je récupérer mes données, en particulier un long texte que j'ai tapé dans certaines zones de texte d'une session en panne? Ce sont mes données!
.jsonlz4
fichiers.Réponses:
Il y a peu de résultats Google qui aboutissent à des solutions réalisables, mais, selon https://www.reddit.com/r/firefox/comments/2ps6wg/jsonlz4_bookmark_backups/ , les éléments suivants semblent fonctionner de la manière la plus fiable:
dans
about:config
, basculez ledevtools.chrome.enabled
paramètre de la valeur par défaut defalse
à une valeur detrue
ouvrez Scratchpad depuis Firefox:
dans la barre de menus de Scratchpad de Firefox, changez l' environnement du contenu en navigateur (l'omission de cette étape entraînerait par la suite des erreurs comme
Exception: ReferenceError: OS is not defined
à l'étape suivante)utilisez du code comme celui-ci dans le Scratchpad de Firefox:
Le dernier paramètre pour
JSON.stringify
gérer le nombre d'espaces utilisés à chaque ligne; mettre 0 fait imprimer le tout sur une seule ligne, mettre 1 divise les lignes correctement (mettre 2 créerait trop d'espace blanc inutile et augmenterait la taille du fichier pour peu d'avantages)cliquez sur le
Run
boutonexécuter à
fgrep :textarea /Users/…/sessionstore-backups/recovery.baklz4.uncompressed.stringify
partir de l' application Terminalla source
OS.File.read(...
ligne donne: "ReferenceError: OS n'est pas défini".Malheureusement, en raison d'un en-tête non standard, les outils standard ne fonctionneront pas. Il y a une proposition ouverte pour changer cela. Apparemment, l'en-tête Mozilla a été conçu avant l'existence d'un format de trame lz4 standard; il encapsule un bloc lz4 standard.
Cela dit, le même rapport de bogue inclut quelques méthodes alternatives. Je vais les énumérer brièvement:
dd if=original.jsonlz4 of=stripped.lz4 bs=8 skip=1
) et cela devrait vous laisser un bloc lz4 valide. Notez que ceci est distinct d'une trame lz4 . Alors que la plupart des langages de programmation ont des bibliothèques qui peuvent facilement décoder un bloc, il est plus difficile de trouver un outil prédéfini pour le faire, par exemple leliblz4-tool
package accepte uniquement le format de trame.la source
J'ai pu extraire les URL du fichier {dir_profil} /sessionstore-backups/recovery.jsonlz4 à l'aide de l'outil en ligne gratuit spécialement conçu à cet effet:
https://www.jeffersonscher.com/ffu/scrounger.html
Le même site propose un outil similaire pour décrypter les fichiers jsonlz4 du répertoire {profile-dir} / bookmarkbackups .
la source
Sur les systèmes UNIX® et UNIX , comme Mac OS X avec MacPorts, FreeBSD, OpenBSD ou NetBSD avec pkgsrc, le https://github.com/cnst/lz4json suivant fork de lz4json pourrait également être utilisé pour compiler proprement à partir du par exemple, sur Mac OS X avec MacPorts:
la source