• 标 题:申请加入BCG的破解文章之二 (3千字)
  • 作 者:NYDoll
  • 时 间:2001-5-6 13:34:39
  • 链 接:http://bbs.pediy.com

破解MusiCard3.50(音乐贺卡厂)手记

作者:娃娃(NYDoll)


软件简介:  就软件本身来说 是一个非常不错的制作贺卡的软件  可以以最快的速度制作成一张比较精美的贺卡  而且生成的是可执行文件 但我觉得这个软件其实是一个国外大型软件的分解在加上汉化推出来的作品  而且并不值得花费10元注册  这是我个人的一点愚见 但是未注册的软件生成的贺卡 在最后都带有 一个广告窗  未免有伤大雅 所以我只好破解了

破解工具:Hiew6.55注册版  W32Dasm8.93(这是Robot兄送我的修正版  感觉很好 在此对Robot兄表示感谢) FileInfo2.4  UnAspack1.0.9.1

----------------------------------------------------------------------

软件可以在华军下载,安装后发现主目录下有这些文件:

Exe.uxe                            制作贺卡的模板文件,将扩展名改为EXE可以看到贺卡成品的图标
logo.gif                            贺卡制成后的广告条图片,您可以把它换成其它图片,以便于制作成一个更个性化的贺卡
Makecard.mcd                        这个是制作贺卡的主运行文件,将扩展名改为EXE后,可以直接运行
Musicard.exe                        音乐贺卡厂的运行文件,但并不是主文件,只是起到一个连接的作用,使Makecard.mcd和Viewcard.mcd可以同时运行
setup.exe                          音乐贺卡厂的设置文件,用VB编写。
Viewcard.mcd                        音乐贺卡厂近期版本才有的贺卡图片以及音乐预览程序,将扩展名改为EXE后可以直接运行

用Fi检测发现 文件大多用Aspack加壳,可以手动脱壳,但为了节省时间,我们用UnAspack1.0.9.1这个工具脱壳,先制成一张贺卡,如果你已经将Exe.uxe脱壳
则做成的贺卡不会加壳,否则你还需要用UnAspack再次脱壳,用Robot兄送给我的W32Dasm反汇编贺卡程序。

这里要介绍一种方法破解软件的Nag窗口,这种方法在网上好像比较少见。将所制成的贺卡程序反汇编后,按Ctrl+L载入程序,不用加参数:

W32Dasm应该停在 :00407156  PUSH      EBP    处,这里是程序的入口点,然后点击运行或按F9

待贺卡一步一步展示到广告窗口时,回到W32Dasm,点击步进,可以看到这个时候W32Dasm停在:004041C2  Call  贺卡文件名.40498B
这里就是Nag窗口的调用Call,然后按终止按钮,强制终止程序,可以发现又回到了W32Dasm的反汇编代码窗口,这是W32Dasm正好停在广告窗口的调用处

:004041A4 833D382C410001          cmp dword ptr [00412C38], 00000001
:004041AB 7515                    jne 004041C2
:004041AD 57                      push edi
:004041AE 68C1114000              push 004011C1
:004041B3 57                      push edi

* Possible Reference to Dialog: DialogID_0065
                                  |
:004041B4 6A65                    push 00000065
:004041B6 FF35D8284100            push dword ptr [004128D8]

* Reference To: USER32.DialogBoxParamA, Ord:0093h
                                  |
:004041BC FF1524E24000            Call dword ptr [0040E224]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004041AB(C)
|
:004041C2 E8C4070000              call 0040498B      《----- W32Dasm应该停在这里,这就是Nag窗口的调用Call,想上找,发现:004041AB可以跳过此Call,于是用Hiew6.55将:004041AB处的Jne改为Je,再次运行没有了Nag窗口
:004041C7 E8BB040000              call 00404687
:004041CC 57                      push edi



在上面我们得知Exe.uxe是程序的模板文件,于是用Hiew打开这个文件,在相同的为止将Jne命令改为Je即可取出Nag窗口,此方法适合目前所有版本的Musicard!



-----------------------  娃娃(NYDoll) ———— E-Mail:NYDoll@Etang.com —————  QQ:15110296  ————————————————