吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

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

[讨论] 想在Windows上写一个Wi-Fi密码与记录密码的脚本并生成当前密码的二维码

[复制链接]
hoochanlon 发表于 2023-4-9 12:58

这个记录Wi-Fi密码与生成当前密码的二维码,我在Mac上实现过【shell】写了一个查看当前Wi-Fi密码,并记录Wi-Fi密码历史的脚本 。我的环境首要条件必须先得支持Wi-Fi网卡,才能谈后面的记录密码生成二维码的功能实现。我看了Parallels Knowledge Base-如何让虚拟机使用真正的 Wi-Fi 网络? 这个文档,觉得自己的环境写一个这样的脚本还是有些希望的,不至于巧妇难为无米之炊。

it.cha138-二维码的制作提到用python的pip装上去二维码工具,我的想法和之前一样,对于没有python环境的朋友直接 > nul 屏蔽完事。

明天上班,我看下能否在Windows做这种类似的实现,在cmd输入特定的“Wi-Fi密码”查看当前密码、“notepad wifi.txt”打开所有的Wi-Fi密码记录。

注意:这是Mac用的,会提示输入电脑用户名与开机密码,用之前请注意看注意事项

# 保持代码样式写文件
cat <<'EOF' >~/Public/mac_show_wifi.sh

# 详情:https://developer.apple.com/documentation/security/1515362-seckeychainsearchcopynext/

# 获取当前Wi-Fi名称
wifi_ssid=$(networksetup -getairportnetwork en0 | awk '{print $4}')

# 获取当前Wi-Fi密码
# -D 指定项;-a 接收账户,传递到security;-w明文。
wifi_password=$(
  security find-generic-password \
  -D "AirPort network password" \
  -a "$wifi_ssid" \
  -w
)

# 打印Wi-Fi与Wi-Fi密码
echo "Wi-Fi:"$wifi_ssid;echo "Wi-Fi密码:"$wifi_password

# 检查 wifi.txt 不存在则创建该文件
if [ ! -e wifi.txt ];then
 touch wifi.txt
fi

# 比对文本信息是否匹配Wi-Fi名称、密码,如果二者不一致则导入
if [[ "$(cat wifi.txt)" == *"$wifi_ssid"* && "$(cat wifi.txt)" == *"$wifi_password"* ]];then
  > /dev/null 2>&1
else
 printf "\nWi-Fi:$wifi_ssid\nWi-Fi密码:$wifi_password\n" >> wifi.txt
fi

brew install qrencode > /dev/null 2>&1
# 只屏蔽报错不屏蔽输出,2> /dev/null
qrencode -l M -t UTF8 -s 4 -m 2 "WIFI:${wifi_ssid} Wi-Fi密码:${wifi_password}" 2> /dev/null

EOF

# 创建软链接文件夹
sudo -S mkdir -p /usr/local/bin
# 保险起见先删除再说
sudo rm -rf /usr/local/bin/mac_show_wifi.shortcut
# 没有环境变量,进入目录创建软链接。
cd /usr/local/bin
sudo ln -s \
  ~/Public/mac_show_wifi.sh mac_show_wifi.shortcut &&
  echo "alias Wi-Fi密码='bash mac_show_wifi.shortcut'" >>~/.zshrc

echo "重开终端,自此以后,查看Wi-Fi密码,在终端输入:Wi-Fi密码,即可。"

来自坛友 leonca 对Windows 记录Wi-Fi密码的实现,我觉得挺有参考价值,代码功能还有一些完善空间,比如分类记录(当前Wi-Fi密码、所有Wi-Fi密码)、二维码、自动特权提升

来自坛友 leonca 对Windows的记录Wi-Fi密码实现

@echo off
title 批处理查看所有连接过的WiFi名称和密码
echo,&,echo 请用管理员权限运行此批处理,否则可能无法获取到密码
echo,
if not exist %~dp0\WiFi密码记录.txt (cd. > %~dp0\WiFi密码记录.txt)
echo,============================================ >> %~dp0\WiFi密码记录.txt
echo,%date% %time% >> %~dp0\WiFi密码记录.txt
for /f "tokens=3*" %%i in ('netsh wlan show profiles ^| findstr "所有用户配置文件"') do (
    call :GetPass %%i %%j
)

:NN
echo,
choice /c 12 /m 选项1:打开WiFi密码记录;选项2:退出批处理
if %errorlevel% equ 2 goto :eof
if %errorlevel% equ 1 start "" %~dp0\WiFi密码记录.txt
echo,&echo,按任意键结束!!! & pause > nul
goto :eof

:GetPass
echo,WiFi : %*
setlocal enabledelayedexpansion
for /f "delims=" %%m in ('findstr "%*" %~dp0\WiFi密码记录.txt') do (
    set vam=%%m
    )
for /f "delims=" %%a in ('netsh wlan show profile name^="%*" key^=clear ^| findstr "关键内容"') do (
    set var=%%a
    set var1=!var:关键内容=密码!
    set var2=!var1: =!
    set var3=!var2:^:= : !
    echo,!var3!
)
if "!vam!" equ "" (echo, >> %~dp0\WiFi密码记录.txt && echo,WiFi : %* >> %~dp0\WiFi密码记录.txt && echo,!var3! >> %~dp0\WiFi密码记录.txt)
echo,=========================
endlocal

