混淆一个很常用的手段就是将一些无用的指令随即的加入到程序中。这样,既不会影响程序运行速度, 又可以达到混淆目的了。先看看效果:
这个是没有注入随机用反编译工具看到的代码:
public static function reverse(param1:String) : String { var _loc_2:String; while (_loc_3– >= 0){ _loc_2 = _loc_2 + param1.charAt(param1.length–); } return _loc_2; }// end function这个是注入指令后看到的代码:
public static function ?(:String) : String {;
return null;
var _loc_2:String;
;
return ;
;
return null.length–;
var _loc_3:String;
while (_loc_3– >= 0){
;
return ;
;
return _loc_3;
_loc_2 = null + null.charAt(_loc_2);
;
return null;
}
return _loc_2;
}// end function
很多时候代码还会触发编译器异常并关闭软件。可以在DoSWF里面尝试一下…
我喜欢…XIXI~