能力值:
( LV12,RANK:660 )
|
-
-
2 楼
不错,这个关键函数确实让人困惑:
00401EDB |. 50 push eax ; /Arg1
00401EDC |. FF8D 7CFFFFFF dec dword ptr [ebp-84] ; |
00401EE2 |. 8D45 EC lea eax, [ebp-14] ; |
00401EE5 |. BA 02000000 mov edx, 2 ; |
00401EEA |. E8 79460600 call 00466568 ; \Crackme.00466568
00401EEF |. 59 pop ecx
00401EF0 |. 84C9 test cl, cl
|
能力值:
( LV9,RANK:970 )
|
-
-
3 楼
呵呵 挺新颖的
开始检查注册表的time是不是"three"。
检查过了,再进行user和serial的比较,就是看两个是不是相等。
00426034 /$ 53 PUSH EBX
00426035 |. 56 PUSH ESI
00426036 |. 57 PUSH EDI
00426037 |. 89C6 MOV ESI,EAX //eax是user字符串的地址
00426039 |. 89D7 MOV EDI,EDX //edx是serial字符串的地址
0042603B |. 39D0 CMP EAX,EDX
0042603D |. 0F84 8F000000 JE Crackme.004260D2
00426043 |. 85F6 TEST ESI,ESI
00426045 |. 74 68 JE SHORT Crackme.004260AF
00426047 |. 85FF TEST EDI,EDI
00426049 |. 74 6B JE SHORT Crackme.004260B6
0042604B |. 8B46 FC MOV EAX,DWORD PTR DS:[ESI-4] //user的长度
0042604E |. 8B57 FC MOV EDX,DWORD PTR DS:[EDI-4] //serial的长度
00426051 |. 29D0 SUB EAX,EDX
00426053 |. 77 02 JA SHORT Crackme.00426057
00426055 |. 01C2 ADD EDX,EAX
00426057 |> 52 PUSH EDX
00426058 |. C1EA 02 SHR EDX,2
0042605B |. 74 26 JE SHORT Crackme.00426083
//以下就是这两个字符串的比较,很好理解
0042605D |> 8B0E /MOV ECX,DWORD PTR DS:[ESI]
0042605F |. 8B1F |MOV EBX,DWORD PTR DS:[EDI]
00426061 |. 39D9 |CMP ECX,EBX
00426063 |. 75 58 |JNZ SHORT Crackme.004260BD
00426065 |. 4A |DEC EDX
00426066 |. 74 15 |JE SHORT Crackme.0042607D
00426068 |. 8B4E 04 |MOV ECX,DWORD PTR DS:[ESI+4]
0042606B |. 8B5F 04 |MOV EBX,DWORD PTR DS:[EDI+4]
0042606E |. 39D9 |CMP ECX,EBX
00426070 |. 75 4B |JNZ SHORT Crackme.004260BD
00426072 |. 83C6 08 |ADD ESI,8
00426075 |. 83C7 08 |ADD EDI,8
00426078 |. 4A |DEC EDX
00426079 |.^ 75 E2 \JNZ SHORT Crackme.0042605D
0042607B |. EB 06 JMP SHORT Crackme.00426083
0042607D |> 83C6 04 ADD ESI,4
00426080 |. 83C7 04 ADD EDI,4
00426083 |> 5A POP EDX
00426084 |. 83E2 03 AND EDX,3
00426087 |. 74 22 JE SHORT Crackme.004260AB
00426089 |. 8B0E MOV ECX,DWORD PTR DS:[ESI]
0042608B |. 8B1F MOV EBX,DWORD PTR DS:[EDI]
0042608D |. 38D9 CMP CL,BL
0042608F |. 75 41 JNZ SHORT Crackme.004260D2
00426091 |. 4A DEC EDX
00426092 |. 74 17 JE SHORT Crackme.004260AB
00426094 |. 38FD CMP CH,BH
00426096 |. 75 3A JNZ SHORT Crackme.004260D2
00426098 |. 4A DEC EDX
00426099 |. 74 10 JE SHORT Crackme.004260AB
0042609B |. 81E3 0000FF00 AND EBX,0FF0000
004260A1 |. 81E1 0000FF00 AND ECX,0FF0000
004260A7 |. 39D9 CMP ECX,EBX
004260A9 |. 75 27 JNZ SHORT Crackme.004260D2
004260AB |> 01C0 ADD EAX,EAX
004260AD |. EB 23 JMP SHORT Crackme.004260D2
004260AF |> 8B57 FC MOV EDX,DWORD PTR DS:[EDI-4]
004260B2 |. 29D0 SUB EAX,EDX
004260B4 |. EB 1C JMP SHORT Crackme.004260D2
004260B6 |> 8B46 FC MOV EAX,DWORD PTR DS:[ESI-4]
004260B9 |. 29D0 SUB EAX,EDX
004260BB |. EB 15 JMP SHORT Crackme.004260D2
004260BD |> 5A POP EDX
004260BE |. 38D9 CMP CL,BL
004260C0 |. 75 10 JNZ SHORT Crackme.004260D2
004260C2 |. 38FD CMP CH,BH
004260C4 |. 75 0C JNZ SHORT Crackme.004260D2
004260C6 |. C1E9 10 SHR ECX,10
004260C9 |. C1EB 10 SHR EBX,10
004260CC |. 38D9 CMP CL,BL
004260CE |. 75 02 JNZ SHORT Crackme.004260D2
004260D0 |. 38FD CMP CH,BH
004260D2 |> 5F POP EDI
004260D3 |. 5E POP ESI
004260D4 |. 5B POP EBX
004260D5 \. C3 RETN
|
能力值:
(RANK:10 )
|
-
-
4 楼
我就是觉得一般人重启以后发现没验证就会想到别的地方去。本来是想弄一算法的,但是C++还不熟练,调试的时候出了问题,就把算法去掉了,只验证是不是相等
|
能力值:
( LV9,RANK:770 )
|
-
-
5 楼
邮箱都公开了.
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
传上来看一下嘛!
|