利用python导出chrome保存的密码,80版本之前和80版本之后都可以

 

浏览器存储了我们太多的账号密码,有时候忘记密码需要点开设置查找一大堆,输完开机密码才能看到自己的密码,那我们能不能直接导出一个txt文本来查看呢?

引言

 

浏览器可以说是我们平时必备的冲浪工具,在访问各种web页面的时候,也难免不了需要我们登陆,通常在自己的电脑上,会存下很多我们的账号和密码,我们有时候也会遗忘需要去查看一下。这里我们主要说下Google Chrome浏览器在Windows中的密码问题。

 

 

一、我们在浏览器中保存的密码到底是什么样的呢?

 

在谷歌浏览器中,我们的密码都被存入了本地的一个叫做Login Data的sqlite文件中,顾名思义,这是一个sqlite的数据库文件(cookie信息在Cookies中,同样也是sqlite的数据库文件)。

利用python导出chrome保存的密码,80版本之前和80版本之后都可以_第1张图片

大概长这样.........

 

二、chrome在2020年2月更新之前的版本中,加密方式比较简单,

使用

win32crypt.CryptUnprotectData(databytes,None,None,None,0)[1]

便可直接解密

80版本开始,改流程了。

(参考:https://github.com/chromium/chromium/blob/master/components/os_crypt/os_crypt_win.cc)

key是这么生成的:

  1. 32字节DPAPI加密,

  2.  5字节b’DPAPI’头,

  3.  base64编码储存

这里不多讲加密的问题。

三、针对两种版本的chrome,都可以使用python脚本直接提取出密码明文。

利用python导出chrome保存的密码,80版本之前和80版本之后都可以_第2张图片

 

利用python导出chrome保存的密码,80版本之前和80版本之后都可以_第3张图片

python版本:3.7

命令行或解释器中运行都可。

解锁更多玩法:添加了发送的功能,使用pyqt打包后,发给局域网中其他电脑,可以获取对方全部密码(谨慎操作!!!)

 

代码已放GitHub:

https://github.com/kinnisoy/GetChromePassword

 

欢迎大家关注我的微信公众号,分享一些简单有趣的东西。

利用python导出chrome保存的密码,80版本之前和80版本之后都可以_第4张图片

你可能感兴趣的:(python)