Board logo

标题: [系统相关] 怎么给CMD加密输入密码时隐藏? [打印本页]

作者: sainoy    时间: 2019-2-2 12:28     标题: 怎么给CMD加密输入密码时隐藏?

环境是一台WIN7_64位旗舰版的系统,我要给打开cmd的时候设置一个密码,通过输入正确的密码才可以使用cmd,这个密码设置已经通过批处理实现,加密的代码是下面
  1. @echo off
  2. color 2
  3. cls
  4. title 不会游泳的渔欢迎您的到来!!!
  5. set pass=0
  6. set time=0
  7. echo 不会游泳的渔 www.laicuxiao.com  不会游泳的渔歡迎您的到來
  8. echo 咩事啊你?需要密码噶~
  9. :start
  10. set /p pass=请输入CMD密码:
  11. if %pass%==111111 goto ok
  12. if %time%==0 goto end
  13. set /A times=%time%-1
  14. :end
  15. exit
  16. cls
  17. :ok
  18. title 密码正确!欢迎进入不会游泳的渔DOS的世界!
复制代码
把这段代码命名为2.bat文件放在C:\windows\system32\2.bat
打开注册表,regedit---...MACHINE---SOFTWARE-----microsoft------Command Processor里的------AutoRun修改数值数据,添入C:\windows\system32\2.bat。如果没有自己新建一个。
这样的话就实现好cmd加密了,但是有个问题就是输入的密码是可见的,所以我希望让密码不可见或者是星号隐藏也行。
然后又在网上试了很多隐藏输入密码的方法,但几乎在WIN7_64位的系统都是不可用的。唯一找到一个能星号隐藏的代码如下
  1. @echo off
  2. set "psCommand=powershell -Command "$pword = read-host 'Enter Password' -AsSecureString ; ^
  3.     $BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword); ^
  4.         [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""
  5. for /f "usebackq delims=" %%p in (`%psCommand%`) do set password=%%p
  6. echo %password%
复制代码
这个代码命名为3.bat,接着把注册表AutoRun数值数据去掉。测试过,3.bat没问题,很正。然后就试着把3.bat放到C:\windows\system32\3.bat,AutoRun数值数据修改为C:\windows\system32\3.bat
再运行cmd就不能正常使用了。请问这个事情怎么解决?是什么导致不可用?有没有什么好办法能实现我这个需求?恳请帮忙一下!!!
作者: sainoy    时间: 2019-2-2 15:18

或者用runas /savecred /user:administrator cmd做成一个批处理,有没有办法让运行cmd的时候就运行这个命令,我自己试着把runas /savecred /user:administrator cmd写成bat放到C:\windows\system32\里,不能实现,会同时弹出两个窗口,而且输入密码后会再次弹出一个新的窗口。
作者: 小渣飞    时间: 2019-2-4 00:08

可以用第三方工具 Edit.exe 这个论坛就有




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2