头几天在网上闲逛,看到一个猫和老鼠(Tom and Jerry)的游戏,下下来准备哄老婆开心
,用UniExtract解压运行后发现该网站已经破解了该游戏,而且加了料,每次运行都会询问是否将主页设去他们网站,否就退出,是就更改主页,写他们的网址到收藏夹,还在开始菜单里放个图标,挺烦的,于是就想破了他
.
DiE查壳,Microsoft Visual C++,然后搞笑的事就来了,C32ASM,Etu-DASM,Ollodby, VMUnpacker齐上阵,研究了一天多,终于脱下了他的马夹,脱下来一个文件,每次运行不再询问是否更改主页,但是跳出的英文会要求插入光盘,
晕~~
现在来思考,在原来打包的情况下可以正常游戏,那么原壳很可能是模仿可正常运行的环境,在临时目录找到一个文件,每次运行游戏生成的,完成后就删除,会不会有关系,可是文件不共享,我只有使用中删除的软件,没有使用中拷贝的软件(原来有一个,找不到了),放弃
于是又是各种反汇编软件齐上阵,准备霸王硬上弓了,我的所有常用软件的快捷方式都放在右键的"发送到"文件夹下,这样可以不用找目录却能随时把文件发到要用来打开的软件处, 如此又研究了一天,仍然无法将文件爆破(限于能力,我只会爆破
).
终于一天偶然发错了文件,又将主程序发到了UniExtract那里,心想来一下看看,还真的解开了文件包,里面也出现了一个主程序,跟我解包出来的一样大小,但是可以正常运行,心下狂喜,真是山重水复疑无路,柳暗花明又一村啊,于是拷贝到主程序目录,看他的名字TJPC (release).exe不爽,改成Tom and Jerry.exe,运行,要插入光盘那家伙又来了
,这是怎么回事,刚刚还能正常,难道只能正常运行一次,再解压一个,又正常运行了,难道是因为名字,将Tom and Jerry.exe又改成TJPC (release).exe,果然可以正常运行了.
在反汇编该程序的时候有看到文件名TJPC (release).exe,于是,简单点(搞爆破的只有破不了的,没有不敢试的
),用UltraEdit32打开,查找关键字release,找到了如下内容: %c\\TJPC (release).exe,心想肯定于此有关,先备份一下,然后将这里改成%c\\Tom and Jerry.exe,不足的地方用00填充,保存,再将文件名改成Tom and Jerry.exe,运行,天啊,成功了
看来破解有时并不只是要找到关键跳之类的,了解文件间调用等等的关系也是必要的
当我在文件中被各种判断绕得云里雾里的时候,其实面对的是一个已经被破解了的东西,只不过这个东西在运行的时候会检验自己的名字是不是预设的那个,否则,请插光盘证明身份
对软件最初的破解冲动来自游戏,现在看看自己的电脑中,以前是下别人破解的游戏,现在是下游戏来自己破解,自我感觉破解游戏后再去玩才最有成就感
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课