#coding: gbk
#author: Alien
#date : 2017年5月13日
import os, re
import xml.dom.minidom
#if is python2
#if sys.getdefaultencoding() != 'gbk':
# reload(sys)
# sys.setdefaultencoding('gbk')
class GetWifiPassword(object):
def get_all_name(self):
cmd = 'netsh wlan show profile'
ret = os.popen(cmd).read()
wifi_name_list = re.compile('所有用户配置文件 : (.*)').findall(ret)
return wifi_name_list
def get_passwd(self):
wifi_name_list = self.get_all_name()
if len(wifi_name_list) == 0:
print('Did not save any wifi')
return
tmp_file = 'tmp'
for name in wifi_name_list:
cmd = 'netsh wlan export profile name="%s" folder=. key=clear > %s' % (name, tmp_file)
ret = os.system(cmd)
if ret == 0:
file_name = 'WIFI-%s.xml' % name
passwd = self.get_xml_value(file_name)
os.system('ERASE %s' % file_name)
print('%s: %s' % (name, passwd))
os.system('ERASE %s' % tmp_file)
def get_xml_value(self, path):
try:
dom = xml.dom.minidom.parse(path)
root = dom.documentElement
msm = root.getElementsByTagName('MSM')[0]
sec = msm.getElementsByTagName('security')[0]
key = sec.getElementsByTagName('sharedKey')[0]
passwd = key.getElementsByTagName('keyMaterial')[0].firstChild.data
return passwd
except Exception:
return 'None'
if __name__ == '__main__':
GetWifiPassword().get_passwd()
python获取Win10已保存的WIFI密码
最新推荐文章于 2024-03-30 20:37:14 发布