吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4173|回复: 21
收起左侧

[Java 转载] Java实现本机WIFI密码查看

  [复制链接]
花伤情犹在 发表于 2021-10-21 09:26
[Java] 纯文本查看 复制代码
import java.io.*;

public class GetWiFiPassWord {
    public static void main(String[] args) throws IOException {
        testRunntime();
    }

    public static void testRunntime(){
        try {
            FileWriter fileWriter=new FileWriter("WIFI.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec("netsh wlan show profiles").getInputStream(),"GBK"));
            String name;//储存WIFI名称的一行数据
            //遍历WIFI
            while ((name=br.readLine())!=null){
                if (name.indexOf("    所有用户配置文件 : ")>=0){
                    //打印wifi名称
                    System.out.println("WIFI名称:"+name.substring(15,name.length()));//提取WiFi名称的字符串然后输出
                    fileWriter.write("WIFI名称:"+name.substring(15,name.length())+"\n");
                    //如果不写GBK会出现乱码
                    BufferedReader br2 = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec("netsh wlan show profiles name=\""+name.substring(15,name.length())+"\" key=clear").getInputStream(),"GBK"));
                    String password;//储存WIFi密码的一行数据
                    //遍历字符串->"关键内容"
                    while ((password=br2.readLine())!=null){
                        if (password.indexOf("关键内容")>=0){
                            //打印WIFI密码
                            System.out.println("WIFI密码:"+password.substring(22,password.length()));//提取WIFI密码的字符串然后输出
                            fileWriter.write("WIFI密码:"+password.substring(22,password.length())+"\n"+"***************************"+"\n");
                            System.out.println("***************************");
                            break;
                        }
                    }
                }
            }
            br.close();//关闭字符缓冲read流
            fileWriter.close();//关闭文件write流
            System.out.println("WIFI信息已经自动保存在WIFI.txt");
            //用文本文档(notepad)打开WIFI.txt
            Runtime.getRuntime().exec("cmd.exe /c notepad "+System.getProperty("user.dir")+"\\WIFI.txt");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
运行之后会自动在控制台打印出来,信息也在当前目录下生成一个WIFI.txt的文本中
Snipaste_2021-10-21_09-14-19.jpg
建议打成jar包,建一个bat文件来启动
Snipaste_2021-10-21_09-16-24.jpg
原理也是很简单,利用exec()方法执行cmd命令,然后通过字符流来读取信息,将wifi名称和密码提取出来
netsh wlan show profiles 获取本机连接过的WIFI网络
netsh wlan show profiles name=“wifi名称” key=clear 查看某个WIFI网络的详细信息(包括WIFI密码)


免费评分

参与人数 6吾爱币 +4 热心值 +6 收起 理由
TeMoon + 1 + 1 我很赞同!
QIeliBEieR + 1 我很赞同!
zengyantao + 1 + 1 我很赞同!
启年啊 + 1 6666
SKnight + 1 + 1 我很赞同!
无垠苍茫然若失 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

killerman201503 发表于 2021-10-23 22:00
可以不错,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
zlw8574 发表于 2021-10-29 08:38
这个就是读取系统保存的wifi,将WiFi名称和密码显示出来,exec执行的是cmd命令,将字符流输出保存到文件中,只适用于windows系统,linux和mac不能执行cmd命令。
吾爱爱破解 发表于 2021-10-21 13:05
Prison11 发表于 2021-10-24 11:03
值得学习,谢谢楼主
Robots 发表于 2021-10-28 16:03
这个只能获取到已经连接的wifi密码吗?
BenChuOriginal 发表于 2021-10-28 17:58
谢谢提供思路!
lscxw 发表于 2021-10-28 18:06
学习一下
l398906114 发表于 2021-11-12 16:18
这个只能看自己电脑连接过的
Newriver 发表于 2021-11-15 10:30
不错,帮助很大
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 03:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表