Board logo

标题: 我想让指定的程序运行前先能过批处理密码验证?? [打印本页]

作者: sj121hf     时间: 2008-12-15 12:32    标题: 我想让指定的程序运行前先能过批处理密码验证??

我的这个想法大家能不能帮我实现啊?????????//
作者: terrytong     时间: 2008-12-15 12:37
那就在你要运行的程序前面加个密码验证就好了啊.
作者: nafan     时间: 2008-12-15 12:53
不太明白,呵呵
作者: sj121hf     时间: 2008-12-15 12:57    标题: 那能不能让指定程序只能通过批处理来运行呢

????????
作者: tireless     时间: 2008-12-15 13:04
用“映像劫持”。

例如运行 QQ 时要进行密码验证:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\qq.exe" /v debugger /t reg_sz /d "c:\test\密码验证.bat" /f
密码验证.bat 的内容就可以自行编写了。示例:
@echo off
title 您需要通过密码验证才能使用 QQ。
:loop
set /p password=请输入密码:
if /i "%password%"=="cn-dos" goto pass
cls&echo.密码错误。请按任意键返回重新输入...&pause>nul&cls&goto loop

:pass
start "" "D:\Program Files\QQ\QQ.exe"
[ Last edited by tireless on 2008-12-15 at 13:15 ]
作者: exzzz     时间: 2008-12-15 17:08
以前见过,好像是在GPEDIT.MSC里面可以修改吧?

好东西,收藏了。
作者: jxing1214     时间: 2008-12-19 14:16
为了提高安全性,批处理密码验证可以用MD5值代替明文密码:
@ECHO off
set /a t=0
:start
set /a t=%t%+1
if %t%==4 goto :eof
set /p p=请输入密码:
for /f "skip=1 tokens=4" %%i in ('md5 -s %p%') do set MD5=%%i
if %MD5%==c8ba76c279269b1c6bc8a07e38e78fa4 goto OK
echo 密码有误,请重新输入。
goto start
:OK
echo 密码正确,准备执行命令....
其中,第七行代码视MD5.exe不同,要做适当修改;第八行中的MD5要替换为自己的。

[ Last edited by jxing1214 on 2008-12-19 at 14:18 ]
作者: jxing1214     时间: 2008-12-19 14:18
不好意思,第一次发贴,不知道代码是怎么粘帖的
作者: HAT     时间: 2008-12-19 14:19    标题: Re 8楼

Q: 为方便他人复制,如何给代码加code标签?
A: http://www.cn-dos.net/forum/viewthread.php?tid=43735#pid304733
参考:http://www.cn-dos.net/forum/faq.php?page=misc#1