[工具]Python获取本机保存的所有WIFI密码(附源代码)
写了一小段python脚本,用于获取PC上保存过 的所有WIFI密码。因为XP和Win7系统保存的位置不相同: XP在注册表,而Win7、Vista等在ProgramData文件夹 ,对XP的支持暂未添加。 简单描述一下这段脚本所做的工作:
1. 获取ProgramData\Microsoft\Wlansvc\Profiles\Interfaces文件夹
WIFI密码经加密后,保存在ProgramData\Microsoft\Wlansvc\Profiles\Interfaces文件夹下,每个SSID对应一个xml文件。直接找到ProgramData文件夹就可以了,显而易见的方式有两种:
-
Win32 API SHGetFolderPath函数获取
-
os.environ[‘PROGRAMDATA’]环境变量获取
使用API函数完成更好。
2. 使用CryptUnprotectData函数解密
找到所有xml文件中keyMaterial标签中的内容,调用函数CryptUnprotectData依次解密即可。
3. 获取System权限
这段代码需要SYSTEM权限才能运行成功,这跟我们常用的”管理员身份”还有一些区别。这里我通过psExec创建一个交互式shell完成“权限提升”。
(运行成功后会在程序目录下创建一个WIFIpass.txt,包含所有SSID和明文密码)