能力值:
( LV5,RANK:60 )
2 楼
附件程序,
上传的附件:
能力值:
( LV13,RANK:760 )
3 楼
0040113C . BE 0C304000 mov esi, 0040300C ; ASCII "bwns"
00401141 . BF 8C304000 mov edi, 0040308C ; ASCII "1234"
00401146 . B9 80000000 mov ecx, 80
0040114B . F3:A6 repe cmps byte ptr es:[edi], byte ptr [esi]
0040114D . 75 41 jnz short 00401190
太强了,要求用户名和密码都一样,长度至少为80h = 128位,想累死人啊?!
来一段批处理就能完成累加功能:
@ echo off
set /a sum = 0
set /p a=start number:
set /p b=end number:
for /l %%i in (%a%, 1, %b%) do (
set /a sum += %%i
)
echo sum of %a% to %b% is: %sum%
pause
保存为*.bat 或 *.cmd都行,双击就能看到结果。
能力值:
( LV9,RANK:180 )
4 楼
再思考一下
能力值:
( LV13,RANK:760 )
5 楼
大侠说笑的吧
大侠既出,谁与争锋?用户名与密码一致就行了,嘿嘿
上面那句MOV ECX, 80 居然没用处。
原来是两个条件的或结果,在下太菜,又闹笑话了,sorry……
能力值:
( LV9,RANK:180 )
6 楼
不是没用处
80h是buffer size, 最多比对80h bytes.
也可视为防止一直比对下去...直到例外 (听听就好)
因为buffer已经过初始填0了, 所以字符串长度不用打满80h 个bytes
'abc',0,0,0,0....
'abc',0,0,0,0....
(你不了解,所以误以为128 byte都要一样)
若buffer没初始, 可能会有下列Bug
'abc',?,?,?,?....
'abc',?,?,?,?....
(要完全一样, 可能就真的到填满128了) 不管是那一种, 都不会是 要求用户名和密码都一样,长度至少为80h = 128位,想累死人啊?
能力值:
( LV12,RANK:210 )
7 楼
顶顶强大的批处理
能力值:
( LV13,RANK:760 )
8 楼
嗯,多谢大侠指教,感激ing....!
能力值:
( LV13,RANK:760 )
9 楼
试验一下,确实如大侠所言,再次对大侠的指点表示感谢!
另外也说明自己很多不足。
能力值:
( LV9,RANK:180 )
10 楼
大概是这样:
mov ecx,80h
@@: cmp [esi++], [edi++]
jne _cmp_finish
loop @B
_cmp_finish:
je _符合
能力值:
( LV2,RANK:10 )
11 楼
随手输了个111 & 111 提示我答对了...
能力值:
( LV5,RANK:60 )
12 楼
这个小程序的确很简单。但是我只设计了15位的USER和PASSWORD,不知你怎么破解出要求输入128位呢?
能力值:
( LV9,RANK:180 )
13 楼
因为你俩说的不是同一个东东
能力值:
( LV9,RANK:200 )
14 楼
我直接点击Register按钮,竟然就注册成功了。
能力值:
( LV7,RANK:110 )
15 楼
请教一个问题?
00401113 . 68 80000000 push 80 ; /Count = 80 (128.)
00401118 . 68 0C304000 push 0040300C ; |Buffer = count.0040300C
0040111D . 6A 64 push 64 ; |ControlID = 64 (100.)
0040111F . FF75 08 push dword ptr [ebp+8] ; |hWnd
00401122 . E8 05010000 call <jmp.&user32.GetDlgItemTextA> ; \GetDlgItemTextA
asm可以直接使用.data段(push 0040300C),VC++6.0可以吗?