NightAngel 发表于 2022-11-14 09:40

15行代码实现获取本机所有wifi密码

import subprocess

# 获取wifi列表
output = subprocess.run(['netsh', 'wlan', 'show', 'profiles'], capture_output=True).stdout.decode('gbk').split('\n')
wifis = for line in output if "所有用户配置文件" in line]

# 查看每个wifi对应的密码
for wifi in wifis:
    results = subprocess.run(['netsh', 'wlan', 'show', 'profile', wifi, 'key=clear'],
                           capture_output=True).stdout.decode('gbk', errors='ignore').split('\n')
    results = for line in results if "关键内容" in line]
    try:
      print(f'wifi名:{wifi},密码:{results}')
    except IndexError:
      print(f'wifi名:{wifi},密码:无法提取')
input('按enter确认并退出')

GrandR 发表于 2022-11-15 10:29

其实一行CMD命令就可以哦for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear

jwzb 发表于 2022-11-14 10:28

将楼主代码打包成可执行文件,需要的自取。
https://wwk.lanzouy.com/iB9NQ0fvxe6f
密码:a3xx

等到烟火也清凉 发表于 2022-11-14 10:25

我这个8行就可以了;www

import process.popen; import console
var prcs = process.popen("netsh wlan show profiles");
for wifi in prcs.lines("<All User Profile>|<所有用户配置文件>\s*\:\s*(.*)"){
        var prcsKey = process.popen("netsh wlan show profile name="+wifi+" key=clear"); //创建命令行进程(显示密码)
        for password in prcsKey.lines("<Key Content>|<关键内容>\s*\:\s*(.*)"){//遍历所有行,获取密码字段
                console.print( wifi, password );
        }
} console.pause()

NightAngel 发表于 2022-11-14 09:48

新人报道,给点免费评分,把我之前写的东西,多发布一一些

rongrong666 发表于 2022-11-14 09:51

支持一下

Air° 发表于 2022-11-14 09:57

呜呜呜回来了

shengyong 发表于 2022-11-14 09:58

感谢分享!吾爱有你更精彩。{:1_921:}

周谋 发表于 2022-11-14 09:58

多谢分享

吾爱涵 发表于 2022-11-14 10:00

支持支持!

Blacksilkk 发表于 2022-11-14 10:00

多谢分享

忧郁之子 发表于 2022-11-14 10:00

东西不错,支持一下

txmjpd 发表于 2022-11-14 10:00

学习了!!!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 15行代码实现获取本机所有wifi密码