许海飞

个人学习总结,希望能对大家有所帮助

基于ByteArray的swf文件加解密
ByteArray的加密原理是,先用:URLLoader把swf文件加载进来,得到 URLLoader的data属性(ByteArray类型),然后把这个ByteArray数组进行分解,得到一个8位的字节流。然后对这个字节流进行位移(也就是加密的数字,文章中用的是+13),最后得到一个新的字节流数组,进行保存。
    解密的方法也是如此:先把文件导入进来,得到ByteArray,分解成8位的字节流,(解密方法就是对字节流进行反位移,也就是加密是+13,解密就是-13),这样生成新的字节流数组就是可以使用的swf文件了。
    并且使用字符串作为密文。把字符串转为一个ASCII数组(如”abc”,对应的ASCII数组为 97,98,99),然后与文件的字节流数组进行循环加密。如一个1K的swf,那么它有1024个字节流,第一个字节流与97进行位移,第二个与98位移,第三个与99,第四个又循环与97加。这样生成的加密文件就无穷多了。解密的方法也只有拿到密文才能进行解密。
    而分段加密就是在ByteArray全部加密的基础上,舍弃全部加密,只是对ByteArray中别定位置的字节进行加密,比如1001-2000,3001-4000等等。具体的方法是使用2个for循环,外层循环定义的是你想隔多少字节进行一次加密,而内层循环定义的是你想对多少字节进行加密。具体代码如下:
for(var i:int=0;i<byteLen;i += INTERVAL){
 for(var j:int=i;j<i+ENCRYPTCODE;j++,index++){
  if(index >= len){
   index = 0;
  }
  if(j>=byteLen){
   break;
  }
  //具体的对字节加密的操作
 }
}
解密算法和加密算法类似。
阅读更多
文章标签: 加密 解密 算法
个人分类: Flex相关
想对作者说点什么? 我来说一句

文件透明加解密程序源码

2010年07月31日 99KB 下载

解密SWF工具打开加密的SWF文件

2009年04月27日 322KB 下载

RSA文件加密程序的设计与实现

2014年02月12日 1.2MB 下载

没有更多推荐了,返回首页

不良信息举报

基于ByteArray的swf文件加解密

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