安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

揭开加密算法的神秘面纱

更新时间:2022-10-28 15:46:54


本文简介:此前我们介绍过很多种加密方法,但是有一种加密方法我们却从没有说过,那么今天我们讲揭开swf文件加密方法的神秘面纱。目前几种流行的加密方法:第一种是使用”swf encrypt”、或者doSWF软件加密,个人认为swf encrypt 的加密不太好,原因不是它算法不够强或者什么的,而是闪客精灵等破解软件会专门针对它的加密算法进行破解。这会导致您加密不久的swf又遭人破了,doSwf是国人编写的,加密

揭开加密算法的神秘面纱

此前我们介绍过很多种加密方法,但是有一种加密方法我们却从没有说过,那么今天我们讲揭开swf文件加密方法的神秘面纱。

目前几种流行的加密方法:
第一种是使用”swf encrypt”、或者doSWF软件加密,个人认为swf encrypt 的加密不太好,原因不是它算法不够强或者什么的,而是闪客精灵等破解软件会专门针对它的加密算法进行破解。这会导致您加密不久的swf又遭人破了,doSwf是国人编写的,加密得很好,连movieClip都看不到。dowSwf加密大文件的swf有问题,一个1M左右的swf,加密会出错。

第二种方法是采用byteArray二进制加密,此种方法不会使swf变大,只是在原有的字节流中做混淆,对闪客精灵等软件可以起到很好的防破解作用。网上又有源码可以很好地做研究。网址:http://bbs.blueidea.com/thread-2900310-1-97.html 。但是此方法有一个弊端,就是需要一个解密的swf(下面会说到),解密中的密文还是会暴露。

我先分析下byteArray的加密原理:

byteArray的加密原理是,先用:URLLoader把swf文件加载进来,得到URLLoader的data属性(byteArray类型),然后把这个byteArray数组进行分解,得到一个8位的字节流。然后对这个字节流进行位移(也就是加密的数字,文章中用的是+13),最后得到一个新的字节流数组,进行保存。

解密的方法也是如此:先把文件导入进来,得到byteArray,分解成8位的字节流,(解密方法就是对字节流进行反位移,也就是加密是+13,解密就是-13),这样生成新的字节流数组就是可以使用的swf文件了。

这样加密也暴露了只能采用数字加密的问题,后来我又发现一个比较大的问题,就是:加密最核心的原理是对字节流(8位)的加密,因为是8位的,范围只能是:0~255之间,那么你采用超过255的数字加密也是会取余成255的,不信你用256这个数字加密看看,得到的是什么?竟然是加密后的swf,和原来的swf是一致的,原因就是256会变成0,你位移+0,那当然是等于没有变啦。因为这种加密方式生成的加密文件只能有256种,那么我麻烦点在0~255间一个个地试就能得到解密的swf。

为此可以改进加密算法,使用字符串作为密文。把字符串转为一个ASCII数组(如”abc”,对应的ASCII数组为97,98,99),然后与文件的字节流数组进行循环加密。如一个1K的swf,那么它有1024个字节流,第一个字节流与97进行位移,第二个与98位移,第三个与99,第四个又循环与97加。这样生成的加密文件就无穷多了。解密的方法也只有拿到密文才能进行解密。

下面公布加解密方法:

//加密函数
private function compress(byte:ByteArray):ByteArray{
var key:String = password.text;       //得到密文
var flag:int = 0;
var newByte:ByteArray = new ByteArray();
/* */
for(var i:int = 0; i<byte.length ; i++ ,flag++){
if(flag >= key.length){
flag = 0;
}
newByte.writeByte(byte[i] + key.charCodeAt(flag));
//newByte.writeByte(byte[i] + 256);
}
//输出
fileByteArray = newByte;
saveBtn.visible = true;
return newByte;
}
//解密函数
private function uncompress(byte:ByteArray):ByteArray{
var key:String = password.text;       //得到密文
var flag:int = 0;
var newByte:ByteArray = new ByteArray();
/* */
for(var i:int = 0; i<byte.length ; i++ ,flag++){
if(flag >= key.length){
flag = 0;
}
newByte.writeByte(byte[i] – key.charCodeAt(flag));
//newByte.writeByte(byte[i] + 256);
}
//trace(newByte);
fileByteArray = newByte;
saveBtn.visible = true;
return newByte;
}

如果是自己的播放器的话,可以采用更多的加密方法了,如利用AES加密。

利用AES加密方式对swf格式文件进行整体加密,从而防止当今流行的反编译软件的攻击。同时能在加密时指定文件的使用期限(即过期时间)。在播放文件之前播放器会提示密码输入以及过期提醒。在关闭播放器时会清除硬盘上的临时数据以防止泄漏。

立即下载试用

企业为什么选择加密系统来防止数据泄露

  随着互联网的普及和网络安全的防范应用,网络化办公在给企业带来便利的同时,也给企业内部数据安全提出了更高的要求。面对企业数据安全的防范问题,传统的设备采用被动式响应防御,不适于内部局域网管理,企业要么改变传统的运作方式去适应这种变化,要么便需要寻求专业的数据加密系统来加以防护。


 

       安企神加密系统可以对公司重要文件进行主动加密,不仅仅是防止外来人员的窃取,更多的是防止内部人员的主动泄密,全面保护文件安全,同时管控内部员工的上网行为,提高办公效率。安企神采用了全新的解决方案,通过对现有的终端系列操作系统进行安全增强,让企业管理者能够对终端进行集中管理和控制,保证信息系统始终在可控状态下运行,从根源上有效抑制对信息系统安全的威胁,最终达到防止内部用户泄密以及外部用户攻击的目的。

 

       安企神兼具文档加密、权限管理以及安全网关控制,加密透明无感知,文档权限管理更加细致,企业无须改变原有的应用,也无须改变文档的流通习惯,可以很好保护机密文档在企业内外的使用安全,帮助企业搭建符合安全法规要求的信息保护体系。


本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16508.html