GNU/Linux >> Linux の 問題 >  >> Linux

Python で Chrome Linux BLOB 暗号化 Cookie を復号化する

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」でパスワードを難読化しているようです


Linux
  1. Linux/Unixでの入力/出力リダイレクト

  2. Linux – Ps Lstartの出力が変更されましたか?

  3. RockyLinux8にPython3.10をインストールする方法

  1. Linux 時間コマンドの例

  2. Linux 2.7 の python を 3.5 に更新

  3. Linux で入出力エラーを解釈して修正する方法は?

  1. LinuxにPythonをインストールする方法

  2. Linuxでの入出力とエラーリダイレクトの操作

  3. LinuxでのPythonbool()関数