批处理文件/ cmd文件中的自动输入密码

问题描述 投票:0回答:1

我有这个代码来制作和运行一个访问点:

runas /User:Administrator cmd
netsh wlan set hostednetwork mode=allow ssid=private_wifi key=123456789
netsh wlan start hostednetwork
pause

我的问题是:我可以自动输入密码,只需双击文件而无需其他操作吗?

batch-file cmd wlan
1个回答
0
投票

您可以使用备用数据流来提供密码。

1)创建并保存批处理文件 2)使用ECHO命令将密码“放置”到附加到批处理文件的ADS中 3)使用重定向从ADS(替代数据流)文件中读取密码

密码是安全的,因为它不能使用传统方法“看到”。

以下是它的工作原理:

1)在代码中包含以下行:

set /p password=<%~nx0:password

并保存您的批处理文件。

2)在DOS命令行中,输入以下命令:

echo YourPassWord>YourBatchFile.bat:password

注1:请仔细查看该行。注意':'(冒号)符号后面的ADS。注2:注意>(大于)符号的任何一侧都没有空格。

例如,假设您创建了以下名为GETPASS.BAT的简单批处理文件,并且您的密码是LETMEIN

@echo off
set /p password=<%~nx0:password
echo %password%

现在保存批处理文件并在DOS提示符下输入以下命令:

echo LETMEIN>GETPASS.BAT:password

注意:>(大于)符号的任何一侧都没有空格。

现在运行批处理文件 - 它应该只显示:

LETMEIN

关于安全性问题,以下传统方法均不会泄露您的密码:

COPY getpass.bat:password file.txt
TYPE getpass.bat:password
MORE getpass.bat:password
FIND /V "" getpass.bat:password

查看ADS文件内容的方法有限。我把它留给你作为一个挑战,看看你能不能做到。因此,从新手的角度来看,这使得它非常安全。

此外,就新手而言(以及一些专业人士),以下几行可能会产生误导,特别是在缺乏有关ADS的知识的情况下。

set /p password=<%~nx0:password

最后,正如您所看到的,没有包含您密码的其他外部文件。 ADS附加到批处理文件。这意味着,如果您移动或重命名批处理文件,ADS将随之移动。此外,命令的%~nx0部分确保在重命名批处理文件时可以找到ADS。

© www.soinside.com 2019 - 2024. All rights reserved.