私は、Mozilla Firefoxの独自のファイル形式.jsonlz4
(たとえばに使用されますsessionstore-backups/recovery.jsonlz4
が、役に立たない)を取得しようとしています。
データ、特にクラッシュしたセッションのいくつかのテキストエリアに入力した長いテキストを取得するにはどうすればよいですか?それは私のデータです!
.jsonlz4
ファイルからあなた自身のデータを実際に取り戻すことは完全に重要です。
私は、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
Firefox内からScratchpadを開きます。
Firefoxのスクラッチパッド内のメニューバーで、環境をコンテンツからブラウザに変更します(この手順を省略するException: ReferenceError: OS is not defined
と、次の手順のようにエラーが発生します)
Firefox のスクラッチパッド内で次のようなコードを使用します。
var file = "/Users/…/sessionstore-backups/recovery.baklz4";
//OS.File.read(file, { compression: "lz4" }).then(bytes =>
// OS.File.writeAtomic(file + ".uncompressed", bytes));
OS.File.read(file, { compression: "lz4" }).then(bytes => {
OS.File.writeAtomic(file + ".uncompressed.stringify",
JSON.stringify(JSON.parse(new TextDecoder().decode(bytes)),null,1))
});
JSON.stringify
各行で使用されるスペースの数を処理する最後のパラメーター。0を入力すると、すべてが1行に印刷され、1を入力すると、行が適切に分割されます(2を入力すると、無駄な余白が多くなり、ファイルのサイズが大きくなりますが、ほとんどメリットはありません)
クリックRun
ボタンを
ターミナルアプリfgrep :textarea /Users/…/sessionstore-backups/recovery.baklz4.uncompressed.stringify
内から実行
OS.File.read(...
行には「ReferenceError:OS is not defined」と表示されます。
残念ながら、非標準ヘッダーのため、標準ツールは機能しません。それを変更するためのオープンな提案があります。Mozillaヘッダーは、標準のlz4フレーム形式が存在する前に考案されたようです。標準のlz4ブロックをラップします。
ただし、同じバグレポートにはいくつかの代替方法が含まれています。それらを簡単にリストします。
dd if=original.jsonlz4 of=stripped.lz4 bs=8 skip=1
)取り除くことができ、それによって有効なlz4ブロックが残るはずです。これはlz4 フレームとは異なることに注意してください。ほとんどのプログラミング言語にはブロックを簡単にデコードできるライブラリがありますが、そのためのビルド済みツールを見つけることはより困難liblz4-tool
です。たとえば、パッケージはフレーム形式のみを受け入れます。この目的のために特別に設計された次の無料のオンラインツールを使用して、{profile-dir} /sessionstore-backups/recovery.jsonlz4ファイルからURLを抽出できました。
https://www.jeffersonscher.com/ffu/scrounger.html
同じサイトでは、{profile-dir} / bookmarkbackupsディレクトリからjsonlz4ファイルを復号化するための同様のツールを提供しています。
上UNIX®およびUNIXライクなシステムのpkgsrcとMacPortsを、FreeBSDの、OpenBSDのか、NetBSDのを搭載したMac OS Xのように、次https://github.com/cnst/lz4json lz4jsonのフォークの外にきれいにコンパイルするのにも使用することができ例えば、Mac OS X w / MacPortsの場合:
sudo port install lz4
git clone https://github.com/cnst/lz4json.git
cd lz4json
make
./lz4jsoncat ~/Library/Application\ Support/Firefox/Profiles/CHANGE\
THIS.default/sessionstore-backups/recovery.jsonlz4 \
| python -m json.tool | fgrep :textarea | more