Il semble y avoir plusieurs façons spécifiques de décompresser JavaScript + navigateur, mais n'y a-t-il pas un moyen de transformer les fichiers jsonlz4 en quelque chose qui unlz4
va être lu?
firefox
compression
lz4
l0b0
la source
la source
Réponses:
J'ai pu déballer le jsonlz4 en utilisant
lz4json
:la source
.json.mozlz4
fichiers, par exemple, comme indiqué sur github.com/andikleen/lz4json/issues/1#issuecomment-336729026 (note à soi: souviens-toi, souviens-toi,gmake
sur FreeBSD…).liblz4-dev
avant de le construire). L'outil d'avih, OTOH, a parfaitement fonctionné pour moi.Enregistrez ce script dans un fichier, par exemple
mozlz4
:la source
import lz4
pourimport lz4.block as lz4
, mais cela n'a toujours pas fonctionné. Certains octets par rapport à une erreur liée à une chaîne. OTOH, ce script a fonctionné avec la modification d'importation: gist.github.com/Tblue/62ff47bef7f894e92ed5$ pip install lz4
.En fait, presque tous les fichiers lz4 du profil Firefox sont des fichiers mozlz4 . Cela signifie qu'ils ont le même "en-tête de format de fichier". Sauf un fichier. Je parle du fichier webext.sc.lz4 . Il a
mozJSSCLz40v001\0
un en-tête de fichier et peut-être unsc
emballage pour emballer un groupe de fichiers dans un flux d'octets.Il y a un addon Firefox pour lire ou Compresser .mozlz4 fichiers texte mozlz4-edit
la source
Googler suffisamment persistant pour cela se révèle beaucoup de solutions, mais la plupart d'entre elles semblent être soit (a) cassées par des modifications ultérieures des bibliothèques sous-jacentes, ou (b) inutilement complexes (au moins à mon goût personnel), les rendant maladroites à déposer dans le code existant.
Les éléments suivants semblent fonctionner au moins sur Python 2.7 et 3.6 à l'aide d'une version récente des liaisons Python LZ4 :
Bien sûr, cela ne tente pas de valider les entrées (ou les sorties), n'est pas destiné à être sécurisé, etc., mais si l'on veut simplement pouvoir analyser ses propres données FF, cela fait le travail de base.
Version de ligne de commande ici , qui pourrait être enregistrée dans le répertoire approprié et invoquée à partir de la ligne de commande en tant que:
la source