Я пытаюсь разобраться в собственном формате файлов Mozilla Firefox, который .jsonlz4
используется, например, для sessionstore-backups/recovery.jsonlz4
, но безрезультатно.
Как мне вернуть мои данные, в частности, какой-нибудь длинный текст, который я набрал в некоторых текстовых областях сбойного сеанса? Это мои данные!
.jsonlz4
файлов.Ответы:
Есть немного результатов Google, которые фактически приводят к выполнимым решениям, но, согласно https://www.reddit.com/r/firefox/comments/2ps6wg/jsonlz4_bookmark_backups/ , следующее выглядит наиболее надежно:
в
about:config
, переключитеdevtools.chrome.enabled
настройку со значения по умолчаниюfalse
на значениеtrue
откройте Scratchpad из Firefox:
в строке меню в Scratchpad Firefox измените Среду с Контента на Браузер (если пропустить этот шаг, это приведет к ошибкам, как
Exception: ReferenceError: OS is not defined
на следующем этапе)используйте код вроде следующего в Scratchpad Firefox:
Последний параметр для
JSON.stringify
обработки количества пробелов в каждой строке; установка 0 приводит к тому, что все это печатается в одну строку, а установка 1 правильно разделяет строки (установка 2 создаст слишком много бесполезных пробелов и увеличит размер файла для небольшой выгоды)нажмите
Run
кнопкузапустить
fgrep :textarea /Users/…/sessionstore-backups/recovery.baklz4.uncompressed.stringify
из приложения терминалаисточник
OS.File.read(...
строка дает: «ReferenceError: ОС не определена».К сожалению, из-за нестандартного заголовка стандартные инструменты не будут работать. Есть открытое предложение изменить это. Очевидно, заголовок Mozilla был разработан до появления стандартного формата фрейма lz4; он оборачивает стандартный блок lz4.
Тем не менее, тот же отчет об ошибке включает в себя несколько альтернативных методов. Я кратко перечислю их:
dd if=original.jsonlz4 of=stripped.lz4 bs=8 skip=1
), и это должно оставить вас с действительным блоком lz4. Обратите внимание, что это отличается от кадра lz4 . В то время как большинство языков программирования имеют библиотеки, которые могут легко декодировать блок, найти готовый инструмент для этого сложнее, например,liblz4-tool
пакет принимает только формат кадра.источник
Мне удалось извлечь URL-адреса из файла {profile-dir} /sessionstore-backups/recovery.jsonlz4, используя следующий бесплатный онлайн-инструмент, разработанный специально для этой цели:
https://www.jeffersonscher.com/ffu/scrounger.html
На этом же сайте есть аналогичный инструмент для расшифровки файлов jsonlz4 из каталога {profile-dir} / bookmarkbackups .
источник
В UNIX® и UNIX-подобных системах , таких как Mac OS X с MacPorts, FreeBSD, OpenBSD или NetBSD с pkgsrc, следующий https://github.com/cnst/lz4json форк lz4json также может быть использован для чистой компиляции из поле, например, в Mac OS X с MacPorts:
источник