这是看雪上的答案:
破解chap6-1-1-09
我并没看懂他是如何处理我输入的名字的。但也破了。
我输入的名字是:ZXEMZX
密码是:123456
:0042DCB2 A360F74200 mov dword ptr [0042F760], eax
:0042DCB7 A158F74200 mov eax, dword ptr [0042F758]
:0042DCBC 3B0560F74200 cmp eax, dword ptr [0042F760] ----比较(1)
:0042DCC2 7517 jne 0042DCDB
:0042DCC4 6A00 push 00000000
:0042DCC6 668B0D1CDD4200 mov cx, word ptr [0042DD1C]
:0042DCCD B202 mov dl, 02
* Possible StringData Ref from Code Obj ->"Good Serial, Thanks For trying "
->"this Crackme
我在(1)中看见了0042F760中放着1E240,这个就是123456的16进制。
而EAX中为31D4B070,所以真确的密码为836022384。
ZXEM 2000.3.23
我输入上述的name和code却不能正确注册成功的
自己从新跟了下,正确的应该是:name:ZXEMZX
code: 1901601620
破解流程:0042DBD0 |> /8D55 FC /LEA EDX,DWORD PTR SS:[EBP-4] ; 0012f9ac中存放着name
0042DBD3 |. |8B83 E0010000 |MOV EAX,DWORD PTR DS:[EBX+1E0]
0042DBD9 |. |E8 4AC6FEFF |CALL CRKME4.0041A228
0042DBDE |. |8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4] ; 将name传送到EAX
0042DBE1 |. |8B16 |MOV EDX,DWORD PTR DS:[ESI] ; edx置2
0042DBE3 |0FB64410 FF MOVZX EAX,BYTE PTR DS:[EAX+EDX-1] ; 将name第edx-1位送入eax
0042DBE8 |. |8D55 F8 |LEA EDX,DWORD PTR SS:[EBP-8]
0042DBEB |. |E8 8889FDFF |CALL CRKME4.00406578
0042DBF0 |. |8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8] ; ASCII‘110’到edx
0042DBF3 |. |8BC7 |MOV EAX,EDI
0042DBF5 |. |E8 CE5BFDFF |CALL CRKME4.004037C8
0042DBFA |. |FF06 |INC DWORD PTR DS:[ESI]
0042DBFC |. |833E 07 |CMP DWORD PTR DS:[ESI],7
0042DBFF |.^\75 CF \JNZ SHORT CRKME4.0042DBD0 ; name循环处理,做什么?
0042DC01 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8] ; 0012f9a8存放着“101“
0042DC04 |. 50 PUSH EAX ; eax入
0042DC05 |. B9 03000000 MOV ECX,3
0042DC0A |. BA 01000000 MOV EDX,1
0042DC0F |. 8B07 MOV EAX,DWORD PTR DS:[EDI] ; 将ASCII”11011897100101“送入eax
0042DC11 |. E8 AE5DFDFF CALL CRKME4.004039C4 ; 不知道进行怎样的处理,有可能要跟进
0042DC16 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; eax置”110“
0042DC19 |. E8 8A89FDFF CALL CRKME4.004065A8
0042DC1E |. A3 58F74200 MOV DWORD PTR DS:[42F758],EAX ; 110的16进制是6e,eax=6e,这个内存地址很重要,后面比较存放着真的注册码
0042DC23 |. 8BC7 MOV EAX,EDI
0042DC25 |. E8 1A59FDFF CALL CRKME4.00403544
0042DC2A |. 8BC3 MOV EAX,EBX
0042DC2C |. E8 B3FCFFFF CALL CRKME4.0042D8E4
0042DC31 |. A1 50F74200 MOV EAX,DWORD PTR DS:[42F750] ; EBA3AF54
0042DC36 |. A3 50F74200 MOV DWORD PTR DS:[42F750],EAX
0042DC3B |. 8BC3 MOV EAX,EBX
0042DC3D |. E8 F2FCFFFF CALL CRKME4.0042D934
0042DC42 |. A1 58F74200 MOV EAX,DWORD PTR DS:[42F758]
0042DC47 |. A3 58F74200 MOV DWORD PTR DS:[42F758],EAX ; 完全可以nop掉
0042DC4C |. 8BC3 MOV EAX,EBX
0042DC4E |. E8 35FDFFFF CALL CRKME4.0042D988 ; eax换算
0042DC53 |. 8BC3 MOV EAX,EBX
0042DC55 |. E8 7EFDFFFF CALL CRKME4.0042D9D8 ; eax换算
0042DC5A |. A1 58F74200 MOV EAX,DWORD PTR DS:[42F758]
0042DC5F |. A3 58F74200 MOV DWORD PTR DS:[42F758],EAX ; nop
0042DC64 |. 8BC3 MOV EAX,EBX
0042DC66 |. E8 B1FDFFFF CALL CRKME4.0042DA1C ; eax换算
0042DC6B |. 8BC3 MOV EAX,EBX
0042DC6D |. E8 B6FDFFFF CALL CRKME4.0042DA28 ; eax换算
0042DC72 |. A1 58F74200 MOV EAX,DWORD PTR DS:[42F758]
0042DC77 |. A3 58F74200 MOV DWORD PTR DS:[42F758],EAX
0042DC7C |. 8BC3 MOV EAX,EBX
0042DC7E |. E8 B1FDFFFF CALL CRKME4.0042DA34
0042DC83 |. 8BC3 MOV EAX,EBX
0042DC85 |. E8 F2FDFFFF CALL CRKME4.0042DA7C
0042DC8A |. 8BC3 MOV EAX,EBX
0042DC8C |. E8 0BFEFFFF CALL CRKME4.0042DA9C
0042DC91 |. A1 50F74200 MOV EAX,DWORD PTR DS:[42F750]
0042DC96 |. 0105 58F74200 ADD DWORD PTR DS:[42F758],EAX
0042DC9C |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4] ; edx指向name
0042DC9F |. 8B83 E4010000 MOV EAX,DWORD PTR DS:[EBX+1E4]
0042DCA5 |. E8 7EC5FEFF CALL CRKME4.0041A228
0042DCAA |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; eax存放code
0042DCAD |. E8 F688FDFF CALL CRKME4.004065A8 ; 关键的call了
0042DCB2 |. A3 60F74200 MOV DWORD PTR DS:[42F760],EAX ; eax中为假的code
0042DCB7 |. A1 58F74200 MOV EAX,DWORD PTR DS:[42F758] ; 将E46E1B54送到eax中参与下面的比较,前面在哪出现过?
0042DCBC |. 3B05 60F74200 CMP EAX,DWORD PTR DS:[42F760] eax中为注册码
0042DCC2 75 17 JNZ SHORT CRKME4.0042DCDB
0042DCC4 |. 6A 00 PUSH 0 ; /Arg1 = 00000000
0042DCC6 |. 66:8B0D 1CDD4>MOV CX,WORD PTR DS:[42DD1C] ; |
我输入的name:invade
code:123456
最后在比较的eax中查看:有符号数是:3832421204
无符号数是:-462546092
正确的注册码为:-462546092
最先把3832421204输入注册不成功
怎么想也不知道是怎么回事,明明在eax中
然后把看雪上的答案输入试了下,也不行,才想到有可能是无符号数
输入-462546092
注册成功。。。。。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课