📄 crack34.htm
字号:
<html>
<head>
<title>看雪学苑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
.p8 { font-size: 8pt}
.p9 { font-size: 9pt}
a:hover { color: #00FF00}
a { text-decoration: none}
.p12 { font-size: 12pt; font-weight: bold; color: #FF3333}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<p><a href="index.htm" tppabs="http://toye.dihou.org/index.htm"><span class="p9">首页</span></a><span class="p9">>><a href="crack.htm" tppabs="http://toye.dihou.org/crack.htm">破解心得</a></span>
<br>
</p>
<table width="100%" cellspacing="0">
<tr>
<td>
<pre class="p9"> 超级解霸2000试用版的破解<br>
平常也不怎么看VCD,但买了电脑报2000年合订本,配套光盘里有超级解霸
2000试用版,就随手安装了,顺便练练手。
工具:WinIce4.05、W32DASM、Hiew6.4和一只笔、纸若干。
试用版在使用30次后会弹出过期报错窗口,运行次数记录在WINDOWS文件夹
下的STHSVCD.INI配置文件里,BERUN=运行次数。可以想象,每次启动STHSVCD,
它都先要读取BERUN项,和30比较,小于的话,则该项加1,写入STHSVCD.INI并
转入主程序执行,否则报错。那么可以下断GetPrivateProfileStringA或者下断
WritePrivateProfileStringA,考虑到STHSVCD启动时要设置多项参数,可能多
次调用GetPrivateProfileStringA可能多次被调用,不易追踪,最好利用
WritePrivateProfileStringA设断。
bpx writeprivateprofilestringa,
运行STHSVCD.EXE,果然...
按F12
00414767 push 00426724 ->"STHVCD.INI"
0041476C push eax
0041476D push 00428C9C ->"BERUN"
00414772 push 00426710 ->"SETTING"
00414777 call dword ptr [004A0670] 调用WritePrivateProfileStringA
0041477D cmp ebx, 0000001E <-中断返回此处,1E即30
00414780 jle 004147A4 不超过30次,则跳转,否则
00414782 call 0040FAF0 弹出过期报错窗口
向上看
00414732 push 00426724 ->"STHVCD.INI"
00414737 push 00000001
00414739 push 00428C9C ->"BERUN"
0041473E push 00426710 ->"SETTING"
00414743 Call dword ptr [004A06F8] 调用GetPrivateProfileIntA
00414749 lea ebx,[eax+1] 将已使用次数加1,送入EBX
0041474C lea eax, dword ptr [esp+78]
Crack方案有两个:
1、jle 004147A4 改为 jmp 004147A4;
2、取消EBX加1的操作,lea ebx,[eax+1]改为三个NOP。
具体修改过程就不用我再一一罗嗦了吧。
慢着,别以为万事大吉,还有一个陷阱呢!STHSVCD还在HKEY_LOCAL_MACHINE\
Software\Microsoft\Windows\CurrentVersion\Setup处设置键值RunTime,保存剩
余的运行次数,每次运行STHSVCD,RunTime减1,当RunTime为0时,报错。根据已
有的破解成果表明,将此值改为FFFFFFFF后,再运行STHSVCD该值将保持不变。确
实这里挺难追,用DialogBoxParamA、RegQueryValueExA等均未成功。最后只有请
出“依天宝剑”——W32DASM,虽然反汇编时报错,但不睬它,继续,发现和读取
注册表有关的也就一个RegQueryValueExA,查找RegQueryValueExA字符串,在程序
中发现一处调用。
0040FBF9 call dword ptr [004A0590] 调用RegQueryValueExA
0040FBFF test eax, eax
0040FC01 je 0040FC28 返回值为0则跳转,出错
试着把je 0040FC28屏蔽(改为两个NOP,或者INC EAX,DEC EAX),OK!无论怎么
运行STHSVCD,RunTime将保持0x63即99不变,永远也不会过期了。
用同样的手段修改音频解霸。
好了,今天就说到这儿,还是让我们举起双手拥护正版吧!
南阳wxd 2001-1-5
E-mail:wxd125@163.net
Oicq:21331694</pre>
</td>
</tr>
</table>
<p> </p>
<p> </p>
<p> </p>
<a href="index.htm" tppabs="http://toye.dihou.org/index.htm"><span class="p9">首页</span></a><span class="p9">>><a href="crack.htm" tppabs="http://toye.dihou.org/crack.htm">破解心得</a></span>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -