* Possible StringData Ref from Code Obj ->"GFX-754-IER-954"<-----------------给定的密码,当然是错的啦!
|
:00440F4C BA2C104400 mov edx, 0044102C
:00440F51 E8D62BFCFF call 00403B2C<-------------------------判断密码的函数
:00440F56 751A jne 00440F72<--------------------------不相等就跳死!
同上,将机器码75改为74,让它相等就跳!
:00440F58 6A00 push 00000000
* Possible StringData Ref from Code Obj ->"CrackMe cracked successfully"
|
:00440F5A B93C104400 mov ecx, 0044103C
* Possible StringData Ref from Code Obj ->"Congrats! You cracked this CrackMe!"
|
:00440F5F BA5C104400 mov edx, 0044105C
:00440F64 A1442C4400 mov eax, dword ptr [00442C44]
:00440F69 8B00 mov eax, dword ptr [eax]
:00440F6B E8F8C0FFFF call 0043D068
:00440F70 EB32 jmp 00440FA4
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00440F56(C)
|
:00440F72 6A00 push 00000000<--------------------跳这里!死了吧?
|<-------------------还是跳这里!
* Possible StringData Ref from Code Obj ->"Beggar off!"<------------“乞丐走开“(什么,竟敢谩骂我们,扁你!)
|
:00440F74 B980104400 mov ecx, 00441080
* Possible StringData Ref from Code Obj ->"Wrong Serial,try again!"<--------双击错误字符串来到这!
记下两跳转的偏移地址00040339h和00040356h,用ultraedit编辑,修改后保存,再次打开crackme3,随便输,哈哈,成功!总的看来,这个破解练习比leapftp要容易,因为结构设计的比较简单,清晰!毕竟是做练习用的么!
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040101F(U)
|
:00401021 46 inc esi
:00401022 46 inc esi
:00401023 48 dec eax
:00401024 3BC6 cmp eax, esi<-----------------比较eax,esi的值
:00401026 7415 je 0040103D<------------------相等就跳
将74改为75,使其不相等也跳!
:00401028 6A00 push 00000000
* Possible StringData Ref from Data Obj ->"Error"
|
:0040102A 6835204000 push 00402035
* Possible StringData Ref from Data Obj ->"Nah... This is not a CD-ROM Drive!"
|
:0040102F 683B204000 push 0040203B
:00401034 6A00 push 00000000
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00401026(C)
|
:0040103D 6A00 push 00000000<----------------------跳这拉,看后面,是不是成功了!
* Possible StringData Ref from Data Obj ->"YEAH!"
|
:0040103F 685E204000 push 0040205E
* Possible StringData Ref from Data Obj ->"Ok, I really think that your HD "
->"is a CD-ROM! :p"
|
:00401044 6864204000 push 00402064
:00401049 6A00 push 00000000
* Possible StringData Ref from Data Obj ->"Error!"
|
:00401103 6834244000 push 00402434
* Possible StringData Ref from Data Obj ->"The serial you entered is not "
->"correct!"
|
:00401108 683B244000 push 0040243B
:0040110D FF7508 push [ebp+08]
-------------------------------------------------------------------------------------------------
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004010FF(C)
|
:00401117 6A00 push 00000000<------------------跳到这了!
* Possible StringData Ref from Data Obj ->"Well Done!"
|
:00401119 6806244000 push 00402406
* Possible StringData Ref from Data Obj ->"Yep, you entered a correct serial!"
|
:0040111E 6811244000 push 00402411
:00401123 FF7508 push [ebp+08]