Estou tentando entender o formato de arquivo proprietário do Mozilla Firefox .jsonlz4
, usado, por exemplo sessionstore-backups/recovery.jsonlz4
, mas sem sucesso.
Como recupero meus dados, especificamente, algum texto longo digitado em algumas áreas de texto de uma sessão travada? São meus dados!
.jsonlz4
arquivos.Respostas:
Existem poucos resultados do Google que realmente resultam em soluções viáveis, mas, conforme https://www.reddit.com/r/firefox/comments/2ps6wg/jsonlz4_bookmark_backups/ , o seguinte parece funcionar da maneira mais confiável:
in
about:config
, alterne adevtools.chrome.enabled
configuração do padrão defalse
para um valor detrue
abra o Scratchpad no Firefox:
na barra de menus do Scratchpad do Firefox, altere o Ambiente de Conteúdo para o Navegador (a omissão desta etapa resultaria posteriormente em erros como
Exception: ReferenceError: OS is not defined
na próxima etapa)use um código como o seguinte no Scratchpad do Firefox:
O parâmetro final para
JSON.stringify
manipular quantos espaços seriam usados em cada linha; colocar 0 faz com que tudo seja impresso em uma única linha, colocar 1 divide as linhas corretamente (colocar 2 criaria muito espaço em branco inútil e aumentaria o tamanho do arquivo para pouco benefício)clique no
Run
botãoexecutar
fgrep :textarea /Users/…/sessionstore-backups/recovery.baklz4.uncompressed.stringify
de dentro do aplicativo Terminalfonte
OS.File.read(...
linha fornece: "ReferenceError: OS não está definido".Infelizmente, devido a um cabeçalho não padrão, as ferramentas padrão não funcionam. Há uma proposta aberta para mudar isso. Aparentemente, o cabeçalho Mozilla foi criado antes da existência de um formato de quadro lz4 padrão; envolve um bloco lz4 padrão.
Dito isto, o mesmo relatório de bug inclui alguns métodos alternativos. Vou listá-los brevemente:
dd if=original.jsonlz4 of=stripped.lz4 bs=8 skip=1
) e isso deve deixar um bloco lz4 válido. Observe que isso é diferente de um quadro lz4 . Enquanto a maioria das linguagens de programação possui bibliotecas que podem decodificar facilmente um bloco, é mais difícil encontrar uma ferramenta pré-criada para fazê-lo, por exemplo, oliblz4-tool
pacote aceita apenas o formato de quadro.fonte
Consegui extrair os URLs do arquivo {profile-dir} /sessionstore-backups/recovery.jsonlz4 usando a seguinte ferramenta online gratuita projetada expressamente para esse fim:
https://www.jeffersonscher.com/ffu/scrounger.html
O mesmo site oferece uma ferramenta semelhante para descriptografar arquivos jsonlz4 do diretório {profile-dir} / bookmarkbackups .
fonte
Nos sistemas UNIX® e UNIX , como o Mac OS X com MacPorts, FreeBSD, OpenBSD ou NetBSD com pkgsrc, o seguinte https://github.com/cnst/lz4json fork do lz4json também pode ser usado para compilar corretamente o caixa, por exemplo, no Mac OS X com MacPorts:
fonte