您在正确的轨道上!我已经为此工作了几天,终于弄清楚了。(非常感谢OP提供了到Chromium源的有用链接。)
我张贴了一篇文章,其中包含更多细节和有效脚本,但这是基本思想:
#! /usr/bin/env python3from Crypto.Cipher import AESfrom Crypto.Protocol.KDF import PBKDF2# Function to get rid of paddingdef clean(x): return x[:-x[-1]].depre('utf8')# replace with your encrypted_value from sqlite3encrypted_value = ENCRYPTED_VALUE# Trim off the 'v10' that Chrome/ium prependsencrypted_value = encrypted_value[3:]# Default values used by both Chrome and Chromium in OSX and Linuxsalt = b'saltysalt'iv = b' ' * 16length = 16# On Mac, replace MY_PASS with your password from Keychain# On Linux, replace MY_PASS with 'peanuts'my_pass = MY_PASSmy_pass = my_pass.enpre('utf8')# 1003 on Mac, 1 on Linuxiterations = 1003key = PBKDF2(my_pass, salt, length, iterations)cipher = AES.new(key, AES.MODE_CBC, IV=iv)decrypted = cipher.decrypt(encrypted_value)print(clean(decrypted))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)