[AS3]as3用ByteArray来对SWF文件编码加密实例参考
[AS3]as3用ByteArray来对SWF文件编码加密实例参考,简单来说,就是将 swf 以 binary 的方式读入,并对 ByteArray 做些改变,再重新存成 swf 档。这个作业当然也可能应该是由 Server 进行
步骤一,随便建立一个 swf 当作要被加密的内容档案,怎么做不管,假设档名 asset.swf。
步骤二,做一个用来进行加密工作的 flash:
- var ul:URLLoader = new URLLoader();
- ul.dataFormat = URLLoaderDataFormat.BINARY;
- ul.addEventListener(Event.COMPLETE, onComplete);
- ul.load(new URLRequest("asset.swf"));
- function onComplete(e:Event):void{
- var ba:ByteArray = (e.target as URLLoader).data;
- ba.compress(); //CuPlayer.com提示:这里要代换成一个复杂的加工作业
- var fr:FileReference = new FileReference();
- fr.save(ba, "asset_c.swf");
- }
简单来说,就是将 swf 以 binary 的方式读入,并对 ByteArray 做些改变,再重新存成 swf 档。这个作业当然也可能应该是由 Server 进行,至於要对 ByteArray 做甚么样的资料改变,都可以。
步骤三,可以用破解软件对刚存好的 asset_c.swf 作业看看,就可以发现没有效果,因为本质上他已经不是 swf format 了。
步骤四,另外开发一个读取用的 flash,也就是未来真正要将 asset_c.swf 动态载入进来播放的 main.swf:
- var ul:URLLoader = new URLLoader();
- ul.dataFormat = URLLoaderDataFormat.BINARY;
- ul.addEventListener(Event.COMPLETE, onComplete);
- ul.load(new URLRequest("asset_c.swf"));
- var loader:Loader = new Loader();
- addChild(loader);
- function onComplete(e:Event):void{
- var ba:ByteArray = (e.target as URLLoader).data;
- ba.uncompress(); //cuplayer.com提示:这里要代换成一个复杂的加工作业
- loader.loadBytes(ba);
- }
解密的部分,要参考加密的过程,反向进行。
不过,我想聪明如你也会知道,这个main.swf 仍是明码,仍能被破解出来,以上这作法也就只是为了更加强破解的难度罢了,只好尽量将解密的程式隐藏的复杂一点罗,骗骗君子!
轉載:http://www.cuplayer.com/player/PlayerCodeAs/2013/09271019.html
[AS3]as3用ByteArray来对SWF文件编码加密实例参考的更多相关文章
- 将SWF文件用作资源打包
使用Flash开发网页游戏少不了与各种美术资源打交道.对于静态资源的那就是各种图片,对于会动的资源可以考虑直接做成swf.制作成swf的美术资源又可以分为两种:一种是直接将关键帧罗列在主时间轴上,那么 ...
- [转] swf文件加密基础
本来打算下班回来就写这个东西,一方面算是对今天学习的一个笔记记录,另外一方面,给一些朋友普及一些swf文件加密基础知识.之所以说是基础,那是因为我也是刚学习了一点,灰常的基础.不过晚上看了一会我是传奇 ...
- AS3舞台的大小,可视区域大小及SWF文件的原始尺寸大小
AS3舞台的大小,可视区域大小及SWF文件的原始尺寸大小三者之间没有什么关系. 当前可视区域:stage.stageWidth,stage.stageHeight.SWF文件编译后的原始尺寸大小:lo ...
- 如何通过AS3加载外部SWF文件,调用外部文件文档类的方法?
一个Flash中通过AS3代码的Loader对象加载另一个SWF文件,并访问其中的文档类中的方法. 简单示例: 主文件:Main.fla, Main.as 被调用的文件:called.swf, Cal ...
- golang仿AS3写的ByteArray
用golang写了个仿AS3写的ByteArray,稍微有点差别,demo能成功运行,还未进行其他测试 主要参考的是golang自带库里的Buffer,结合了binary 来看看demo: packa ...
- flash 中无法导出swf文件的解决方法
近一个星期,我的flash cs6一直导不出swf文件,郁闷了好长时间,今天终于在网上找到了解决办法:总结了一下,如下: 一.是把文字打散,变成形状. 二.是把汉字的字体设成fla ...
- C#的Process类调用第三方插件实现PDF文件转SWF文件
在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来 ...
- 【转载】在HTML中插入swf文件(转)
在HTML中插入swf文件(转) 在网页里面插入swf,再平常不过了,一般会想到如下代码: Html代码 <object classid="clsid:D27CDB6E-AE6D-11 ...
- html中嵌入swf文件的几种方法
转自:http://blog.163.com/yuki_1154/blog/static/7120277120126109315935/ 找了很久终于找到一个比较全面的: 1. object + em ...
随机推荐
- actionInvocation
1.actionInvocation是什么 ActionInvocation就是Action的调用者.ActionInvocation在Action的执行过程中,负责Interceptor.Actio ...
- iOS 字体设置
使用无衬线字体 body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; } iOS 4 ...
- ubuntu系统分区方案
一.各文件及文件夹的定义 /bin:bin是binary(二进制)的缩写.存放必要的命令 存放增加的用户程序. /bin分区,存放标准系统实用程序./boot:这里存放的是启动LINUX时使用的一些核 ...
- FineUI
window间传值: Window1.GetSaveStateReference(new string[] { TextBox1.ClientID, ak.ClientID })收 ActiveWin ...
- select count(distinct a)
我想对一个表里面字段a的个数进行进行统计,因为字段a有重复的记录,我想排除重复的记录,该sql语句为: select count(distinct a) 链接:http://www.w3school. ...
- TCP/IP详解之:SNMP
基于TCP/IP的网络管理包含3个组成部分: 一个管理信息库MIB:MIB包含所有代理进程的所有可被查询和修改的参数 关于MIB的一套公用的结构和表示符号,即SMI(管理信息结构) 管理进程和代理进程 ...
- yii操作数据库(AR)
模型: 有多少数据表,就建立多少模型 模型其实就是类 我们对数据库进行操作,需要实例化模型类,产生对象 通过对象调用相关的方法,就可以实现数据库的操作 增加记录 [php] $post =newP ...
- php后台判断ajax请求
if (isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && $_SERVER["HTTP_X_REQUESTED_WI ...
- 1206: B.求和
题目描述 点击这里 对于正整数n,k,我们定义这样一个函数f,它满足如下规律 现在给出n和k,你的任务就是要计算f(n,k)的值. 输入 首先是一个整数T,表示有T组数据 接下来每组数据是n和k(1& ...
- HDU1043 Eight(BFS)
Eight(South Central USA 1998) Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d & ...