irrFuscator for SWF
Features
irrFuscator protects the ActionScript 3 source code of SWF and AIR applications by replacing symbols with obfuscated names. This is necessary for a lot of developers because their code gets reverse engineered and stolen above-average often in the flash area.
Two modes of obfuscation
irrFuscator is able to obfuscate:
- Source files, like .as or .mxml files
- Binary .swf files, flash files which are already compiled
In this way, you have full control how and when you want your code to be obfuscated and have to possibility to integrate irrFuscator into your tool chain, be it based on the Flex compiler, the Flash Editor, FlexBuilder or FlexDevelop. The source obfuscation mode is also quite useful when Flex developers need to send the uncompiled source code to a untrusted third party. That’s also why irrfuscator has a built-in whitspace and comment removal system.
Sophisticated Options
irrFuscator supports a lot of features like:
- Deterministic / Indeterministic obfuscation
- Encryption of strings
- Support for SWC files
- Ignoring full packages
- Ignore symbol lists
- Automatic backup file creation
- Copying of image and other media files
- Comment Directives
irrFuscator is also able to reduce the file size of your SWF files by using a higher compression rate and the reduction of symbol name lengths.
Flex and Flash Support
irrFuscator also supports source obfuscation of .mxml and .as files. The following Flex versions are supported:
- Flex 1.0
- Flex 1.5
- Flex 2.0
- Flex 3.0
- Flex 4.0
irrFuscator also supports future Flex versions which can be simply added using the .SWC support mechanism.
Obfuscation Example
The following code demonstrates what irrfuscator does when obfuscating a source code project. The file MapResourceManager.as contains some plain AS3 code:
Before Source Obfuscation | After Source Obfuscation |
|---|---|
| import flash.utils.ByteArray; // a resource manager specialized for maps public class MapResourceManager extends ResourceManager { public static function canLoadResWithIndex(idx:int):Boolean { // if the resource is null, it cannot load return getResFromIndex(idx) != null; } public static function loadResString(idx:int):String { var cl:Class = getResFromIndex(idx); if (!cl) return "error"; // convert the data into a text string with // 'end' suffix. var data:ByteArray = new cl as ByteArray; return data.toString() + "end."; } } // end class | import flash.utils.ByteArray; public class _wm3952 extends _lc4996 { public static function _fi5847(_vr345:int):Boolean { return _ya7618(_vr345) != null; } public static function _dm6121(_vr345:int):String { var _zu342:Class = _ya7618(_vr345); if (!_zu342) return irrcrpt(87, "kzrd"); var _lw654:ByteArray = new _zu342 as ByteArray; return _lw654.toString() + irrcrpt(23, "uzd."); } } |
Download Trial
irrFuscator has Windows and Mac two versioans, please go to download page for a trial:
Download Free Trial | Buy Online
