* Reference To: KERNEL32.GetDriveTypeA, Ord:0104h
|
:00408843 FF15FC304200
Call dword ptr [004230FC]
:00408849 83F805
cmp eax, 00000005
;-> cmp eax,3
:0040884C 7565
jne 004088B3
;如果改此处为 jz 004088b3
:0040884E
6A00 push
00000000
;而不改上一句也是可以的,但是
:00408850 8D4C241C
lea ecx, dword ptr [esp+1C] ;会读软驱,不知为何?
:00408854 6A00
push 00000000
:00408856 8D542424
lea edx, dword ptr [esp+24]
:0040885A 51
push ecx
:0040885B
52
push edx
:0040885C 6A00
push 00000000
:0040885E 8D842434020000
lea eax, dword ptr [esp+00000234]
:00408865 6804010000
push 00000104
:0040886A 8D4C2438
lea ecx, dword ptr [esp+38]
:0040886E 50
push eax
:0040886F 51
push ecx
:00408870 FFD5
call ebp
* Possible StringData
Ref from Data Obj ->"ZWEI!!"
|
:00408872
BE3C894200 mov esi, 0042893C
:00408877 8D842420020000 lea eax, dword ptr
[esp+00000220]
* Referenced by a (U)nconditional or (C)onditional Jump
at Address:
|:0040889C(C)
|
:0040887E 8A10
mov dl, byte ptr [eax]
:00408880
8ACA mov
cl, dl
:00408882 3A16
cmp dl, byte ptr [esi]
:00408884 751C
jne 004088A2
;-> jz 004088a2
:00408886
84C9 test
cl, cl
:00408888 7414
je 0040889E
:0040888A 8A5001
mov dl, byte ptr [eax+01]
:0040888D 8ACA
mov cl, dl
:0040888F 3A5601
cmp dl, byte ptr [esi+01]
:00408892 750E
jne 004088A2
;-> jz 004088a2 看来004088a2
:00408894
83C002 add eax,
00000002 ;是需光驱处
:00408897 83C602
add esi, 00000002
:0040889A 84C9
test cl, cl
:0040889C 75E0
jne 0040887E
* Referenced
by a (U)nconditional or (C)onditional Jump at Address:
|:00408888(C)
|
:0040889E 33C0
xor eax, eax
:004088A0 EB05
jmp 004088A7
:004088A2 1BC0
sbb eax, eax
:004088A4 83D8FF
sbb eax, FFFFFFFF
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004088A0(U)
|
:004088A7 85C0
test eax, eax
:004088A9 7508
jne 004088B3
:004088AB C744241401000000
mov [esp+14], 00000001
* Referenced by a (U)nconditional
or (C)onditional Jump at Addresses:
|:0040884C(C), :004088A9(C)
|
:004088B3 47
inc edi
:004088B4 83FF5C
cmp edi, 0000005C
:004088B7 0F8C73FFFFFF
jl 00408830
:004088BD 8B442414
mov eax, dword ptr [esp+14]
:004088C1
85C0 test
eax, eax
:004088C3 7516
jne 004088DB
:004088C5 6A00
push 00000000
:004088C7 6834894200
push 00428934
:004088CC 6818894200
push 00428918
:004088D1 6A00
push 00000000
* Reference To: USER32.MessageBoxA, Ord:01BEh
|
:004088D3 FF15EC334200
Call dword ptr [004233EC]
:004088D9 EB58
jmp 00408933
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:004088C3(C)
|
:004088DB 8B442410
mov eax, dword ptr [esp+10]
:004088DF 85C0
test eax, eax
:004088E1 7450
je 00408933
:004088E3 8B8424680A0000
mov eax, dword ptr [esp+00000A68]
:004088EA 83C9FF
or ecx, FFFFFFFF
:004088ED
8D942424030000 lea edx, dword ptr [esp+00000324]
:004088F4 8B7808
mov edi, dword ptr [eax+08]
:004088F7 33C0
xor eax, eax
:004088F9 F2
repnz
:004088FA
AE
scasb
:004088FB F7D1
not ecx
:004088FD 2BF9
sub edi, ecx
:004088FF 8BC1
mov eax, ecx
:00408901 8BF7
mov esi, edi
:00408903 8BFA
mov edi, edx
:00408905 8D942424030000 lea
edx, dword ptr [esp+00000324]
:0040890C C1E902
shr ecx, 02
:0040890F F3
repz
:00408910
A5
movsd
:00408911 8BC8
mov ecx, eax
:00408913 A1E8F74200
mov eax, dword ptr [0042F7E8]
:00408918 83E103
and ecx, 00000003
:0040891B F3
repz
:0040891C A4
movsb
:0040891D 8D8C2424040000
lea ecx, dword ptr [esp+00000424]
:00408924 51
push ecx
:00408925
8B4808 mov ecx,
dword ptr [eax+08]
:00408928 52
push edx
:00408929 6A00
push 00000000
:0040892B
51
push ecx
:0040892C FF542420
call [esp+20]
:00408930 83C410
add esp, 00000010
* Referenced by a (U)nconditional
or (C)onditional Jump at Addresses:
|:004088D9(U), :004088E1(C)
|
:00408933 53
push ebx
* Reference To: KERNEL32.FreeLibrary, Ord:00B4h
|
:00408934 FF15BC304200
Call dword ptr [004230BC]
* Referenced by
a (U)nconditional or (C)onditional Jump at Address:
|:0040880F(C)
|
:0040893A 8B15905E4300 mov edx,
dword ptr [00435E90]
:00408940 8D842420010000
lea eax, dword ptr [esp+00000120]
:00408947 4A
dec edx
:00408948
52
push edx
《双星物语》单CD光盘版
这是小弟第一次Crack,很幼稚吧!不过总算成功了。
但是我找不到在getdrivetypea后直接跳出光驱检测的方法,就是跳过光驱检测后的程序入口,请指教。
还有就是在:
00408849
83F805 cmp eax,
00000005 ;-> cmp eax,3
0040884C 7565
jne 004088B3
如果不改上一句,而改下一句,就会读软驱,但程序依然能运行,不知为何?
1,为何会读软驱?
2,为何程序依然会无需光驱?
- 标 题:《双星物语》单CD光盘版 (6千字)
- 作 者:cobra1111
- 时 间:2002-7-26 16:12:47
- 链 接:http://bbs.pediy.com