WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 1656查看
  • 0回复

主题

好友

1254

积分

金牌会员

发表于 2009-7-9 16:40:35 |显示全部楼层
最近有些所谓技术狂热者,用最简单的打包自解压方式对汉化人进行处理,说实话,这倒是让真正的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)。
本篇文章来源于 新世纪网安基地 (www.520hack.com) 原文出处:http://www.520hack.com/Article/Text2/crackjc/200901/12802.html

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-21 16:39 , Processed in 0.051864 second(s), 16 queries .

返回顶部