老文章档案 · 2003 年

破解深入地心(Game)

破解教程 · 破解入门 · 2003-06-08 · 作者:chcw 人气: · 出处:赢政天下收集整理)

破解程序:

深入地心(Game)

破解工具:

SoftICE 3.0 For Windows 95

W32Dasm 8.5

破解者:

chcw

在安装完深入地心之后,执行其主程序Emb.exe,得到错误提示“你并未正确安装本游戏”。下

面我们将分析并解决该错误。

1. 用SoftICE载入EMB.EXE。

2. 因为在运行时会有一个错误提示,我们就对它设置断点:

BPX MESSAGEBOXA

3. 按Ctrl-D,程序开始运行,触发SoftICE,光带停留在MessageBoxA函数的入口处:

USER32!MessageBoxA

0137:BFF541BA PUSH EBP

将光标移到MessageBoxA函数的返回处

0137:BFF541D RET 0010

并键入命令HERE,程序执行到光标所在处。

4. 按F10,回到调用MessageBoxA函数的上层语句处:

0137:00470B29 CALL USER32!MessageBoxA

从该语句处向上找,发现在:00470B0F有一处函数调用,其函数的返回值决定了是否显示错误的

提示。

0137:00470B0F CALL 00402F5E <-函数调用

0137:00470B14 ADD ESP, 00000004

0137:00470B17 TEST EAX, EAX ;若EAX非零,则不显示错误信息。

0137:00470B19 JNE 00470B36

5. 键入BC *,清除原先的断点。再将鼠标移到:00470B17 TEST EAX, EAX处双击,设置执行断

点。

6. 按Ctrl-D回到执行程序,此时程序显示完错误信息,并正常退出。在SoftICE中选择Module/Load

再次载入程序。

7. 程序开始运行后 ,SoftICE将被触发,刚才设置的断点被激活了:

0137:00470B17 TEST EAX, EAX ; <-激活的断点处

键入r eax=1,将eax的值强行设置为1。然后键入X,继续运行程序。此时程序不再显示错误信息,

而是开始显示主界面。但在选择New Game后,程序继续执行时会出错并退出。看来,很可能函数

00402F5E读取了某些主程序运行时所必须的数据,我们需要进一步分析函数00402F5E

8. 用W32Dasm对执行程序EMB.EXE进行反汇编,并在Search/Find Text中输入"call 00402F5E",查找

调用函数00402F5E的语句,亮条将停留在以下语句处:

:00470B0F E84A24F9FF call 00402F5E

在工具栏上选择"Call",文本调用(Text Call)该函数。亮条将停留在函数00402F5E的入口处:

:00402F5E 55 push ebp

9. 从:00402F5E处往下看,可以知道该函数的大致功能。函数的第一部分是调用wsprintfA()函数:

wsprintfA(OneString, "Software\TGL\INSTALL\%s", AnotherString) ,

形成一个型如"Software\TGL\INSTALL\AnotherString"的串OneString以备后用(OneString和

AnotherString是参数,为叙述方便,这里我们指定它们的名字):

* Possible StringData Ref from Data Obj ->"Software\TGL\INSTALL\%s"

|

:00402F6B 6868304800 push 00483068

:00402F70 8D8DFCFEFFFF lea ecx, dword ptr [ebp+FFFFFEFC]

:00402F76 51 push ecx

|

* Reference To: USER32.wsprintfA, Ord:0264h

:00402F77 FF1544865B00 Call dword ptr [005B8644]

程序的第二部分是从注册表中打开上述串OneString对应的键,并从中取出某一串值:

:00402F95 6801000080 push 80000001

* Reference To: ADVAPI32.RegOpenKeyExA, Ord:012Eh

|

:00402F9A FF15FC835B00 Call dword ptr [005B83FC]

...

* Possible StringData Ref from Data Obj ->"GameDirectory"

|

:00402FB9 6880304800 push 00483080

:00402FBE 8B95F8FEFFFF mov edx, dword ptr [ebp+FFFFFEF8]

:00402FC4 52 push edx

* Reference To: ADVAPI32.RegQueryValueExA, Ord:0136h

|

:00402FC5 FF1500845B00 Call dword ptr [005B8400]

...

从串名"GameDirectory"我们可以猜到,该串中存放的串值是游戏的目录。查Win32 SDK可

以知道这个键是在HKEY_CURRENT_USER下。

根据上述分析,我们可以猜想到,在正版的游戏正常安装后,会生成主键

HKEY_CURRENT_USER\Software\TGL\INSTALL\AnotherString

并在该主键下生成一个串,该串的名字为"GameDirectory",值为游戏文件所在的目录。我

们只要在注册表中手工键入上述的主键和串,就应该能使程序正常启动。

10.但是在串\Software\TGL\INSTALL\AnotherString中尚有子串AnotherString的值是未知的。

在工具栏上选择"Ret",返回到调用函数00402F5E的语句处:

:00470B0A 68849E4800 push 00489E84

:00470B0F E84A24F9FF call 00402F5E

从压栈的参数中我们可以获取串AnotherString的地址为00489E84。

11.选择HexData/Hex Display of Data Object/Segments,并找到00489E84处的数据:

:00489E80 xx xx xx xx B2 60 A4 4A RH...`.J

:00489E88 A6 61 A4 DF 00 xx xx xx .a......

这些数据看起来好象是一些乱码,仔细分析一下,就可以发现它们都是中文的内码(BIG5),

解读后得到字符串AnotherString="深入地心"。

12.现在我们可以修改注册表了。执行REGEDIT,打开注册表,创建键

HKEY_CURRENT_USER\Software\TGL\INSTALL\深入地心,(注意这里必须用BIG5输入),并

在此主键中加入串GameDirectory=.\

附:修改注册表的文件EMB.REG

------------------------ EMB.REG ----------------------------

REGEDIT4

//Regist Embrace(Add a key to the register table)

//Written By Mr. CHCW

[HKEY_CURRENT_USER\Software\TGL]

[HKEY_CURRENT_USER\Software\TGL\INSTALL]

[HKEY_CURRENT_USER\Software\TGL\INSTALL\瞏み]

"GameDirectory"=".\\"

--------------------- End of File EMB.REG -------------------

(出处:赢政天下收集整理)

相关文章:

·关于注册Flag在破解中的应用

·从轻松试卷 v4.03 的破解看 r fl z 的妙用

·破解圣经之------滚瓜烂熟篇

·破解API Spy for Windows 95/98/NT/2000

·chm帮助编辑器v2.6 注册码破解详谈之一*脱壳篇*

·破解NetAlert v2 [热点] 指导如何自动脱壳!!

·破解的理由

·对于破解的一些想法

·Audio Converter 3.0 破解要点

·破解 Matcom 4.0 for BC

相关软件:

·美萍安全卫士密码破解器 3.0+

·网文快爪 v1.0 破解版

·坏猫网页编辑 v2.0完整版破解文件

·pakmarker1.0破解版

·IE Plus!破解版

·邮件服务器2.6+破解版

·登录奇兵 3.01破解文件

·易思多媒体网络教室-4用户演示版破解文件

·网络三国智能机器人1.0.0.101版破解

·网络三国智能机器人1.0.0.103版破解

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史