📄 chap6-1-11.htm.primary
字号:
<td height="28">
<p class="p9">破解chap6-1-1-08<br>
如果输入的姓名少于6个字,就无法被拦截。(我也是试出来的) <br>
<br>
:0040156B E828030000
Call 00401898 <br>
:00401570 33C0
xor eax, eax <br>
:00401572 33DB
xor ebx, ebx <br>
:00401574 33C9
xor ecx, ecx <br>
:00401576 B901000000
mov ecx, 00000001 <br>
:0040157B 33D2
xor edx, edx <br>
:0040157D 8B45E4
mov eax, dword ptr [ebp-1C] ----把姓名放入EAX <br>
<br>
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
<br>
|:0040158B(C) <br>
| <br>
:00401580 8A18
mov bl, byte ptr [eax] ----对姓名进行处理(1)
<br>
:00401582 32D9
xor bl, cl <br>
:00401584 8818
mov byte ptr [eax], bl <br>
:00401586 41
inc ecx <br>
:00401587 40
inc eax <br>
:00401588 803800
cmp byte ptr [eax], 00 <br>
:0040158B 75F3
jne 00401580 <br>
:0040158D 33C0
xor eax, eax <br>
:0040158F 33DB
xor ebx, ebx <br>
:00401591 33C9
xor ecx, ecx <br>
:00401593 B90A000000
mov ecx, 0000000A <br>
:00401598 33D2
xor edx, edx <br>
:0040159A 8B45F0
mov eax, dword ptr [ebp-10] ----把输入的密码放入EAX <br>
<br>
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
<br>
|:004015A8(C) <br>
| <br>
:0040159D 8A18
mov bl, byte ptr [eax] ----对密码进行处理(2)
<br>
:0040159F 32D9
xor bl, cl <br>
:004015A1 8818
mov byte ptr [eax], bl <br>
:004015A3 41
inc ecx <br>
:004015A4 40
inc eax <br>
:004015A5 803800
cmp byte ptr [eax], 00 <br>
:004015A8 75F3
jne 0040159D <br>
:004015AA 8B45E4
mov eax, dword ptr [ebp-1C] ----处理后的姓名放入EAX <br>
:004015AD 8B55F0
mov edx, dword ptr [ebp-10] ----处理后的密码放入EBX <br>
<br>
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
<br>
|:004015BF(C) <br>
| <br>
:004015B0 33C9
xor ecx, ecx <br>
:004015B2 8A18
mov bl, byte ptr [eax] <br>
:004015B4 8A0A
mov cl, byte ptr [edx] <br>
:004015B6 3AD9
cmp bl, cl
----进行比较 <br>
:004015B8 7509
jne 004015C3 <br>
:004015BA 40
inc eax <br>
:004015BB 42
inc edx <br>
:004015BC 803800
cmp byte ptr [eax], 00 <br>
:004015BF 75EF
jne 004015B0 <br>
:004015C1 EB16
jmp 004015D9 <br>
<br>
模拟运行: <br>
姓名:zxemzx <br>
密码: 123456 <br>
<br>
处理姓名: <br>
7A 78
65 6D 7A 78 <br>
XOR 1 2 3
4 5 6 <br>
7B 7A
66 69 7F 7E <br>
处理密码: <br>
31 32
33 34 35 36 <br>
XOR A B C
D E F <br>
3B 39
3F 39 3B 39 <br>
由姓名反推正确的密码: <br>
7B 7A
66 69 7F 7E <br>
XOR A B C
D E F <br>
71 71
6A 64 71 71 <br>
查表的: q q j d
q q <br>
<br>
所以正确的密码为:qqjdqq <br>
ZXEM 2000.3.23
</table>
</div>
<div id="KB13Parent" class="parent"> <a href="#" onClick="expandIt('KB13'); return false" class="p9">
9、习题九 答案</a> </div>
<div id="KB13Child" class="child">
<table width="100%" align="center" cellspacing="0">
<tr bgcolor="#EFEFEF">
<td height="28">
<p class="p9" align="left">破解chap6-1-1-09 <br>
我并没看懂他是如何处理我输入的名字的。但也破了。 <br>
我输入的名字是:ZXEMZX <br>
密码是:123456 <br>
<br>
:0042DCB2 A360F74200
mov dword ptr [0042F760], eax <br>
:0042DCB7 A158F74200
mov eax, dword ptr [0042F758] <br>
:0042DCBC 3B0560F74200 cmp
eax, dword ptr [0042F760] ----比较(1) <br>
:0042DCC2 7517
jne 0042DCDB <br>
:0042DCC4 6A00
push 00000000 <br>
:0042DCC6 668B0D1CDD4200 mov cx, word
ptr [0042DD1C] <br>
:0042DCCD B202
mov dl, 02 <br>
<br>
* Possible StringData Ref from Code Obj ->"Good Serial, Thanks For trying
" <br>
->"this Crackme <br>
<br>
我在(1)中看见了0042F760中放着1E240,这个就是123456的16进制。 <br>
而EAX中为31D4B070,所以真确的密码为836022384。 <br>
<br>
ZXEM 2000.3.23
</table>
</div>
<div id="KB14Parent" class="parent"> <a href="#" onClick="expandIt('KB14'); return false" class="p9">
10、习题十 答案</a> <span class="p9">(英文)</span></div>
<div id="KB14Child" class="child">
<table width="100%" align="center" cellspacing="0">
<tr bgcolor="#EFEFEF">
<td height="28">
<p class="p9" align="left">Immortal Descendants CrackMe 4.0 <br>
Tutorial version 1.0 (4 avril
99) by Lucifer48 <br>
<br>
=============== <br>
1. INTRODUCTION <br>
=============== <br>
<br>
We go into the code by a BPX HMEMCPY, few F12/F10 and we are here: <br>
<br>
XXXX:00402260 PUSH EBX
;handle of the window's crackme <br>
XXXX:00402261 PUSH 0040BE28
;serial <br>
XXXX:00402266 PUSH 0040BDE0
;group <br>
XXXX:0040226B PUSH 0040BF30
;name <br>
XXXX:00402270 CALL 00401CF0
;Everything is there! <br>
XXXX:00402275 ADD ESP,10
;*pop pop pop pop* <br>
XXXX:00402278 CMP WORD PTR [0040BE20],28 ;If FFFF,
our serial is a bad one <br>
XXXX:00402280 JNZ 004022A0 <br>
<br>
Well, let's go into call 00401CF0... <br>
<br>
============================ <br>
2. HOLD ON! JUST A MINUTE... <br>
============================ <br>
<br>
To bypass the check of the number of try. 3 chances for solving this
crackme; it's not enougth. <br>
In the code: <br>
<br>
XXXX:004022A0 MOV AX,[0040A074]
;numbers of tests already done <br>
XXXX:004022A6 INC AX <br>
XXXX:004022A8 MOV [0040A074],AX
;save <br>
XXXX:004022AE CMP AX,0003 <br>
XXXX:00402
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -