Search code examples
iosairflash

Difference between a Flash SWF file and a Flash SWF compiled for use on iOS


SWF files compiled for the Flash & Air (desktop) can be easily de-compiled with off the shelf software.

However, SWF files compiled for iOS are different. The header is FWS, yet the data in the file wont de-compile in any de-compiler.

I am guessing that something happens during compilation for iOS. Does anyone what this is?

Thanks


Solution

  • To the best of my knowledge, you won't be able to do this.

    A compiled AIR for iOS file is cross-compiled to Objective-C. Apple does not allow for virtualized languages in the App Store (which is how AIR for Desktop and Android work), so this was Adobe's solution. They take your AS3/Flex and translate it to Objective-C at compile-time so that at run-time, you are actually running native code.

    So you would have to decompile the Objective-C first. Then you would have to reverse-engineer the entire AIR compiler and write a way to re-translate the decompiled Objective-C back to AS3.

    For the record, any questions about decompiling binaries is generally frowned upon on SO.