用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   无论老手还是新手,只要有自己的想法和建议,请大家积极投稿本栏目
当前位置 :首页>业界杂谈>列表

关于未来的网页SWF加密方案-闲时无聊思考的东西

[来源:经典 | 作者:HBRO | 时间:2008-04-29 | 点击:  | 收藏本文  【 】]
说出来,好像有点异想天开的感觉.因为我现在想的是将来AS3编译的SWF的加密方案,而我现在的AS3依然是0状态,说出来的东西没什么根据.而且,到时候,加密和破解技术发展到什么层次,也不能预测.所以,我完全是在凭空想象.

从luzhugao发表了关于SWF的加密与破解一帖到现在,我看到了不少讨论这方面的帖子(包括特别重要的禁止缓存),结论都是"防君子不能防小人".

尽管在前段时间,我跟luzhugao的破解与反破解之争中,luzhugao是胜利者,但是,这说明他已经在加密的道路上取得成功了吗?答案是否定的,当初的挑战是有条件的,就是作为破解方的我,不能使用从缓存里找文件的办法.因此,他只是那场游戏里的胜方,在反破解的道路上,他依然还是要败给破解方.

以上的状况是由当前最流行的加密和破解软件的特点决定的.
常用破解软件:硕思闪客精灵,ASV(Action Script Viewer);
常用加密软件:Flashincrypt,SWF Encrypt.
在用Flash直接生成的SWF里,上面两款破解软件一般都能成功把SWF转成FLA.而加密软件则针对破解软件而进行放破解处理,Flashincrypt加密后,运行一般正常,且硕思已经无法还原,但是ASV可以.SWF Encrypt则是两样都能防,可惜在对复杂文件加密的过程中,容易出错.
在这种情况下,luzhugao对他的SWF做了如下加密操作:
网页里头放进的SWF不是他的大文件,而是一个小SWF,里头用loadMovie调用他的大SWF.其中,小SWF用SWF Encrypt来加密,不会出错,但是大SWF没办法,只能用Flashincrypt,因此,只要不允许在缓存里找,能找到大SWF就很难了.
但是,大SWF依然会存在于缓存里头.在缓存里找出来,用ASV就把核心代码拿到手了.
曾看到过很多禁止缓存的文章,其实最终都不能成功.大多数都只是隐藏.而且,哪怕给你藏住了,有心人可以用FF浏览你的SWF,让缓存赤裸裸地露出来.

现在,我假设当加密与破解软件都升级到AS3版本的时候,依然保持着上述的特点,那么,我就有了一个加密AS3写的SWF的想法.当然,我现在只能想,没有任何理论支持.
既然缓存无法禁止,那么,就只能考虑对SWF进行加密了.但是,如果只用上面的办法,始终无法防ASV.
听说AS3可以读写二进制了,记得我以前学VB编程的时候,是可以用程序自己写加密函数来对文件进行二进制加密的.所以就想到了通过脚本自己加密的办法.
步骤如下:
1 把你要放到网上的SWF准备好.
2 用AS3写一个二进制的加密函数(注意:一定要可逆的,就是要配有一个解密函数).然后,用脚本进行如下操作:
二进制读入SWF文件->得到一个BytesArray->加密算法得到新的BytesArray->用后台程序把新的ByteArray保存为SWF.
3 写一个小的SWF文件,装载被加密的SWF,这里自己设想一个MCLoader类,但不知道能不能写出来.
二进制读入加密SWF文件->得到加密的BytesArray->用解密算法把BytesAray还原成原始SWF的数据->用自己设想的MCLoader类调用loadClip方法,参数不是SWF的路径,而是一个BytesArray->根据BytesArray把SWF显示出来.

那么,装载影片的SWF依然还是比较简单,就一个装载动作,加一个解密函数,可以用SWF Encrypt加密,而被装载的大SWF可以不需要再用软件加密,因为你自己已经用自定义的加密算法作了处理.人家拿到手以后,估计没办法破解.因为ASV我想再聪明,都不会知道你用的二进制加密算法如何.要破到的话,必须知道你的加密或者解密算法.但是你的解密算法已经被SWF Encrypt保护了.加密算法是后台使用的,不会放到网上.

这些就是我闲时无聊想到的,没什么理论支持,大家如果对我这异想天开的东西有什么意见的,狠狠地批一顿吧.
经典这里有讨论
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:AIR1.0正式版发布
下一篇:没有了
Tags:    
>>> 最新评论:(共有 1 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  业界杂谈
  业界前沿   资源分享
  经验技巧   七嘴八舌
  热门文章
·如何把fla,swf文件转换为flv格式问答
·flv制作工具大全
·Adobe Flex编码指南v1.2(AS3 Flex3程
·在线flv转换mpeg4
·2006年Flex大型优秀网站欣赏
·电脑flash绘画心得
·Flash 3D引擎汇集(附演示)
·FLASH虚拟社区的可行性分析
·我对as3声音架构的理解
·一个老Flash程序员对国内flash界的看
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号