以上坛友 leonca 的Windows获取Wi-Fi代码,netsh确实是个非常不错的工具,之后也是不错的参考吧。我现在想到之后实现可能会遇到的问题,以下皆为推测:

  • win7实验机 Wi-Fi网卡的alias是否与win10不同?
  • Windows网上是否能像(类似同理的操作)在 unix 环境里写入 .zshrc ?
  • win10写for循环来遍历所有的密码,会不会出现查看Wi-Fi密码都必须输入一次密码?

最后Windows是否有这样的软件,有的话我觉得没必要重复造轮子了,毕竟过了找工作来拿练手的时候。

以上,这就是目前饭后闲来无事的想法了。

免费评分

参与人数 3吾爱币 +3 热心值 +2 收起 理由
XY006 + 1 热心回复!
GS9452 + 1 热心回复!
fanvalen + 2 + 1 我很赞同!

查看全部评分

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

 楼主| hoochanlon 发表于 2023-4-9 23:44
本帖最后由 hoochanlon 于 2023-4-9 23:51 编辑
nirang2008 发表于 2023-4-9 23:09
都是大神,想学破解应该从那学起

系统化的了解,可以看看

一个Mac的,一个Windows的,两个都很体系化。  特别感谢坛友 yyhd 有心写作 !

 楼主| hoochanlon 发表于 2023-4-10 17:04
本帖最后由 hoochanlon 于 2023-4-10 19:48 编辑
lcg2014 发表于 2023-4-10 15:13
https://www.wb321.com/win10dnjc/91341.html
手把手详解win10系统使用PowerShell生成二维码的处理步骤
h ...

我想到一个更好的方案了,如图

win11的话是不用顾虑旧版cmd,win10就安装新的cmd了,见:https://github.com/microsoft/terminal

还是用python了,之后简单再用batch把python代码包装一下

PIP安装依赖

pip install qrcode > nul
pip install pillow > nul
pip install qrcode-terminal > nul

PYTHON

import qrcode_terminal
data = "https://www.baidu.com"
qrcode_terminal.draw(data)

CMD


@echo off
:: ----------------- 获取当前WiFi与密码 ---------------------
@REM 排除BSSID(基本服务集标识符)信息,有干扰到正常SSID输出。
setlocal enabledelayedexpansion
for /f "tokens=2 delims=:" %%i in ('netsh wlan show interfaces ^| findstr "SSID" ^| findstr /v "BSSID"') do (
    set now_wifi_ssid=%%i
    @REM 替换空格
    set now_wifi_ssid=!now_wifi_ssid: =!
)
for /f "tokens=2 delims=: " %%i in ('netsh wlan show profile name^="%now_wifi_ssid%" key^=clear ^| findstr "关键内容"') do (
    set "now_wifi_password=%%i"
    set now_wifi_password=!now_wifi_password!
)
echo %now_wifi_ssid%
echo %now_wifi_password%

:: ----------------- 二维码 ---------------------------------
@REM 二维码基本上是照片打开,Windows终端(旧版)字符支持受限,效果不理想
@REM Windows11以上自带的新版终端可行!
@REM https://github.com/microsoft/terminal
pip install qrcode > nul 2>&1
pip install pillow > nul 2>&1
pip install qrcode-terminal > nul 2>&1
set data= WiFi:%now_wifi_ssid% WiFi密码:%now_wifi_password%
python -c "import qrcode_terminal; qrcode_terminal.draw('%data%')"

:: --------------- 参考部分 ----------------------------------
@REM @REM 参考文档及资料 一
@REM @REM "tokens=2 delims=:" 参数只能在 for 命令中使用,tokens=2 ,“:” 之后的第二文本
@REM @REM  "%now_ssid: =%" 将所有空格置 nul
@REM netsh wlan show profile /? 帮助文档
@REM netsh wlan show profile name="G****-***S" key=clear
@REM @REM [csdn -for /f命令之—Delims和Tokens用法&总结](https://blog.csdn.net/kagurawill/article/details/114982328)
@REM @REM [cnblogs -【No0000A4】DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度](https://www.cnblogs.com/Chary/p/5825189.html)
@REM @REM 参考文档及资料 二
@REM WiFi名称输出的不是理想的结果 00,第一次取值正常,第二次成了00
@REM 找到方案为:开启延迟变量,脚本之家例子不错,说了那么多,其实就是以实时变量相对,条与行的概念也十分重要
@REM https://www.jb51.net/article/193245.htm
:: --------------- 参考部分 ----------------------------------

 楼主| hoochanlon 发表于 2023-4-10 19:59
lcg2014 发表于 2023-4-10 13:57
记录WiFi密码早就有了,怎么生成二维码?

生成二维码输出在终端的问题基本解决了,下一个难点:类似于Unix软链接一样自定义一个Windows命令,以后通过这个指令就直接查看当前WiFi密码了。

Windows command 比 MAC shell 稍微难一点,有些类似的逻辑得转个弯实现。
wwdzcdb 发表于 2023-4-9 16:39
感谢分享
破凤凰 发表于 2023-4-9 18:44
感谢分享
shujinlong 发表于 2023-4-9 19:00
dddddddddfffffdfddfff
lijiyu 发表于 2023-4-9 19:02
太厉害了,感谢分享
weiyanli 发表于 2023-4-9 20:33
感谢分享
adtic 发表于 2023-4-9 22:20
谢谢,试试看
nirang2008 发表于 2023-4-9 23:09
都是大神,想学破解应该从那学起
hghghhgh 发表于 2023-4-9 23:14
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-20 22:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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