[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 ...
随机推荐
- JAVA JNI
jni非常好的一篇文章 http://m.blog.csdn.net/article/details?id=22827307 JAVA JNI介绍 http://blog.csdn.net/cyg08 ...
- [破解] DRM-内容数据版权加密保护技术学习(中):License预发放实现
在上一篇文章里实现了对媒体文体的DRM加密,现在一起来实现License的预发放. 所谓预发放就是在播放媒体文件之前先获取到License,License获取成功后,可直接在电脑上进行媒体文件的播放. ...
- Android学习总结——实现Home键功能
实现Home键功能简而言之就是回到桌面,让Activity不销毁,程序后台运行. 实现方法: Intent intent= new Intent(Intent.ACTION_MAIN); intent ...
- [Python笔记][第二章Python序列-复杂的数据结构]
2016/1/27学习内容 第二章 Python序列-复杂的数据结构 堆 import heapq #添加元素进堆 heapq.heappush(heap,n) #小根堆堆顶 heapq.heappo ...
- App Store不能下载一直等待中的两种解决办法
1,重启手机,之后确认是否得到改善 2,重启不行,更改WiFi的dns为114.114.114.114或者223.5.5.5 或 223.6.6.6,再重启手机 ps:我是第二种方法
- wcf 给net.tcp 加mex
<?xml version="1.0" encoding="utf-8" ?><configuration> <system.s ...
- hadoop压缩配置
为何要使用压缩,压缩可以是文件的大小减小很多,节省空间:另外压缩后的文件在传输时更节省带宽. 所需软件: 1)lzo 2)hadoop-lzo 3)maven 安装编译: 1)lzo wget htt ...
- 初识ege图形库
简介: EGE (Easy Graphics Engine),是Windows 下的简易绘图库, 是一个类似BGI (graphics.h)的 面向C/C++语言新手的图形库,对新手来说,简单,友好, ...
- Lake Counting--poj2386
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 23950 Accepted: 12099 D ...
- MFC 遍历FTP服务器目录相关
CInternetSession* pSession; pSession = new CInternetSession; //构造新的连接 CFtpConnection* pFtpCon; pFtp ...