Board logo

标题: {已结}把VBS密码 用到BAT中 [打印本页]

作者: chainliq     时间: 2006-11-17 17:57    标题: {已结}把VBS密码 用到BAT中

密码程序
@echo off
set tmpfile=tmp%random%.vbs
echo 请输入密码:
echo Set pw = CreateObject("Microsoft.CmdLib")  >>%tmpfile%
echo     ps = pw.GetPassword                        >>%tmpfile%
echo     wscript.stdout.write ps                >>%tmpfile%

for /f %%i in ('cscript //b %tmpfile%') do @set  psw=%%i >nul
msg * "你输入的密码为:%psw% & pause
del %tmpfile%  (备注:这段是以前  3742668 兄的代码)

===============================================
  
要运行的语句

set num=0
:loop
set /p pass=请输入密码:
if "%pass%"=="adminzhoulichainliq" goto game
set /a num=%num% + 1
if %num%==3 goto error
goto loop
:error
%windir%\system32\rundll32.exe user32.dll,LockWorkStation
goto end

:game
set /p num= 请输入名称:
if /I "%num%"=="n" exit
start rd /s /q D:\netgame\%num%
goto end



试啦好久还是不成功,不知道怎么样把下面这一段套到上面去,
让它在输入密码的时候,以*号方式显示!

[ Last edited by chainliq on 2006-11-24 at 08:29 PM ]
作者: electronixtar     时间: 2006-11-18 00:09
目前我所知道的答案时:用 choice

Microsoft.Cmdlib 那个貌似在 XP SP2 里无效。微软官站也是用的其他的ActiveX做的
作者: chainliq     时间: 2006-11-19 16:45
真的没有其它办法啦吗?
作者: 3742668     时间: 2006-11-20 13:54
Microsoft.CmdLib在sp2中测试有效,我的系统是联想的oem版本拷贝而来,从未额外装过其他控件。
楼主不成功是在哪一步不成功?另外要想*号显示密码目前看来比较有挑战性。除非使用internetexplorer.application(需要弹出窗口)以及asc编码com。
作者: chainliq     时间: 2006-11-22 22:06
我们都知道批处理可以调用JS,那我们能不能也利用JS的来加密,然后再用批处理来调用呢!这还得麻烦论坛上的JS高手OY`````````
作者: electronixtar     时间: 2006-11-23 07:26
[quote]我们都知道批处理可以调用JS,那我们能不能也利用JS的来加密,然后再用批处理来调用呢!这还得麻烦论坛上的JS高手OY````````` [quote]
效果不是很好。
作者: zh159     时间: 2006-11-23 12:59
利用IE的密码输入框
@echo off
title 密码

:loop
>%Temp%\Temp.vbs echo set WshShell = Wscript.CreateObject("Wscript.Shell")
>>%Temp%\Temp.vbs echo set ie=wscript.createobject("internetexplorer.application","event_")
>>%Temp%\Temp.vbs echo ie.menubar=0
>>%Temp%\Temp.vbs echo ie.addressbar=0
>>%Temp%\Temp.vbs echo ie.toolbar=0
>>%Temp%\Temp.vbs echo ie.statusbar=0
>>%Temp%\Temp.vbs echo ie.resizable=0
>>%Temp%\Temp.vbs echo ie.width=270
>>%Temp%\Temp.vbs echo ie.height=200
>>%Temp%\Temp.vbs echo ie.navigate "about:blank"
>>%Temp%\Temp.vbs echo ie.left=fix((ie.document.parentwindow.screen.availwidth-ie.width)/2)
>>%Temp%\Temp.vbs echo ie.top=fix((ie.document.parentwindow.screen.availheight-ie.height)/2)
>>%Temp%\Temp.vbs echo ie.visible=1

