首页
论坛
专栏
课程

一个游戏的硬盘版制作示例(给新手们的)

2005-8-8 08:53 11102

一个游戏的硬盘版制作示例(给新手们的)

2005-8-8 08:53
11102
Sango.PowerBall.Chinese.Big5 免光盘制作

日期:2005年8月6日  破解人:XF[BCG][CCG][DCM]

-------------------------------------------------------------------------------------------------------------------------
『软件名称』:Sango.PowerBall.Chinese.Big5
『软件大小』:光盘版(650MB)
『下载地址』:^_*
『软件介绍』:一个类ZUMA的游戏,台湾做的,不知道为什么它就能做得这么大?
『保护方式』:必须插入光盘,否则不能运行。
『破解声明』:仅供对新手如何制作硬盘版游戏提供学习和研究之用,失误之处敬请诸位大侠赐教!
『破解工具』:W32dsm8.93、HIEW6.81
『破解过程』:

原程序Ball.exe,无壳,直接用W32dsm8.93,查找关键字符串“GetDriveTypeA”来到:

-------------------------------------------------------------------------------------------------------------------
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040B7B5(C)
|
:0040B7E5 0FBE0DE8724200          movsx ecx, byte ptr [004272E8]    //取出内存中一个字节,我用的光盘是Z盘,这里是 Z
:0040B7EC 51                      push ecx                          //压入堆栈
:0040B7ED 8D542434                lea edx, dword ptr [esp+34]

* Possible StringData Ref from Data Obj ->"%c:\"                    //取出变量值 %c:\,%c是用来被取代的变量
                                  |
:0040B7F1 6890744200              push 00427490
:0040B7F6 52                      push edx
:0040B7F7 E815040100              call 0041BC11                     //取代变量 %c:\ -> Z:\
:0040B7FC 83C40C                  add esp, 0000000C
:0040B7FF 8D442430                lea eax, dword ptr [esp+30]
:0040B803 50                      push eax

* Reference To: KERNEL32.GetDriveTypeA, Ord:0104h
                                  |
:0040B804 FF154C504200            Call dword ptr [0042504C]          //判断Z:是不是光盘
:0040B80A 83F805                  cmp eax, 00000005                  //如果是光盘,那么返回值就是5,硬盘则为4
:0040B80D 7420                    je 0040B82F                        //是光盘就跳,否则弹出插入光盘的提示
:0040B80F 8B0DC8B64200            mov ecx, dword ptr [0042B6C8]
:0040B815 6A00                    push 00000000
:0040B817 6A00                    push 00000000
:0040B819 6A10                    push 00000010
:0040B81B 51                      push ecx

……以下代码省略…………

分析完了后就开始动手了,首先分析一下[004272E8]这里的Z的来源,是从注册表呢,还是从设置文件里来的呢?

--------------------------------------------------------------------------------------------------------------------
* Possible StringData Ref from Data Obj ->"TRUETECH.CFG"
                                  |
:0040B7B7 68EC734200              push 004273EC
:0040B7BC 6A05                    push 00000005
:0040B7BE E8FD740000              call 00412CC0
:0040B7C3 A1C8B64200              mov eax, dword ptr [0042B6C8]
:0040B7C8 83C408                  add esp, 00000008
:0040B7CB 6A00                    push 00000000
:0040B7CD 6A00                    push 00000000
:0040B7CF 6A10                    push 00000010
:0040B7D1 50                      push eax

* Reference To: USER32.PostMessageA, Ord:01DEh
                                  |
:0040B7D2 FF1574514200            Call dword ptr [00425174]
:0040B7D8 5F                      pop edi
:0040B7D9 5E                      pop esi
:0040B7DA 5D                      pop ebp
:0040B7DB 33C0                    xor eax, eax
:0040B7DD 5B                      pop ebx
:0040B7DE 81C43C030000            add esp, 0000033C
:0040B7E4 C3                      ret

……以下代码省略…………

上面就有一个TRUETECH.CFG,这个好象是设置文件吧,用HIEW看看,果然,第一个开始的三个字节就是Z:\,直接用HIEW改为:.\,还有一个字节怎么办,就直接改为16进制的00吧。

接下来,要改00427490这个里了。我们同样用HIEW将Ball.exe里的427490处的%c:\改为.\后面的用两个16进制的00写入。

最后,将0040B80D 7420改为EB20,这样不管判断为什么我们都可以进入游戏了。^-^

测试了一下,弹出".\Anim\MOVIE.DAT"文件不存在的提示,将光盘上的全部目录都复制到硬盘上,拿掉光盘,点击运行,OK!

至此,破解完成,修改两个文件,共8个字节,硬盘版制作成功!

『总结』:
一般来说:KERNEL32.dll里的函数GetDriveTypeA是此类程序的关键。
GetDriveTypeA说明:
判断一个磁盘驱动器的类型
返回值
Long,如驱动器不能识别,则返回零。
有很多朋友都问我如何做免光盘版,看了以上的内容,相信聪明的你一定会举一反三,做出自己的免光盘补丁了吧。^_*

                                 <完>

