文章二
【软件名称】:crackme2【软件大小】: 4KB
【破解声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
【破解工具】:OD
———————————————————————————————————————————
【破解过程】:
我学习过的一个算法CRACKME
004011A3 FF35 44204000 push dword ptr ds: 004011A9 E8 5D000000 call echap512.0040120B;关键CALL
004011AE 83F8 01 cmp eax,1
004011B1 75 1E jnz short echap512.004011D1
004011B3 6A 30 push 30
004011B5 68 81204000 push echap512.00402081 ; ASCII "Good For U!"
004011BA 68 8D204000 push echap512.0040208D ; ASCII "U Did It!!"
004011BF FF35 48204000 push dword ptr ds:
004011C5 E8 EB000000 call <jmp.&USER32.MessageBoxA>
004011CA 5E pop esi
004011CB 5F pop edi
004011CC 5B pop ebx
004011CD C9 leave
004011CE C2 1000 retn 10
004011D1 6A 30 push 30
004011D3 68 98204000 push echap512.00402098 ; ASCII "=)"
004011D8 68 9B204000 push echap512.0040209B ; ASCII "Wrong S/N#"
0040120B C8 000000 enter 0,0;来到这里
0040120F 53 push ebx
00401210 52 push edx
00401211 33C0 xor eax,eax
00401213 B8 A6204000 mov eax,echap512.004020A6 ; 假码
00401218 8038 00 cmp byte ptr ds:,0 ; 是否为空
0040121B 74 60 je short echap512.0040127D
0040121D 33DB xor ebx,ebx
0040121F 33D2 xor edx,edx
00401221 8A18 mov bl,byte ptr ds: ; 逐位取假码
00401223 C1C3 08 rol ebx,8 ; 不带进位左移8位
00401226 03D3 add edx,ebx ; edx+ebx=edx
00401228 40 inc eax;自增1
00401229 8038 00 cmp byte ptr ds:,0
0040122C^ 75 F3 jnz short echap512.00401221 ; 没取完则继续
0040122E 52 push edx ; 刚才计算结果
0040122F 68 54204000 push echap512.00402054 ; ASCII "%lX"
00401234 68 BF204000 push echap512.004020BF ; ASCII "3B6B9F05"
00401239 E8 8F000000 call <jmp.&USER32.wsprintfA>
0040123E BB BF204000 mov ebx,echap512.004020BF ; ASCII "3B6B9F05"
00401243 803B 38 cmp byte ptr ds:,38 ; 与8比较
00401246 75 35 jnz short echap512.0040127D
00401248 807B 01 44 cmp byte ptr ds:,44 ; 与D比较
0040124C 75 2F jnz short echap512.0040127D
0040124E 807B 02 43 cmp byte ptr ds:,43 ; 与C比较
00401252 75 29 jnz short echap512.0040127D
00401254 807B 03 41 cmp byte ptr ds:,41 ; 与A比较
00401258 75 23 jnz short echap512.0040127D
0040125A 807B 04 46 cmp byte ptr ds:,46 ; 与F比较
0040125E 75 1D jnz short echap512.0040127D
00401260 807B 05 33 cmp byte ptr ds:,33 ; 与3比较
00401264 75 17 jnz short echap512.0040127D
00401266 807B 06 36 cmp byte ptr ds:,36 ; 与6比较
0040126A 75 11 jnz short echap512.0040127D
0040126C 807B 07 38 cmp byte ptr ds:,38 ; 与8比较
00401270 75 0B jnz short echap512.0040127D
———————————————————————————————————————————
【Crack_总结】:
正确的结果应为:8DCAF368 ,符合这样的数很多,我就难得推了,本文重在了解算法~~~~~~~~~~
给一组注册码参考:""$%=)
(注:其实当我断在关键CALL时就能在左下窗口看见8DCAF368,还有~~~~你们就自己看嘛~~~~~~)
页:
[1]