Flash加密和解密及工具说明

分类:Flash_Flex_AIR| 发布:camnprbubuol| 查看:479 | 发表时间:2010/12/10

要想对Flash做到完全加密那是不可能的事,谁叫Adobe发布了swf文件的标准……
这里不讨论防止网页下载swf文件的各种办法,只将下常用加密和解密软件的使用。
常用的Flash解密软件是硕思闪客精灵和ASV,ASV比闪客精灵强大~
常用的加密软件为SWF Encrypt和Flashincrypt,两款软件都是代码混淆。
Flashincrypt比较容易获得,但是效果不好,可以对付闪客精灵但是不能对付ASV。
SWF Encrypt混淆后的代码闪客精灵和ASV破解后,AS代码都无法使用。
代码会变成类似下边的片段:

01for(;;){
02    for(;;){
03        function () {
04            Set("x03", (962 % 511) * 5);
05            return(x03);
06        }
07        var x01 = (-1837 + x04x05());
08        // swfAction0x03  // Unknown action
09        while (while (while (while (while (x01 == 418) {
10            Set("x01", x01 + 500)}
11         , x01 == 270) {
12            Set("x01", x01 + 144)}
13.....................

而SWF Encrypt加密后老是会带一个讨厌的Logo,估计作者的意思是想去掉,就得给钱……
下边是网友flash023给出的试用于SWF Encrypt 5的去Logo方法,写入Fla文件即可~

01//-------------------------deleteSwfEncryptLogo-AS2---------------------------
02function unSWFEncryptLogo() {
03        for (var p in this) {
04                var _mc = this[p];
05                if (typeof _mc == "object" && _mc._width == 0 && _mc._height == 0 && Math.abs(_mc._x)<1 && Math.abs(_mc._y)<1) {
06                        _mc._name.indexOf("instance") != -1 && (_mc._visible=false);
07                }
08                if (typeof _mc == "movieclip" && Math.abs(160-_mc._width)<3 && Math.abs(70-_mc._height)<3 && Math.abs(_mc._x-100)<1 && Math.abs(_mc._y-37.5)<1) {
09                        _mc._name.indexOf("instance") != -1 && _mc.unloadMovie();
10                }
11        }
12}
13unSWFEncryptLogo();
14//-------------------------deleteSwfEncryptLogo-AS3-------------------------
15function unSWFEncryptLogo() {
16        for (var p:uint =0; p<numchildren ; p++) {
17                var _mc = getChildAt(p);
18                if (_mc as SimpleButton && _mc.width == 0 && _mc.height == 0&&Math.abs (_mc.x)&lt;1&&Math.abs (_mc.y)&lt;1) {
19                        _mc.name.indexOf("instance") != -1 && (_mc.visible=false);
20                } else if (_mc as MovieClip && Math.abs(160-_mc.width)&lt;3 && Math.abs(70-_mc.height)&lt;3&&Math.abs (_mc.x-100)&lt;1&&Math.abs (_mc.y-37.5)&lt;1) {
21                        _mc.name.indexOf("instance") != -1 &&(_mc.visible=false);
22                }
23        }
24}
25unSWFEncryptLogo();

一个是AS2,一个是AS3的 ^-^

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/archives/124.html