感谢你看完这篇入门级的小东东。
顺便BS一下太阳猴,这个小子将偶以前的ID给注册了...
也顺便感谢BCG的Xy2000,CCG的SB,DCM的K头...等等这些好友(排名不分前后)。

-------------------------------------------------------------------------------------------------------------------------
有一种感觉总在失眠时,才承认是相思
有一种缘分总在梦醒后,才相信是永恒
有一种目光总在分手时,才看见是眷恋
有一种心情总在离别后,才明白是失落
-------------------------------------------------------------------------------------------------------------------------

XF[BCG][CCG][DCM]
2005.8.6

写于一个台风来临之际,只因太空虚无聊,想起有些新人要求我给点做硬盘版的要求,于是就有了这个小东东。

[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (26)
ChenCn 2005-8-8 10:55
2
0
感谢你的文章,又可以学不少东西,台风?你也是浙江的把,在玉环登陆哦,偶这里影响也巨大。
linhanshi 2005-8-8 11:11
3
0
学习方法。
baby2008 28 2005-8-8 11:13
4
0
浙江老乡专用贴,我来报到
china 5 2005-8-8 11:34
5
0
谁让你不注册了,我K,你想要回去,我还给你这个鸟人,我就纳闷,怎么台风就没把你刮跑了呢。

听说xy让台风刮到日本去了,生活那个凄惨啊,你也去帮忙吧。

顺便说一下,把游戏给我老人家传一份来。
baby2008 28 2005-8-8 11:51
6
0
楼上看不懂得说
脱壳请教 1 2005-8-8 11:57
7
0
我也来报道,偶也是浙江的呀
XF[BCG] 1 2005-8-8 13:25
8
0
最初由 china 发布
谁让你不注册了,我K,你想要回去,我还给你这个鸟人,我就纳闷,怎么台风就没把你刮跑了呢。

听说xy让台风刮到日本去了,生活那个凄惨啊,你也去帮忙吧。

顺便说一下,把游戏给我老人家传一份来。


法克,原来你还在啊,早上还有人说你和老婆去北京玩去了呢。。。

xy没有吹走,早上还黑暗地让我干活。。。Flelm地东东。。。

顺便提一下,游戏会传到XF FTP,你老人家就自己受累一下,自己下载吧。^_*
baby2008 28 2005-8-8 13:51
9
0
BCG的兄弟转移主战场到Pediy来了?
xIkUg 9 2005-8-8 13:57
10
0
最初由 china 发布
谁让你不注册了,我K,你想要回去,我还给你这个鸟人,我就纳闷,怎么台风就没把你刮跑了呢。

听说xy让台风刮到日本去了,生活那个凄惨啊,你也去帮忙吧。

顺便说一下,把游戏给我老人家传一份来。


奇迹啊...你还活着...
loveboom 53 2005-8-8 14:09
11
0
最初由 xIkUg 发布


奇迹啊...你还活着...


ni bu ye shi ma,qi ji,fa sheng le,ni ye hai huo zhao
window 1 2005-8-8 14:15
12
0
大家都还活着...还好...
china 5 2005-8-8 14:22
13
0
5555,我忘了你的破FTP的帐号了。

我活着跟死了一样
狗剩 1 2005-8-8 14:44
14
0
学习一下。
btw:两个人在这么多人前暧昧。太阳猴去TZ找他算了
狗剩 1 2005-8-8 14:45
15
0
最初由 china 发布
5555,我忘了你的破FTP的帐号了。


我活着跟死了一样


我生不如死
nbw 24 2005-8-8 15:22
16
0
最初由 狗剩 发布


我生不如死


失恋啥感觉?
狗剩 1 2005-8-8 15:34
17
0
最初由 nbw 发布



失恋啥感觉?


心比器官要硬
深了
yuqli 2 2005-8-8 16:19
18
0
学习,学习,再学习
pendan2001 4 2005-8-8 16:43
19
0
kyc 19 2005-8-8 18:28
20
0
喜欢游戏的破戒
qiweixue 19 2005-8-8 20:21
21
0
最初由 nbw 发布
失恋啥感觉?


深了..深了..
放羊去..
china 5 2005-8-9 22:56
22
0
不错,我喜欢。

发现光盘里有秘密,都看完了,然后精简出原版大小光盘压缩为75M,不压缩112M左右吧。

aki 2 2005-8-10 09:12
23
0
硬盘代码为4吗?
lee 3 2005-8-10 11:03
24
0
支持!!!
gcf 2005-8-12 18:17
25
0
很好啊,我以前就没有搞懂硬盘版的动画是怎么判断的,现在算是学到一个方法了,以前做的硬盘版都是没有动画的,汗~~~~~~~~~
cater 5 2005-8-12 18:30
26
0
最初由 loveboom 发布


ni bu ye shi ma,qi ji,fa sheng le,ni ye hai huo zhao


PLZ 翻译一下  OK?

呵呵~
loveboom 也这么爱国啊~
连汉语都不用了~
rwr001 2005-8-12 20:18
27
0
学习
支持!!!
游客
登录 | 注册 方可回帖
返回