OSX または Linux で暗号化された Cookie をデコードするための Python スクリプトの例をここに投稿しました。
コメントは少し紛らわしいので、明確にするために、これは os_crypt_win.cc の chromium ソースであるため、文字列を blob に入れて CryptUnprotectData() を実行しているだけであることがわかります。
bool OSCrypt::DecryptString(const std::string& ciphertext,
std::string* plaintext) {
DATA_BLOB input;
input.pbData = const_cast<BYTE*>(
reinterpret_cast<const BYTE*>(ciphertext.data()));
input.cbData = static_cast<DWORD>(ciphertext.length());
DATA_BLOB output;
BOOL result = CryptUnprotectData(&input, NULL, NULL, NULL, NULL,
0, &output);
if (!result)
return false;
plaintext->assign(reinterpret_cast<char*>(output.pbData), output.cbData);
LocalFree(output.pbData);
return true;
}
私もそれに取り組んできました。今まで、Chrome(Windows) は CryptProtectData 関数を使用して Cookie の値を暗号化していることがわかりました。ログインデータファイルに保存されたパスワードを暗号化するために使用していたのと同じ機能。 CryptProtectData は、ログインしている Windows ユーザーのユーザー アカウント情報とパスワードを使用して、データを暗号化します。暗号化を解除するには、ログインしている同じユーザー アカウントで CryptUnProtectData 関数を使用する必要があります。
ログインデータを復号化するためのスニペットは次のとおりですhttps://gist.github.com/jordan-wright/5770442
Linuxに関しては、ここで読みました: http://www.linkedin.com/groups/Google-Chrome-encrypt-Stored-Cookies-36874.S.5826955428000456708
他のシステムでは、ソルト「saltysalt」とパスワード「peanuts」でパスワードを難読化しているようです
arm-linux-gnu-gcc 致命的なエラー:stdio.h:そのようなファイルまたはディレクトリはありません
MODULE_DEVICE_TABLE(usb, id_table) の使い方を理解するのに苦労しました