发信站: 飘渺水云间 (Thu Jul 14 16:34:35 2005), 转信
目前网上的flash兼职项目越来越多,对于flash制作者来说,既要
让客户看到完整的flash作品,又要防止客户拿到成品后逃之夭夭,这
的确是一个很大的问题.
大家都知道正规软件都需要注册,没有注册的软件都算是试用版,
那能不能给flash也做试用版呢,下面给大家介绍几个方法:
1.外形限制(等级1)
方法很简单,在做好的flash中加上一层,在上面标注"试用版"等
字样,或者画上一个大大的"×".(别砸我,的确也是一个办法:p)
2.日期限制(等级2)
让flash有试用期,过了这个试用期后无法播放.
比如交货的日期为2005年7月14日,试用期为5天,那么可以在
flash的最外层加入如下的代码:
// 定义最后试用日期,注意月份是0~11
deadLine = new Date(2005,6,19);
// 定义今天的日期
curDate = new Date();
// 可以在最后一帧说明试用期已过
if (curDate>deadLine) {
_root.gotoAndStop(最后一帧);
}
3.网站限制(等级2)
让flash只能在规定的网站中播放.代码如下:
// 定义可以播放的网址
mySite="kingboy.8866.org";
// 检查当前flash所在网址
checkSite=_url;
// 同上
if (checkSite.indexOf(mySite)==-1) {
_root.gotoAndStop(最后一帧);
}
4.同一电脑试用次数限制(等级3)
让flash在同一台电脑上只能播放n次.代码如下:
// 定义播放次数
var totalTimes=5
// 定义Local Shared对象
var checkMyCookie=SharedObject.getLocal("myflash","/");
// 如果usedTimes没定义,则定义并赋值
if (checkMyCookie.data.usedTimes==undefined) {
var checkMyCookie.data.usedTimes=1;
}
// 如果已经定义,判断使用次数是否超出
else {
if (checkMyCookie.data.usedTimes>totalTimes) {
_root.gotoAndStop(最后一帧);
} else {
checkMyCookie.data.usedTimes++;
}
}
// 如果已经定义,判断使用次数是否超出
else {
if (checkMyCookie.data.usedTimes>totalTimes) {
_root.gotoAndStop(最后一帧);
} else {
checkMyCookie.data.usedTimes++;
}
}
另外为了更好的保护代码,可以试用第三方代码加密软件,比如ASO,
Flashincrypt等,加密过的flash就算用反编译软件查看到代码,也会令人
难以阅读和理解.
不过话说回来,上面几个方法都有破解的方法,不过对于普通客户来
说要破解也不是一件容易的事,上述几个方法还可以联合使用,效果更佳:)
最后再说一句,在盗版和反盗版的斗争中永远是盗版的一方占优.