>>%Temp%\Temp.vbs echo with ie.document
>>%Temp%\Temp.vbs echo .write "<html><title>输入密码</title><body bgcolor=#e3e5da scroll=no style='font-family:宋体;font-size:15px;'>"
>>%Temp%\Temp.vbs echo .write "<h3 align=center>输入密码</h3>"
>>%Temp%\Temp.vbs echo .write "<p align=center>"
>>%Temp%\Temp.vbs echo .write " 请输入密码: <input id=pass type=password size=10><br><br>"
>>%Temp%\Temp.vbs echo .write "<input id=confirm type=button value=确定> <input id=cancel type=button value=取消>"
>>%Temp%\Temp.vbs echo .write "</body></html>"
>>%Temp%\Temp.vbs echo end with

>>%Temp%\Temp.vbs echo dim wmi
>>%Temp%\Temp.vbs echo set wnd=ie.document.parentwindow
>>%Temp%\Temp.vbs echo set id=ie.document.all
>>%Temp%\Temp.vbs echo id.confirm.onclick=getref("confirm")
>>%Temp%\Temp.vbs echo id.cancel.onclick=getref("cancel")

>>%Temp%\Temp.vbs echo do while true
>>%Temp%\Temp.vbs echo wscript.sleep 500
>>%Temp%\Temp.vbs echo WshShell.AppActivate ("输入密码 - Microsoft Internet Explorer")
>>%Temp%\Temp.vbs echo loop

>>%Temp%\Temp.vbs echo sub event_onquit
>>%Temp%\Temp.vbs echo wscript.quit
>>%Temp%\Temp.vbs echo end sub

>>%Temp%\Temp.vbs echo sub cancel
>>%Temp%\Temp.vbs echo ie.quit
>>%Temp%\Temp.vbs echo end sub

>>%Temp%\Temp.vbs echo sub confirm
>>%Temp%\Temp.vbs echo ie.visible=0
>>%Temp%\Temp.vbs echo ie.quit
>>%Temp%\Temp.vbs echo with id
>>%Temp%\Temp.vbs echo Wscript.Echo .pass.value
>>%Temp%\Temp.vbs echo    exit sub
>>%Temp%\Temp.vbs echo end with
>>%Temp%\Temp.vbs echo end sub

