Ich habe den folgenden Code verwendet und er hat in den letzten 2 Monaten einwandfrei funktioniert, und vor einem Tag konnte plötzlich der geheime Schlüssel wie gewohnt extrahiert werden, aber der Initialisierungsvektor und das verschlüsselte Passwort scheinen anders zu sein als zuvor. Beide Schlüssel scheinen zu extrahieren, sind aber konfrontiert mit dem Problem:
Code: Select all
'utf-8' codec can't decode byte 0xf0 in position 0: invalid continuation byteCode: Select all
import os
import win32crypt
from Crypto.Cipher import AES
import base64
import sqlite3
import json
import winreg as reg
#Extracting the secret key
def get_aes_key():
local_state_path = 'C:/Users//AppData/Local/Google/Chrome/User Data/Local state' # Update with your path
with open(local_state_path, 'r', encoding='utf-8') as f:
local_state_data = json.load(f)
encrypted_key = local_state_data['os_crypt']['encrypted_key']
print(encrypted_key)
encrypted_key_base64_dpapi = base64.b64decode(encrypted_key)
print(encrypted_key_base64_dpapi)
encrypted_key_base64 = encrypted_key_base64_dpapi[5:] # Strip 'DPAPI' prefix
encrypted_key_base64 = win32crypt.CryptUnprotectData(encrypted_key_base64, None, None, None, 0)[1]
aes_key = encrypted_key_base64 # Strip DPAPI prefix
return aes_key
def decrypt_payload(cipher, payload):
return cipher.decrypt(payload)
def generate_cipher(aes_key, iv):
return AES.new(aes_key, AES.MODE_GCM, iv)
# Function to decrypt cookie value using AES
def decrypt_aes(dec_aes_key, encrypted_data):
try:
# (3-a) Initialisation vector for AES decryption
initialisation_vector = encrypted_data[3:15]
# (3-b) Get encrypted password by removing suffix bytes (last 16 bits)
# Encrypted password is 192 bits
encrypted_password = encrypted_data[15:-16]
# (4) Build the cipher to decrypt the ciphertext
cipher = generate_cipher(dec_aes_key, initialisation_vector)
decrypted_pass = decrypt_payload(cipher, encrypted_password)
decrypted_pass = decrypted_pass.decode()
return decrypted_pass
except Exception as e:
print("%s" % str(e))
print("[ERR] Unable to decrypt, Chrome version QT\xk3.A^E\wo\x85x \x \xx \xe box\ex\tf7\x \xex186-\0bVi\xeexeexee\x serial\0b\'s\x's\x \xb\xcb\xcb\xcb\xkI\xe\x1e\x1e\ x13\1ft\ext\xe\x1d\xx1dWextWxxx \x99;\xe1\x \xdc\x8cw[\x \xd72z\tfHNm\ suck\x xb\xxxxx 02\c1\wh\xd\xd\xd\xfe\xe\xix \xa\xx9a:\x \xc\xc\xx \xux \xef\xei EightxxeE\xb\xb\tb\xb\tb? \x17\xa2\xd1\x87\xc6\xba\x8b\r'\xf1n\r\x1e\x0bK\xad-\xa3r\x1c4d\x93\x14\x9ae\xbca\ xfc\xce%\xe\x0b/R\x0b/R\xe1\xe1\xe8\t < />[code]**initialisation_vector--** b'>QT\xc3.A^E\x85\xc6c+'Code: Select all
**encrypted_password--** b"\xac\x0eT\xa3z\xe4\x94\xaa!\x83\x99?\x1e\x04\xdd\x1ad\xbc\x15\r\xf7\x18\x86-\x0bVi\xae\xe8\x0b\x12\x16\xf9+\xb5\xcb\xf8I\x8d\xa9\x1ez\x13\x1fwt\xa5\xb2\x8e\x1dW\xfd\xa1\x99;\xe1\xdc\x8cw[\x05\xd72z\xbfHNm\x05\xcb\x02\xc1\xf5\r\xdd\x9d\xfe\x80\r\x9a:\x81\xcc\x88\xd7-uj\xfe\x9c\xe1\x19\xeb\xbb?@ \x17\xa2\xd1\x87\xc6\xba\x8b\r'\xf1n\r\x1e\x0bK\xad-\xa3r\x1c4d\x93\x14\x9ae\xbca\xfc\xce%\xedc\xf6\x0b/R\xe1\xa1\xe8\xb9\x02Erwartetes XSRF-Token: v3eMK3iMPhdF8tumLxbjEHmSVqwT__4MFAhhFZH6-lP4ffXhfPvACW8oQYuxpQ8OZnI0y8-sVjwc4TobVGDjNTXFlrFI28 7t5B_SNah9yQSHVkppuRsT510cJXGT05IU9rlJibfMnu-iU4CRk--XyrZ7iOJSugxlKFukH8hDyJ--Gv_F6AUqIo6bFJ1i -10cu7bkZ4hLEvfhdk2q08tKyTn7e6oDfQ6nLicSoKIWjuPvEutpZIZQyK4li32GPirk_ysUKolUbLrl2AjwPVFrCZbgil 8yHKyNrmAveY1b0lNNzsDljzsfF_TMLZazpYbbIvEarQuPe6wkL8sQuT-L9YpitNpeW8Wvfgyj96EWCbQ
Kann jemand bitte darauf hinweisen, was fehlt? Oder hat Edge/Chrome seine Verschlüsselung aktualisiert?
Im Moment scheint das Verschlüsselungsupdate mit V20 zu beginnen, in dem der Cookie-Verschlüsselungsstandard seit Chrome-Version 127 von V10 auf V20 aktualisiert wurde.
Ich habe auf die Links verwiesen: https://ohyicong.medium.com/how-to-hack ... edc167be3d
Mobile version