У меня есть словарь из двадцати с чем-то браузеров, и я хочу программно получить файлы cookie, сохраненные в default/network/cookies. Однако у меня есть проблема: некоторые файлы cookie даже не совпадают, и все они закодированы в базе 64, а также возвращают файлы cookie только одного браузера.
Вот основная функция:
У меня есть словарь из двадцати с чем-то браузеров, и я хочу программно получить файлы cookie, сохраненные в default/network/cookies. Однако у меня есть проблема: некоторые файлы cookie даже не совпадают, и все они закодированы в базе 64, а также возвращают файлы cookie только одного браузера. Вот основная функция: [code]def main(): keys = get_keys() all_data = {}
for name, base_path in BROWSERS.items(): cookie_db = os.path.join(base_path, "Default", "Network", "Cookies") if not os.path.isfile(cookie_db): continue
if browser_entries: all_data[name] = browser_entries
with open("cookieslmao.txt", "w", encoding="utf-8") as f: for browser, entries in all_data.items(): f.write(f"=======\n") for entry in entries: url = entry.get("url", "") name = entry.get("name", "") cookie = entry.get("cookie", "") f.write(f"url: {url}\n") f.write(f"name: {name}\n") f.write(f"cookie (encoded in base64): {cookie}\n") f.write(f"=======\n")
print(f"extraction complete! saved to cookieslmao.txt") [/code] а вот функция расшифровки и функция получения ключей [code]def decrypt(encrypted_value: bytes, key: bytes) -> str:
if encrypted_value.startswith(b'v10') or encrypted_value.startswith(b'v11'): iv = encrypted_value[3:15] ciphertext = encrypted_value[15:-16] tag = encrypted_value[-16:]