初学Delphi,写个CM大家玩玩
本帖最后由 zaas 于 2010-6-21 18:38 编辑以前玩vb,最近改完delphi啦~~
难度。。。未知吧。。。
都来试试看~~~
更新:修改一个bug,回避一个按钮事件 写得不错,继续 回复 1# zaas
是不是有问题哦。。。
看不懂 是 弄啥 的 回复zaas
是不是有问题哦。。。
小糊涂虫 发表于 2010-6-21 15:34 http://52pojie.cn/images/common/back.gif
已更正。 拿不下,呵呵 :rggrg玩不了,闪了 先放个长的用户的:-)
用户名: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzN
注册码: zaasQ
再放个短的:
用户名:0
注册码:ZAASAAQ
其中用户区分大小写,注册码不区分大小写
004574D0/.55 push ebp
004574D1|.8BEC mov ebp, esp
004574D3|.B9 09000000 mov ecx, 9
004574D8|>6A 00 /push 0
004574DA|.6A 00 |push 0
004574DC|.49 |dec ecx
004574DD|.^ 75 F9 \jnz short 004574D8
004574DF|.51 push ecx
004574E0|.53 push ebx
004574E1|.56 push esi
004574E2|.8945 FC mov dword ptr , eax
004574E5|.33C0 xor eax, eax
004574E7|.55 push ebp
004574E8|.68 F6764500 push 004576F6
004574ED|.64:FF30 push dword ptr fs:
004574F0|.64:8920 mov dword ptr fs:, esp
004574F3|.8D55 F0 lea edx, dword ptr
004574F6|.8B45 FC mov eax, dword ptr
004574F9|.8B80 FC020000 mov eax, dword ptr
004574FF|.E8 A4E9FDFF call 00435EA8 ;取用户名
00457504|.8B45 F0 mov eax, dword ptr
00457507|.E8 3CCCFAFF call 00404148
0045750C|.85C0 test eax, eax
0045750E|.0F84 8D010000 je 004576A1
00457514|.8D55 EC lea edx, dword ptr
00457517|.8B45 FC mov eax, dword ptr
0045751A|.8B80 00030000 mov eax, dword ptr
00457520|.E8 83E9FDFF call 00435EA8
00457525|.8B45 EC mov eax, dword ptr
00457528|.E8 1BCCFAFF call 00404148
0045752D|.85C0 test eax, eax
0045752F|.0F84 6C010000 je 004576A1
00457535|.8D55 E4 lea edx, dword ptr
00457538|.8B45 FC mov eax, dword ptr
0045753B|.8B80 FC020000 mov eax, dword ptr
00457541|.E8 62E9FDFF call 00435EA8
00457546|.8B45 E4 mov eax, dword ptr
00457549|.8D55 E8 lea edx, dword ptr
0045754C|.E8 4306FBFF call 00407B94
00457551|.8B45 E8 mov eax, dword ptr
00457554|.E8 EFCDFAFF call 00404348
00457559|.8BF0 mov esi, eax
0045755B|.33C0 xor eax, eax
0045755D|.8945 F4 mov dword ptr , eax
00457560|.33DB xor ebx, ebx
00457562|.8D45 E0 lea eax, dword ptr
00457565|.8BD6 mov edx, esi
00457567|.E8 14CBFAFF call 00404080
0045756C|.8B45 E0 mov eax, dword ptr
0045756F|.E8 D4CBFAFF call 00404148
00457574|.48 dec eax
00457575|.85C0 test eax, eax
00457577|.7C 0F jl short 00457588
00457579|.40 inc eax
0045757A|.33D2 xor edx, edx
0045757C|>33C9 /xor ecx, ecx
0045757E|.8A0C16 |mov cl, byte ptr
00457581|.014D F4 |add dword ptr , ecx ;=用户的累加
00457584|.42 |inc edx
00457585|.48 |dec eax
00457586|.^ 75 F4 \jnz short 0045757C
00457588|>8175 F4 10200>xor dword ptr , 2010 ;再与0x2010 异或, 记为 f(name)
0045758F|.8D55 D4 lea edx, dword ptr
00457592|.8B45 FC mov eax, dword ptr
00457595|.8B80 00030000 mov eax, dword ptr
0045759B|.E8 08E9FDFF call 00435EA8 ;取密码
004575A0|.8B45 D4 mov eax, dword ptr
004575A3|.8D55 D8 lea edx, dword ptr
004575A6|.E8 E905FBFF call 00407B94
004575AB|.8B45 D8 mov eax, dword ptr
004575AE|.8D55 DC lea edx, dword ptr
004575B1|.E8 C203FBFF call 00407978 ;UPCASE(注册码) 将注册码转换成大写
004575B6|.8B45 DC mov eax, dword ptr
004575B9|.E8 8ACDFAFF call 00404348
004575BE|.8BF0 mov esi, eax
004575C0|.8D45 D0 lea eax, dword ptr
004575C3|.8A15 F48D4500 mov dl, byte ptr ;=常量'Z'
004575C9|.8850 01 mov byte ptr , dl
004575CC|.C600 01 mov byte ptr , 1
004575CF|.8D55 D0 lea edx, dword ptr
004575D2|.8D45 CC lea eax, dword ptr
004575D5|.E8 5EB4FAFF call 00402A38 ;注册码第1位比较
004575DA|.8D45 C8 lea eax, dword ptr
004575DD|.8A15 F88D4500 mov dl, byte ptr ;=常量'A'
004575E3|.8850 01 mov byte ptr , dl
004575E6|.C600 01 mov byte ptr , 1
004575E9|.8D55 C8 lea edx, dword ptr
004575EC|.8D45 CC lea eax, dword ptr
004575EF|.B1 02 mov cl, 2
004575F1|.E8 12B4FAFF call 00402A08
004575F6|.8D55 CC lea edx, dword ptr
004575F9|.8D45 C4 lea eax, dword ptr
004575FC|.E8 37B4FAFF call 00402A38 ;注册码第2位比较
00457601|.8D45 C8 lea eax, dword ptr
00457604|.8A15 F88D4500 mov dl, byte ptr ;=常量'A'
0045760A|.8850 01 mov byte ptr , dl
0045760D|.C600 01 mov byte ptr , 1
00457610|.8D55 C8 lea edx, dword ptr
00457613|.8D45 C4 lea eax, dword ptr
00457616|.B1 03 mov cl, 3
00457618|.E8 EBB3FAFF call 00402A08
0045761D|.8D55 C4 lea edx, dword ptr
00457620|.8D45 BC lea eax, dword ptr
00457623|.E8 10B4FAFF call 00402A38 ;注册码第3位比较
00457628|.8D45 C8 lea eax, dword ptr
0045762B|.8A15 FC8D4500 mov dl, byte ptr ;=常量'S',注册码第4位将与这个比较
00457631|.8850 01 mov byte ptr , dl
00457634|.C600 01 mov byte ptr , 1
00457637|.8D55 C8 lea edx, dword ptr
0045763A|.8D45 BC lea eax, dword ptr
0045763D|.B1 04 mov cl, 4
0045763F|.E8 C4B3FAFF call 00402A08
00457644|.8D55 BC lea edx, dword ptr
00457647|.8D45 F8 lea eax, dword ptr
0045764A|.E8 9DCAFAFF call 004040EC
0045764F|.8D45 B8 lea eax, dword ptr
00457652|.8BD6 mov edx, esi
00457654|.E8 27CAFAFF call 00404080
00457659|.8B55 B8 mov edx, dword ptr
0045765C|.8B45 F8 mov eax, dword ptr
0045765F|.E8 28CEFAFF call 0040448C
00457664|.85C0 test eax, eax
00457666|.74 39 je short 004576A1
00457668|.8D45 B4 lea eax, dword ptr
0045766B|.8BD6 mov edx, esi
0045766D|.E8 0ECAFAFF call 00404080
00457672|.8B45 B4 mov eax, dword ptr
00457675|.E8 CECAFAFF call 00404148
0045767A|.48 dec eax
0045767B|.85C0 test eax, eax
0045767D|.7C 0E jl short 0045768D
0045767F|.40 inc eax
00457680|.33D2 xor edx, edx
00457682|>33C9 /xor ecx, ecx
00457684|.8A0C16 |mov cl, byte ptr ;注册码的累加
00457687|.03D9 |add ebx, ecx
00457689|.42 |inc edx
0045768A|.48 |dec eax
0045768B|.^ 75 F5 \jnz short 00457682
0045768D|>8BC3 mov eax, ebx
0045768F|.C1E0 04 shl eax, 4 ;然后左移动4位, 记为 g(code)
00457692|.8BD8 mov ebx, eax
00457694|.8BCB mov ecx, ebx
00457696|.8B55 F4 mov edx, dword ptr
00457699|.8B45 FC mov eax, dword ptr
0045769C|.E8 0FFCFFFF call 004572B0 ;f(name) 与 g(code) 进行比较
页:
[1]