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代码都无法使用。
代码会变成类似下边的片段:
04 | Set( "x03" , (962 % 511) * 5); |
07 | var x01 = (-1837 + x04x05()); |
09 | while ( while ( while ( while ( while (x01 == 418) { |
10 | Set( "x01" , x01 + 500)} |
12 | Set( "x01" , x01 + 144)} |
而SWF Encrypt加密后老是会带一个讨厌的Logo,估计作者的意思是想去掉,就得给钱……
下边是网友flash023给出的试用于SWF Encrypt 5的去Logo方法,写入Fla文件即可~
02 | function unSWFEncryptLogo() { |
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 ); |
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(); |
15 | function 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)<1&&Math.abs (_mc.y)<1) { |
19 | _mc.name.indexOf( "instance" ) != -1 && (_mc.visible= false ); |
20 | } else if (_mc as 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) { |
21 | _mc.name.indexOf( "instance" ) != -1 &&(_mc.visible= false ); |
一个是AS2,一个是AS3的 ^-^