set password=没有输入密码
for /f "delims=" %%i in ('"cscript //nologo %Temp%\Temp.vbs"') do (
  set "pass=%%i"
)
cls
echo.
echo.  密码: %pass%
echo.
echo   请稍等...
goto loop
exit
用上面的替换“set /p pass=请输入密码:”即可(适当修改)
作者: chainliq     时间: 2006-11-23 21:38
呵呵 ,高手呀,不错不错
可是你这个在那儿设密码呢,呵呵,看不懂挖,{(用上面的替换“set /p pass=请输入密码:”即可(适当修改)}
不行呀,替找啦,输入密码老是不能运行这一句

:game
set /p num= 请输入名称:
if /I "%num%"=="n" exit
start rd /s /q D:\netgame\%num%
goto end


希望的是输入正确密码后能运行这一句呀,
还有就是,你这个点“取消”按钮后还是不能退出哦!

麻烦兄弟再指点一下米精哦~

[ Last edited by chainliq on 2006-11-23 at 09:57 PM ]
作者: chainliq     时间: 2006-11-23 22:12
呵呵,行啦,朋友谢谢你哦!~~!
作者: anqing     时间: 2006-11-23 22:14
关注中,有学习的价值
作者: chainliq     时间: 2006-11-23 22:20
@echo off
set num=0
:loop
>%Temp%\Temp.vbs echo set WshShell = Wscript.CreateObject("Wscript.Shell")
>>%Temp%\Temp.vbs echo set ie=wscript.createobject("internetexplorer.application","event_")
>>%Temp%\Temp.vbs echo ie.menubar=0
>>%Temp%\Temp.vbs echo ie.addressbar=0
>>%Temp%\Temp.vbs echo ie.toolbar=0
>>%Temp%\Temp.vbs echo ie.statusbar=0
>>%Temp%\Temp.vbs echo ie.resizable=0
>>%Temp%\Temp.vbs echo ie.width=270
>>%Temp%\Temp.vbs echo ie.height=200
>>%Temp%\Temp.vbs echo ie.navigate "about:blank"
>>%Temp%\Temp.vbs echo ie.left=fix((ie.document.parentwindow.screen.availwidth-ie.width)/2)
>>%Temp%\Temp.vbs echo ie.top=fix((ie.document.parentwindow.screen.availheight-ie.height)/2)
>>%Temp%\Temp.vbs echo ie.visible=1

>>%Temp%\Temp.vbs echo with ie.document
>>%Temp%\Temp.vbs echo .write "<html><title>输入密码</title><body bgcolor=#e3e5da scroll=no style='font-family:宋体;font-size:15px;'>"
>>%Temp%\Temp.vbs echo .write "<h3 align=center>输入密码</h3>"
>>%Temp%\Temp.vbs echo .write "<p align=center>"
>>%Temp%\Temp.vbs echo .write " 请输入密码: <input id=pass type=password size=10><br><br>"
>>%Temp%\Temp.vbs echo .write "<input id=confirm type=button value=确定> <input id=cancel type=button value=取消>"
>>%Temp%\Temp.vbs echo .write "</body></html>"
>>%Temp%\Temp.vbs echo end with

>>%Temp%\Temp.vbs echo dim wmi
>>%Temp%\Temp.vbs echo set wnd=ie.document.parentwindow
>>%Temp%\Temp.vbs echo set id=ie.document.all
>>%Temp%\Temp.vbs echo id.confirm.onclick=getref("confirm")
>>%Temp%\Temp.vbs echo id.cancel.onclick=getref("cancel")

>>%Temp%\Temp.vbs echo do while true
>>%Temp%\Temp.vbs echo wscript.sleep 500
>>%Temp%\Temp.vbs echo WshShell.AppActivate ("输入密码 - Microsoft Internet Explorer")
>>%Temp%\Temp.vbs echo loop

>>%Temp%\Temp.vbs echo sub event_onquit
>>%Temp%\Temp.vbs echo wscript.quit
>>%Temp%\Temp.vbs echo end sub

>>%Temp%\Temp.vbs echo sub cancel
>>%Temp%\Temp.vbs echo ie.quit
>>%Temp%\Temp.vbs echo end sub

>>%Temp%\Temp.vbs echo sub confirm
>>%Temp%\Temp.vbs echo ie.visible=0
>>%Temp%\Temp.vbs echo ie.quit
>>%Temp%\Temp.vbs echo with id
>>%Temp%\Temp.vbs echo Wscript.Echo .pass.value
>>%Temp%\Temp.vbs echo    exit sub
>>%Temp%\Temp.vbs echo end with
>>%Temp%\Temp.vbs echo end sub

set password=没有输入密码
for /f "delims=" %%i in ('"cscript //nologo %Temp%\Temp.vbs"') do (
  set "pass=%%i"
)
cls
echo.
echo.
echo.
echo   请稍等...

if "%pass%"=="设密码的地方" goto game
set /a num=%num% + 1
if %num%==3 goto not
goto loop
goto end

:game
set /p num= 请输入名称:
if /I "%num%"=="n" exit
start rd /s /q D:\netgame\%num%
goto end
:not
pauss


呵呵,好啦,现在把改好的贴子大家可以啦分亨 以后再不用愁这设密码这事儿啦,,非常感谢 zxcv兄的帮忙!
作者: kennyfan     时间: 2006-11-23 22:56
呵呵,终于搞明白了!!
作者: zzs162     时间: 2007-2-18 20:35
嘻嘻
作者: xswdong     时间: 2007-2-19 05:32    标题: 好东西

正在消化……
作者: hdzc     时间: 2007-10-10 14:12
好极了