• 标 题:《大航海时代3:新世纪》的不完全破解 (4千字)
  • 作 者:bwkpjq
  • 时 间:2001-1-16 22:24:02
  • 链 接:http://bbs.pediy.com

大航海时代3:新世纪破解手记

这是一款新上市的大航海系列游戏,昨天买回家后,花了十分钟就搞定了。这个游戏挺简单的,不放光盘会跳出“请将游戏光盘插入光碟机”的提示,将EXE文件反汇编后,找到这句话,便会来到如下代码:


第一处:
:0040361A E821730800              call 0048A940
:00403621 7513                    jne 00403636
* Possible StringData Ref from Data Obj ->"叫р⒉笴栏盒盒诀"

第二处:
:00403657 83C408                  add esp, 00000008
:0040365A 83F8FF                  cmp eax, FFFFFFFF
:0040365D 7513                    jne 00403672

* Possible StringData Ref from Data Obj ->"叫р⒉笴栏盒盒诀"
                                        ->"絋粄"
                                  |
:0040365F 6894E35100              push 0051E394
:00403664 6A00                    push 00000000
:00403666 6A00                    push 00000000
:00403668 E813B20200              call 0042E880
:0040366D 83C40C                  add esp, 0000000C

第三处:

:00435D35 E8064C0500              call 0048A940
:00435D3A 85C0                    test eax, eax
:00435D3C 751E                    jne 00435D5C

* Possible StringData Ref from Data Obj ->"叫р⒉笴栏盒盒诀"
                                        ->"絋粄"
                                  |
:00435D3E 6894E35100              push 0051E394
:00435D43 6A00                    push 00000000
:00435D45 6A00                    push 00000000


第四处:
:004413C9 83C404                  add esp, 00000004
:004413CC 8BF0                    mov esi, eax
:004413CE 85F6                    test esi, esi
:004413D0 7525                    jne 004413F7

* Possible StringData Ref from Data Obj ->"叫р⒉笴栏盒盒诀
?
                                        ->"锞堋yいゎ挡笴栏"
                                  |
:004413D2 6850AB5200              push 0052AB50




第五处:
:00445B11 E88ABD0600              call 004B18A0
:00445B16 85C0                    test eax, eax
:00445B18 7513                    jne 00445B2D

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00445AED(C)
|

* Possible StringData Ref from Data Obj ->"叫р⒉笴栏盒盒诀"
                                        ->"絋粄龄"
                                  |
:00445B1A 680C2B5300              push 00532B0C
:00445B1F 6A00                    push 00000000
:00445B21 6A00                    push 00000000



第六处:
* Reference To: KeRNeL32.GetDriveTypeA, Ord:0000h
                                  |
:004BA533 FF1548846000            Call dword ptr [00608448]
:004BA539 83F802                  cmp eax, 00000002
:004BA53C 7416                    je 004BA554
:004BA53E 83F803                  cmp eax, 00000003
:004BA541 7415                    je 004BA558
:004BA543 83F805                  cmp eax, 00000005
:004BA546 7205                    jb 004BA54D
:004BA548 83F806                  cmp eax, 00000006
:004BA54B 760B                    jbe 004BA558

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA546(C)
|
:004BA54D B8FFFFFFFF              mov eax, FFFFFFFF
:004BA552 EB09                    jmp 004BA55D

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA53C(C)
|
:004BA554 33C0                    xor eax, eax
:004BA556 EB05                    jmp 004BA55D

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004BA541(C), :004BA54B(C)
|
:004BA558 B801000000              mov eax, 00000001

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004BA552(U), :004BA556(U)
|
:004BA55D 5F                      pop edi
:004BA55E 5E                      pop esi
:004BA55F 8BE5                    mov esp, ebp
:004BA561 5D                      pop ebp
:004BA562 C3                      ret

看到了吗,共有5处地方会出现提示,而且每个提示上面都是一条跳转命令,把所有的jne改为je即可。
下面第六处是CD检测,不过这里改不改都没有关系。这样一来,游戏可以免光盘运行,只是没有音乐,也看不到动画片,破地不完全。
                                                    bwkpjq
                                    E-Mail:bwkpjq@yeah.net
                                http://go.163.com/~bwkpjq

  • 标 题:乱码的注释部分是BIG5码 (空)
  • 作 者:1212
  • 时 间:2001-1-17 8:58:42