首页
社区
课程
招聘
英雄无敌3简中版免CD制作
发表于: 2009-11-10 19:48 12000

英雄无敌3简中版免CD制作

2009-11-10 19:48
12000

【文章标题】: 英雄无敌3简中版免CD制作
【文章作者】: wxxw
【软件名称】: 英雄无敌3死亡阴影简体中文版
【保护方式】: 无
【编写语言】: Microsoft Visual C++ 5.0
【使用工具】: Olldbg1.10
【操作平台】: XP sp3
【软件介绍】: 经典游戏
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  英雄无敌3是我喜欢的一款游戏,虽然比较老了,但偶尔还玩一下,比较不爽的是我装的版本需要光盘才能玩,不放光盘会提示不能单机,只能加入别人建立的游戏云云,于是就琢磨怎么免CD,首先用函数参考,发现有GetDriverTypeA,在所有调用它的地方下断,F9运行来到这里

005BB230  />  55            PUSH EBP
005BB231  |.  8BEC          MOV EBP,ESP
005BB233  |.  83EC 40       SUB ESP,40
005BB236  |.  53            PUSH EBX
005BB237  |.  56            PUSH ESI
005BB238  |.  57            PUSH EDI
005BB239  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
005BB23C  |.  83C0 41       ADD EAX,41
005BB23F  |.  A2 ACEF8000   MOV BYTE PTR DS:[80EFAC],AL
005BB244  |.  68 ACEF8000   PUSH Heroes3.0080EFAC                    ; /RootPathName = "D:\"
005BB249  |.  FF15 90FB8300 CALL DWORD PTR DS:[<&KERNEL32.GetDriveTy>; \GetDriveTypeA
005BB24F  |.  33C9          XOR ECX,ECX
005BB251  |.  83F8 05       CMP EAX,5
005BB254  |.  0F94C1        SETE CL
005BB257  |.  8BC1          MOV EAX,ECX
005BB259  |.  5F            POP EDI
005BB25A  |.  5E            POP ESI
005BB25B  |.  5B            POP EBX
005BB25C  |.  8BE5          MOV ESP,EBP
005BB25E  |.  5D            POP EBP
005BB25F  \.  C3            RETN
005BB36E   .  83C4 04       ADD ESP,4
005BB371   .  85C0          TEST EAX,EAX
005BB373   .  74 6F         JE SHORT Heroes3.005BB3E4
005BB375   .  68 00800000   PUSH 8000
005BB37A   .  8D85 A0FDFFFF LEA EAX,DWORD PTR SS:[EBP-260]
005BB380   .  50            PUSH EAX
005BB381   .  E8 2075E4FF   CALL Heroes3.004028A6
005BB386   .  83C4 04       ADD ESP,4
005BB389   .  8985 8CFDFFFF MOV DWORD PTR SS:[EBP-274],EAX
005BB38F   .  8B8D 8CFDFFFF MOV ECX,DWORD PTR SS:[EBP-274]
005BB395   .  898D 88FDFFFF MOV DWORD PTR SS:[EBP-278],ECX
005BB39B   .  C745 FC 00000>MOV DWORD PTR SS:[EBP-4],0
005BB3A2   .  8B8D 88FDFFFF MOV ECX,DWORD PTR SS:[EBP-278]
005BB3A8   .  E8 181EE5FF   CALL Heroes3.0040D1C5
005BB3AD   .  50            PUSH EAX                                 ; |Arg1
005BB3AE   .  E8 4DCB1A00   CALL Heroes3.00767F00                    ; \Heroes3.00767F00
00767F28  |.  51            PUSH ECX                                 ; /Arg4
00767F29  |.  6A 40         PUSH 40                                  ; |Arg3 = 00000040
00767F2B  |.  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+C]             ; |
00767F2E  |.  52            PUSH EDX                                 ; |Arg2
00767F2F  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]             ; |
00767F32  |.  50            PUSH EAX                                 ; |Arg1 = 015DBFD1 ASCII "D:heroes3\data\heroes3.vid"
00767F33  |.  E8 08000000   CALL Heroes3.00767F40                    ; \Heroes3.00767F40
00768205  |> \6A 00         PUSH 0                                   ; /hTemplateFile = NULL
00768207  |.  8B45 D8       MOV EAX,DWORD PTR SS:[EBP-28]            ; |
0076820A  |.  50            PUSH EAX                                 ; |Attributes
0076820B  |.  8B4D E8       MOV ECX,DWORD PTR SS:[EBP-18]            ; |
0076820E  |.  51            PUSH ECX                                 ; |Mode
0076820F  |.  8D55 DC       LEA EDX,DWORD PTR SS:[EBP-24]            ; |
00768212  |.  52            PUSH EDX                                 ; |pSecurity
00768213  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ; |
00768216  |.  50            PUSH EAX                                 ; |ShareMode
00768217  |.  8B4D CC       MOV ECX,DWORD PTR SS:[EBP-34]            ; |
0076821A  |.  51            PUSH ECX                                 ; |Access
0076821B  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]             ; |
0076821E  |.  52            PUSH EDX                                 ; |FileName = "D:heroes3\data\heroes3.vid"
0076821F  |.  FF15 78FB8300 CALL DWORD PTR DS:[<&KERNEL32.CreateFile>; \CreateFileA
00768225  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
00768228  |.  837D FC FF    CMP DWORD PTR SS:[EBP-4],-1
0076822C  |.  75 23         JNZ SHORT Heroes3.00768251
0076822E  |.  FF15 84FB8300 CALL DWORD PTR DS:[<&KERNEL32.GetLastErr>; [GetLastError

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (5)
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习了。
2009-11-11 12:30
0
雪    币: 563
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
挺有用!
2010-8-8 15:13
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
厉害厉害。这也能啊、
2010-8-10 02:06
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
凑个热闹
老版埃拉西亚的光复,
exescope发现菜单资源有四个:110,111,112,113
110,112正常,111,113多一个cheater选项
OD搜索LoadMenuA下断点,F9执行,停下来后,
找到调用代码,在附近简单分析一下,发现入口参数是
调用资源110,记下代码特征,winHex改一下,改成调用
资源111,存盘,再运行,按F4到窗口模式,可以随心所欲了,
哈哈哈
2010-9-7 17:39
0
雪    币: 231
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
厉害,新手学习了
2010-9-8 09:07
0
游客
登录 | 注册 方可回帖
返回
//