Próbuję opanować zastrzeżony format pliku Mozilla Firefox .jsonlz4
, używany na przykład do sessionstore-backups/recovery.jsonlz4
, ale bezskutecznie.
Jak mogę odzyskać moje dane, a konkretnie jakiś długi tekst, który wpisałem w obszarach tekstowych zawieszonej sesji? To moje dane!
.jsonlz4
plików jest całkowicie nietrywialne .Odpowiedzi:
Istnieje kilka wyników Google, które faktycznie dają możliwe do rozwiązania rozwiązania, ale zgodnie z https://www.reddit.com/r/firefox/comments/2ps6wg/jsonlz4_bookmark_backups/ , następujące działania wydają się działać niezawodnie:
w
about:config
, przełączdevtools.chrome.enabled
ustawienie z domyślnegofalse
na wartośćtrue
otwórz Brudnopis z przeglądarki Firefox:
na pasku menu w aplikacji Scratchpad Firefoksa zmień środowisko z zawartości na przeglądarkę (pominięcie tego kroku spowoduje później błędy, jak
Exception: ReferenceError: OS is not defined
w następnym kroku)użyj kodu w Scratchpad Firefox:
Ostatni parametr do
JSON.stringify
obsługi liczby spacji używanych w każdej linii; wstawienie 0 powoduje, że całość zostanie wydrukowana w jednym wierszu, a wstawienie 1 odpowiednio podzieli linie (wstawienie 2 stworzy zbyt wiele bezużytecznych białych znaków i zwiększy rozmiar pliku bez większych korzyści)kliknij
Run
przyciskuruchomić
fgrep :textarea /Users/…/sessionstore-backups/recovery.baklz4.uncompressed.stringify
z poziomu aplikacji Terminalźródło
OS.File.read(...
wiersz podaje: „ReferenceError: OS nie jest zdefiniowany”.Niestety ze względu na niestandardowy nagłówek standardowe narzędzia nie będą działać. Istnieje otwarta propozycja zmiany tego. Najwyraźniej nagłówek Mozilli został opracowany przed istnieniem standardowego formatu ramki LZ4; otacza standardowy blok LZ4.
To powiedziawszy, ten sam raport o błędach zawiera kilka alternatywnych metod. Wymienię je krótko:
dd if=original.jsonlz4 of=stripped.lz4 bs=8 skip=1
), co powinno dać ci prawidłowy blok lz4. Zauważ, że różni się to od ramki LZ4 . Podczas gdy większość języków programowania ma biblioteki, które mogą łatwo dekodować blok, znalezienie wcześniej przygotowanego narzędzia jest trudniejsze, np.liblz4-tool
Pakiet akceptuje tylko format ramki.źródło
Udało mi się wyodrębnić adresy URL z pliku {profile-dir} /sessionstore-backups/recovery.jsonlz4 przy użyciu następującego bezpłatnego narzędzia online zaprojektowanego specjalnie do tego celu:
https://www.jeffersonscher.com/ffu/scrounger.html
Ta sama strona oferuje podobne narzędzie do odszyfrowywania plików jsonlz4 z katalogu {profile-dir} / bookmarkbackups .
źródło
W systemach UNIX® i podobnych do UNIX , takich jak Mac OS X z MacPorts, FreeBSD, OpenBSD lub NetBSD z pkgsrc, następujący https://github.com/cnst/lz4json widelec lz4json może być również użyty do skompilowania w czysty sposób box, np. w Mac OS X z MacPorts:
źródło