·汉化新世纪 ·汉化新世纪论坛 ·百家争鸣 ·论坛集萃 ·汉化问答 ·软件介绍
文章首页 >> 汉化教学 >> 工具使用 >> WISE技巧篇--防止简单打包和修改文件名称的方法    Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎

WISE技巧篇--防止简单打包和修改文件名称的方法

作者: 乾 来源:掌握汉化 时间:2006-02-17 点击:10067

最近有些所谓技术狂热者,用最简单的打包自解压方式对汉化人进行处理,说实话,这倒是让真正的Repacker者蒙羞--真的是打劫了,一点技术都没有的打劫。这些脑袋狂热者相信大家都应该知道了--5iCrack.com……

好了,对于真正解包者,要防起来还是有难度的,但是对这种简单的无技术的自解压打包者,还是要防一防,让他们没这么容易搞搞震!

以下内容曾在Wise901下测试成功过,目前已经在902上正式采用了:


首先先设定一个变量的默认值,然后在OLDNAME中设定你要强制不能改变的文件名称,以后如果升级或改模板,只需改动这里即可以了。接下来的OLDNAMELEN是计算所指定的文件名称的长度,具体的函数使用如下:


这里使用的是Len()函数,所以操作上要使用“求表达式值”……

接着让Wise读取安装程序的名称,赋值到FILENAME01,具体脚本为:


由于既包括了程序的名称,也包括了路径,为了准确判断,还需做进一步的操作:


这里使用的上Right$(字串1,字串2)函数,表示根据字串2的数值,读取字串1从右侧计算的相应字符。由于是字串值,因此变量要进行转换,首先要在两侧加上英文的%符号,然后两侧再加上英文的引号"符号,这次才能转变为对应的字串:假设FILENAME01读取值为C:\HA_RescoExplorer_535_GB_QIAN_Font_060216.EXE,那么OLDNAMELEN已经计算长度为44,因此从右侧读取,读取为HA_RescoExplorer_535_GB_QIAN_Font_060216.EXE,这个读取值赋值给MYNAME,作为后续判断使用。

现在开始判断:

这里使用了一个Wise内置函数INST,这个函数就是自动读取出编译后程序运行的环境,跟之前的FILENAME01有异曲同工之妙,但他不带文件名称,只是单纯的路径,因此推荐优先使用。当然,用FILENAME01也没问题,还可以精简代码。
这里还用到一个Wise内置的函数TEMP,它是自动根据Win系统情况读出当前的临时路径名称,且不用你考虑是Win9x还是NT平台,或者是用什么用户名登录的。因此用这个和INST对比,看看INST是否包含TEMP的内容,如果包含,说明软件是在临时文件夹中执行,这样可视为判断汉化作品被打包进行自解压执行,或者在压缩包中执行,因此设置TEMPCHECK为1,作为以后出错对话框的激活值。同时将出错信息和提示文字赋值给指定的变量,作为出错对话框使用。

这里使用Elseif函数,表示这个判断是延续的:先判断是否被打包,如果打包则不再判断文件名称;如果没打包,再判断文件名称是否修改。
这里用前面函数读取出真实运行时的文件名称变量MYNAME,跟指定的名称变量OLDNAME进行等于判断,注意要选择大小忽略,如果不等于,自然说明文件名称被修改了,然后设置激活变量TEMPCHECK为1,同时指定相应的出错信息。
这里,大家是否留意到有被注释的一句脚本,这也是一种判断方式,是我早期使用的,但是在Win9x测试下发现判断失效,原因不明,因此才改用了现在的方式。如果你确定不打算兼容Win9x用户,则可使用这种方式,这种方式就不用前面那些OLDNAME变量以及要从右侧读取那么麻烦的计算了。

好了,判断完了,该进行出错处理了,我在所有的对话框前面增加了一个出错对话框,激活方式如下:

如果TEMPCHECK不等于1,说明没有被打包或改名称,这个出错对话框被跳过,否则首先跳出,且同样只有终止按钮,不给用户其他选择:

在这个出错对话框用上之前定制的出错提示以对应不同的出错状况,同时当然要理直气壮地表达自己的态度啦……


 

Sense
交流一下WISE的心得。
获取安装文件名有更好的方法。首先获取安装执行程序路径名称到变量MYNAME,然后对MYNAME进行“解析字符串”操作:源值“%MYNAME%”,式样“\”,目标变量1为空,目标变量2“MYNAME”,操作“分离在式样中最后出现的值”。这样,只需两步就可以得到安装文件名。“解析字符串”这个功能很好用,可以代替很多需要几条表达式才能搞定的操作。
另外,在表达式中,变量不需要加%号。例如,Right$("%FILENAME01%", "%OLDNAMELEN%") 可以简单地写成 Right$(FILENAME01, OLDNAMELEN)。

汉化新世纪 责任编辑: 乾 .:|:. 标签(Tag): WISE 打包 扒手

·上一篇: WISE技巧篇--原版安装和版本的识别 ·下一篇: 趁着假期,重新构建一款字符编解码分析软件

· 版权申明: 本文引自《掌握汉化》,如有版权疑问请及时联系本站,以便本站处理。

· 转载申明: 本文引自《掌握汉化》[ 作者: 乾],如需转载请直接联系原始作者,并请注明原始出处。

相关文章                                                                                发表评论 打印此文 关闭窗口

| 设为首页 | 加入收藏 | 联系我们 | 友情链接
Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎
本站内容,除转载或版权特别申明的内容外,皆遵守 创造共用协议中文版之“署名-非商业性使用-禁止演绎 2.5 中国大陆”条款
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China License.
本网站内容源自汉化新世纪论坛的摘录和汉化新世纪成员的原创文章。
凡汉化新世纪论坛的文字皆默认为汉化新世纪与原作者共同拥有并授权发布。
如对本站发布文章有所异议请来信告知,我们将及时删除。
凡商业摘录本站文字请先与我们联系,本站将保留非授权商业发布的追究权利。
凡非商业摘录本站文字请明显注明出处和原作者,并不得改动,凡改动必先征求原作者同意。
苏ICP备05002283号