|
andred0421
初级用户
积分 114
发帖 47
注册 2006-11-20
状态 离线
|
『楼 主』:
[求助]郁闷了 ,哪错了? 魔兽密保
好了,重新发一下
大家给个建议
有没有哪位高手能做个密码轮~~
期待
@echo off
set ba=3
:begin
set /a ba=%ba%-1
set x=%random:~-1%%random:~-1%
set b=%x:~1,1%
set a=%x:~0,1%
if %a% EQU 1 set a=A&set as=D9D4F495E875A2E075A1A4A6E1B9770FC51CE410C124A10E0DB5E4B97FC2AF39E369853DF766FA44E1ED0FF613F563BD98F13708210194C475687BE6106A3B8466F041E16A60928B05A7E228A89C379944F683A84163B3523AFE57C2E008BC8CD1FE173D08E959397ADF34B1D77E88D7F457C545A9DED88F18ECEE47145A72C0751D31DD6B56B26B29DAC2C0E1839E3466F041E16A60928B05A7E228A89C3799
if %a% EQU 2 set a=B&set as=F457C545A9DED88F18ECEE47145A72C06F4922F45568161A8CDF4AD2299F6D23B6D767D2F8ED5D21A44B0E5886680CB9072B030BA126B2F4B2374F342BE9ED44AAB3238922BCC25A6F606EB525FFDC56FE9FC289C3FF0AF142B6D3BEAD98A9236F4922F45568161A8CDF4AD2299F6D238E296A067A37563370DED05F5A3BF3EC98F13708210194C475687BE6106A3B84FAEAC4E1EEF307C2AB7B0A3821E6C667
if %a% EQU 3 set a=C&set as=F4B9EC30AD9F68F89B29639786CB62EFD1FE173D08E959397ADF34B1D77E88D7E45EE7CE7E88149AF8DD32B27F9512CEF7177163C833DFF4B38FC8D2872F1EC68613985EC49EB8F757AE6439E879BB2AC0C7C76D30BD3DCAEFC96F40275BDC0AD09BF41544A3365A46C9077EBB5E35C319CA14E7EA6328A42E0EB13D585E4C2268D30A9594728BC39AA24BE94B319D2198F13708210194C475687BE6106A3B84
if %a% EQU 4 set a=D&set as=A5BFC9E07964F8DDDEB95FC584CD965D92CC227532D17E56E07902B254DFAD102838023A778DFAECDC212708F721B7881FF1DE774005F8DA13F42943881C655F02E74F10E0327AD868D138F2B4FDD6F054229ABFCFA5649E7003B83DD4755294D82C8D1619AD8176D665453CFB2E55F01F0E3DAD99908345F7439F8FFABDFFC4AC627AB1CCBDB62EC96E702F07F6425BB6D767D2F8ED5D21A44B0E5886680CB9
if %a% EQU 5 set a=E&set as=3295C76ACBF4CAAED33C36B1B5FC2CB196A3BE3CF272E017046D1B2674A52BD354229ABFCFA5649E7003B83DD4755294D1FE173D08E959397ADF34B1D77E88D7642E92EFB79421734881B53E1E1B18B6A2EF406E2C2351E0B9E80029C909242DD67D8AB4F4C10BF22AA353E27879133C68D30A9594728BC39AA24BE94B319D219A1158154DFA42CADDBD0694A4E9BDC896A3BE3CF272E017046D1B2674A52BD3
if %a% EQU 6 set a=F&set as=7F39F8317FBDB1988EF4C628EBA02591AD61AB143223EFBC24C7D2583BE69251AAB3238922BCC25A6F606EB525FFDC5633E75FF09DD601BBE69F3510391521891C383CD30B7C298AB50293ADFECB7B186C8349CC7260AE62E3B1396831A8398FD2DDEA18F00665CE8623E36BD4E3C7C5B4B147BC522828731F1A016BFA72C07332BB90E8976AAB5298D5DA10FE66F21DA684ECEEE76FC522773286A895BC8436
if %a% EQU 7 set a=G&set as=96A3BE3CF272E017046D1B2674A52BD39BF31C7FF062936A96D3C8BD1F8F2FF343EC517D68B6EDD3015B3EDC9A11367B7F39F8317FBDB1988EF4C628EBA0259132BB90E8976AAB5298D5DA10FE66F21DA1D0C6E83F027327D8461063F4AC58A6D3D9446802A44259755D38E6D163E820A5BFC9E07964F8DDDEB95FC584CD965D1C383CD30B7C298AB50293ADFECB7B1898F13708210194C475687BE6106A3B84
if %a% EQU 8 set a=H&set as=32BB90E8976AAB5298D5DA10FE66F21DE2EF524FBF3D9FE611D5A8E90FEFDC9C2A38A4A9316C49E5A833517C45D3107037693CFC748049E45D87B8C7D8B9AACDFC490CA45C00B1249BBE3554A4FDF6FB4E732CED3463D06DE0CA9A15B61536776364D3F0F495B6AB9DCF8D3B5C6E0B01AAB3238922BCC25A6F606EB525FFDC5667C6A1E7CE56D3D6FA748AB6D9AF3FD7FBD7939D674997CDB4692D34DE8633C4
if %a% EQU 9 set a=B&set as=F457C545A9DED88F18ECEE47145A72C06F4922F45568161A8CDF4AD2299F6D23B6D767D2F8ED5D21A44B0E5886680CB9072B030BA126B2F4B2374F342BE9ED44AAB3238922BCC25A6F606EB525FFDC56FE9FC289C3FF0AF142B6D3BEAD98A9236F4922F45568161A8CDF4AD2299F6D238E296A067A37563370DED05F5A3BF3EC98F13708210194C475687BE6106A3B84FAEAC4E1EEF307C2AB7B0A3821E6C667
if %a% EQU 0 set a=F&set as=7F39F8317FBDB1988EF4C628EBA02591AD61AB143223EFBC24C7D2583BE69251AAB3238922BCC25A6F606EB525FFDC5633E75FF09DD601BBE69F3510391521891C383CD30B7C298AB50293ADFECB7B186C8349CC7260AE62E3B1396831A8398FD2DDEA18F00665CE8623E36BD4E3C7C5B4B147BC522828731F1A016BFA72C07332BB90E8976AAB5298D5DA10FE66F21DA684ECEEE76FC522773286A895BC8436
if %b% EQU 0 set b=10
set /p pass=请输入 %a% %b% 对应的密码:
md5 -d%pass%>1.txt
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%b in (1.txt) do (
set %ba%password=%%b
del 1.txt
set /a pian=%b%*32-32
set %ba%yz=%as:~%pian%,32%
)
if %ba%==0 goto yanzheng
goto begin
:yanzheng
if %2password%%1password%%password% EQU %2yz%%1yz%%yz% (goto row) else cls&goto start
:start
echo ok
pause
:row
echo 密码错
pause
[ Last edited by andred0421 on 2007-8-1 at 12:00 AM ]
|
|
2007-7-29 18:05 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
2 楼』:
问题应该在这里(没细看)。
for /f "tokens=* delims=" %%b in (1.txt) do (
set %ba%password=%%b
del 1.txt
set /a pian=(%b%-1)*32
set %ba%yz=%as:~%pian%,32%
)
for里的变量应该启用环境变量延迟的。
|
|
2007-7-29 19:44 |
|
|
andred0421
初级用户
积分 114
发帖 47
注册 2006-11-20
状态 离线
|
|
2007-7-29 19:53 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
4 楼』:
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%b in (1.txt) do (
set !ba!password=%%b
del 1.txt
set /a pian=(!b!-1)*32
set !ba!yz=!as:~!pian!,32!
)
endlocal
可能是这样的,没测试。启用变量延迟应该是对的。可能有些细节的地方需要
修改一下。
|
|
2007-7-29 20:09 |
|
|
andred0421
初级用户
积分 114
发帖 47
注册 2006-11-20
状态 离线
|
|
2007-7-29 20:11 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
6 楼』:
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%b in (1.txt) do (
set !ba!password=%%b
del 1.txt
set /a pian=(!b!-1)*32
set !ba!yz=!as:~!pian!,32!
)
endlocal
红色部分,没有这种用法的。
改为:set /a pian=!b!*32,pian-=32
set ba=3
:begin
set /a ba=%ba%-1 ‘ba就等于2.
然后又
if %ba%==0 goto yanzheng ’似乎ba的值没有改变过的。
goto begin ‘ba的值没有变过,那么就一直goto begin了。
:yanzheng
if %2password%%1password%%password% EQU %2yz%%1yz%%yz% (goto row) else cls&goto start
:start
echo ok
pause ’这里应该加点什么的跳过下面的row标签的。要不然,不管正确与否,
都会执行row标签的。
:row
echo 密码错
pause
[ Last edited by wudixin96 on 2007-7-30 at 07:50 AM ]
|
|
2007-7-29 22:39 |
|
|
andred0421
初级用户
积分 114
发帖 47
注册 2006-11-20
状态 离线
|
『第
7 楼』:
楼上麻烦你了 wudixin96
但是还是不行 ◎.◎
|
|
2007-7-29 23:13 |
|
|
andred0421
初级用户
积分 114
发帖 47
注册 2006-11-20
状态 离线
|
|
2007-7-30 12:55 |
|
|
lotus516
高级用户
论坛上抢劫的
积分 551
发帖 246
注册 2006-9-21
状态 离线
|
『第
9 楼』:
楼主非常不厚到,解决完了问题就把提问删了!!
|
|
2007-7-31 19:24 |
|
|
andred0421
初级用户
积分 114
发帖 47
注册 2006-11-20
状态 离线
|
『第
10 楼』:
源程序有问题
顶上去,大家看下
|
|
2007-8-1 00:01 |
|