日度归档:2013年1月12日

通关了HalfLife BlackMesa

嘛~因为看到有这么一个重制版,于是下下来重温了一下。但是再次让我感受到了国内的软件的流氓性。
顺便放个连接

下完了,安装之后一眼看过去那个启动器,不对,要管理权限?阴谋,大大的阴谋!果断的丢sandbox里面去跑,看到了一堆奇怪的东西
play.exe
cmd.exe
hl2.exe
rundll32.exe

好吧,仔细检查,play.exe是启动器,一个需要权限的启动器,毫无疑问是有问题的;cmd.exe嗯,你想干什么?hl2.exe的话是halflife本身,没问题,rundll32.exe是系统的,嗯,也没问题。

那么,问题就是这个play.exe和cmd.exe了。

play.exe做了什么,很遗憾,我还没检查出来,估计也是改一下ie主页之类的……

cmd.exe的话就好说了,打开任务管理器,切换到进程页,看看命令行,就发现了一个奇怪的东西。
一个play.bat在临时文件夹里面。

打开一看,发现以下内容

cd "www.d9zx.net RAS"
cd BMS
ren ep3_gamestats.dat gameinfo.txt
cd..
ren bink.dll Steam.dll
hl2.exe -game BMS
ren Steam.dll bink.dll
cd BMS
ren gameinfo.txt ep3_gamestats.dat
cd..
cd..

非常简陋的脚本,简陋的我都能写出来(别吐槽我,我对windows不熟悉)
脚本的内容很简单,找到”www.d9zx.net RAS\BMS”,将ep3_gamestats.dat重命名成gameinfo.txt(游戏的信息,缺失时无法游戏),然后返回”www.d9zx.net RAS”,将bink.dll重命名成Steam.dll,然后开始游戏。游戏完毕之后,再次将这两个正确的文件名改成错误的。

看到这东西的时候我差点一口水喷屏幕上……这事是人干的么……偷偷改掉几个文件名,然你不用他的启动器无法进行游戏,但是偏偏又是用这个傻瓜的方式来做,这是发布组技术不行还是良心发现?

明明是好好的一个脚本,都写好了,就直接让大家跑就是了,什么问题也没有,为什么还要费尽心思去大家用他们的启动器呢?很明显是这东西有问题……什么问题我就不知道了,我实在没有能力去反编译这个启动器。

另外还有一个问题,这个rundll32.exe在启动的时候必须联网,不联网的话游戏无法启动(尼玛死怎么这个多奇奇怪怪的东西)。

经过追踪发现,连接了65.55.162.27:443。嗯?安全连接?查询ip之后发现是微软的ip,尝试用https连接之后发现是games.metaservices.microsoft.com。卧槽,我玩个游戏而已,微软你跑出来捣什么乱?你要查就查咯,你查不到不给我玩是怎么回事?

最后这个问题还是没法解决……即使我关掉了游戏资讯查询之类的还是无法在没有联网的状况下启动游戏(启动之后就不关事了)。嘛将就着玩吧,幸好这个不是问题。