加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swf加密解密常见方式分析

发布时间:2020-12-15 07:07:02 所属栏目:百科 来源:网络整理
导读:swf加密常见的方式是对swf二进制数据流加进一些数据,然后生成一个加密后的swf。 swf解密常见的方式是对加密后的swf二进制数据流,删除那些加进来的数据,就得到了未加密的swf. 代码示例: Encryption.as,加密; package { ?? ?import flash.display.Loader;

swf加密常见的方式是对swf二进制数据流加进一些数据,然后生成一个加密后的swf。

swf解密常见的方式是对加密后的swf二进制数据流,删除那些加进来的数据,就得到了未加密的swf.

代码示例:


Encryption.as,加密;

package
{
?? ?import flash.display.Loader;
?? ?import flash.display.Sprite;
?? ?import flash.events.Event;
?? ?import flash.filesystem.File;
?? ?import flash.filesystem.FileStream;
?? ?import flash.net.URLLoader;
?? ?import flash.net.URLRequest;
?? ?import flash.utils.ByteArray;
?? ?
?? ?public class Encryption extends Sprite
?? ?{
?? ??? ?private var _url:String="assets/init.swf";
?? ??? ?private var urlloader:URLLoader=new URLLoader;
?? ??? ?public function Encryption()
?? ??? ?{
?? ??? ??? ?loadSwfs();
?? ??? ?}?? ??? ??? ?
?? ??? ?
?? ??? ?private function loadSwfs():void
?? ??? ?{
?? ??? ??? ?urlloader.load(new URLRequest(_url));
?? ??? ??? ?urlloader.dataFormat="binary";
?? ??? ??? ?urlloader.addEventListener(Event.COMPLETE,completeHandler);
?? ??? ?}
?? ??? ?
?? ??? ?private function completeHandler(event:Event):void
?? ??? ?{
?? ??? ??? ?urlloader.removeEventListener(Event.COMPLETE,completeHandler);
?? ??? ??? ?var bytes:ByteArray=event.target.data as ByteArray;
?? ??? ??? ?bytes.position=bytes.length;
?? ??? ??? ?trace("bytes:",bytes.length);
?? ??? ??? ?bytes.writeBoolean(true);
?? ??? ??? ?trace("bytes.length:",bytes.length);
?? ??? ??? ?var file:File=new File;
?? ??? ??? ?file.save(bytes,"encryption.swf");
?? ??? ?}
?? ?}
}


Encryption.as,解密;

package { ?? ?import flash.display.Loader; ?? ?import flash.display.MovieClip; ?? ?import flash.display.Sprite; ?? ?import flash.events.Event; ?? ?import flash.net.URLLoader; ?? ?import flash.net.URLRequest; ?? ?import flash.system.LoaderContext; ?? ?import flash.utils.ByteArray; ?? ?import flash.display.LoaderInfo; ?? ? ?? ?public class Decryption extends Sprite ?? ?{ ?? ??? ?private var _url:String="assets/encryption.swf"; ?? ??? ?private var urlloader:URLLoader=new URLLoader; ?? ??? ?public function Decryption() ?? ??? ?{ ?? ??? ??? ?urlloader.load(new URLRequest(_url)); ?? ??? ??? ?urlloader.dataFormat="binary"; ?? ??? ??? ?urlloader.addEventListener(Event.COMPLETE,completeHandler); ?? ??? ?}?? ??? ??? ? ?? ??? ? ?? ??? ?private function completeHandler(event:Event):void ?? ??? ?{ ?? ??? ??? ?var bytes:ByteArray=urlloader.data; ?? ??? ??? ?bytes.position=0; ?? ??? ??? ?trace(bytes.length); ?? ??? ??? ?var decryBytes:ByteArray=new ByteArray; ?? ??? ??? ?bytes.readBytes(decryBytes,bytes.length-2); ?? ??? ??? ?trace(decryBytes.length); ?? ??? ??? ?var loader:Loader=new Loader; ?? ??? ??? ?var context:LoaderContext=new LoaderContext(); ?? ??? ??? ?context.allowCodeImport=true; ?? ??? ??? ?loader.loadBytes(decryBytes,context); ?? ??? ??? ?loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadSuccess); ?? ??? ?} ?? ??? ? ?? ??? ?private function loadSuccess(event:Event):void ?? ??? ?{ ?? ??? ??? ?this.addChild(LoaderInfo(event.target).loader.content); ?? ??? ?} ?? ?} }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读