水杉 Metaseq 2.48 的一次破解记录

技术杂谈 1028 字

本文 搬运自我的QQ空间 2012-8-2

这段时间在搞3D建模,都是从游戏中提取出来然后自己再整合在一起添加其他元素进去,毕竟自己从0开始动手实在是太麻烦了,没那个时间也没那个精力。这段时间觉得《人工学院》的模型做的挺好的,就想自己做一个MOD,然后网上找了个PP文件的解包程序把需要的东西都一样一样的找出来,不过提取出来的3D模型文件都是MQO格式的。一查发现这是个Little Japan的3D建模软件的文件格式,想要转换为3DMAX能用的3DS文件需要注册。在这里我只能说对不起作者了,吾身在天朝想买注册码都买不到啊,只好自己去破解了,不过作为弥补钱我一定会视心情在有生之年烧给你的…

扯远了,先看看这个软件注册提示,我们随便输入一个序列号和密码:

提示序列号和密码错误,因为我用的这个是汉化过的版本,实际的错误提示肯定不会是中文的,不过不急,用VistaDbg打开程序,对所有的字符串访问都下个断点,就像这样:

这里的字符串实在是太多了…然后我们运行程序,继续注册,一步一步的跟下去,每遇到一个断点程序都会暂停,我们判断下断点是否正确,最后一路跟踪来到这里:

可以看到这里有一个RegFail和RegComp的信息提示,很明显当我们注册失败的时候会提示的信息应该是RegFail,往上看可以看到一个跳转到RegFail的跳转语句:JE SHORT 0042BE78,那就简单了,我不需要继续往上看去算程序的真正注册算法,因为这破解我只要一份就足够了,果断把JE SHORT 0042BE78修改为JE SHORT 0042BE45,直接让他继续往下运行,继续注册:

提示注册完成,然后我们应该就可以干自己能干的事了,尝试保存3DS试一试。

居然还提示没有注册,估计程序在这些地方都有验证,假的序列号骗不过他们,没事,咱们继续绕过防御……找到这个地方:

这里有个NotRegExport的提示,意思就是没有注册的导出……上面又有一个跳转语句:JNZ SHORT 0041B841,看来是因为这个语句没有符合条件,那就简单了,直接改成:JMP SHORT 0041B841,让他无条件跳转,OK继续保存一次:

成功进入3DS的导出设置,到此我想要的功能都能实现了也就不继续往下破解了,也许程序其他地方也带有验证,但我用着都一直没发现。

接下来就可以MQO的模型导出为3DS格式用3DMAX修改并且自己添加贴图以及骨骼蒙皮了,最后做出来的模型可以自己用来做游戏或者导回游戏中做成一个MOD。

最后贴上我用一个一个零件拼起来做的3D萌妹子:

返回首页