10

Reverse engineering SWFs with ActionScript 3 on a Mac typically requires a Windows VM and a lot of copying and pasting. There are some good decompilers for Windows such as as3extractor but I haven't found anything that seems to work on MacOS X.

Does a functional equivalent to as3extractor exist for Mac OS X ?

3 Answers 3

7

Here is a blog URL that lists free SWF Decompilers available. It includes programs for decompiling AS2 & AS3.

Some of the tools listed there include:

  • ActionScript Extractor
  • SWFWire Decompiler
  • JPEXS Free Flash Decompiler
  • JP ActionScript decompiler (ASDec)
  • HP SWFScan, etc.

If you want to disassemble AS3, then I highly recommend SWFDump.

swfdump (part of SWFTools package) will decompile AS3 and will work in Mac as long as you follow the instructions in their FAQ to compile the tool set for Mac.

The current collection is comprised of the programs detailed below:

  • SWFDump Prints out various informations about SWFs, like contained images/fonts/sounds, disassembly of contained code as well as cross-reference and bounding box data.
  • SWFStrings Scans SWFs for text data.
  • SWFC A tool for creating SWF files from simple script files. Includes support for both - ActionScript 2.0 as well as ActionScript 3.0.
  • SWFExtract Allows to extract Movieclips, Sounds, Images etc. from SWF files.
  • AS3Compile A standalone ActionScript 3.0 compiler. Mostly compatible with Flex.
  • SWFCombine A multi-function tool for inserting SWFs into Wrapper SWFs, contatenating SWFs, stacking SWFs or for basic parameter manipulation (e.g. changing size).
  • PDF2SWF A PDF to SWF Converter. Generates one frame per page. Enables you to have fully formatted text, including tables, formulas, graphics etc. inside your Flash Movie. It's based on the xpdf PDF parser from Derek B. Noonburg.
  • JPEG2SWF Takes one or more JPEG pictures and generates a SWF slideshow from them. Supports motion estimation compression (h.263) for better compression of video sequences.
  • PNG2SWF Like JPEG2SWF, only for PNGs.
  • GIF2SWF Converts GIFs to SWF. Also able to handle animated gifs.
  • WAV2SWF Converts WAV audio files to SWFs, using the L.A.M.E. MP3 encoder library.
  • AVI2SWF Converts AVI animation files to SWF. It supports Flash MX H.263 compression. Some examples can be found at examples.html. (Notice: this tool is not included anymore in the latest version, as ffmpeg or mencoder do a better job nowadays)
  • Font2SWF Converts font files (TTF, Type1) to SWF.
  • SWFBBox Allows to read out, optimize and readjust SWF bounding boxes.

SWFTools has been reported to work on Solaris, Linux (both 32 as well as 64 bit), FreeBSD, OpenBSD, HP-UX, Solaris, MacOS X and Windows 98/ME/2000/XP/Vista.

6
  • I used to like Flasm but it is outdated. If you don't have other options you should check it too.
    – tnc
    Commented Mar 24, 2013 at 14:47
  • Yes, I do agree that Flasm is outdated which is why I am recommending SWFTools.
    – rev
    Commented Mar 28, 2013 at 17:43
  • does SWFDump decompile (bytecode) or disassemble (high level syntax) ?
    – Ange
    Commented Mar 28, 2013 at 20:31
  • ange, you are correct. SWFDump disassembles AS3. I have updated the answer to include the list of free decompilers.
    – rev
    Commented Apr 3, 2013 at 17:03
  • @rev is there a way to re-assemble that bytecode after it's been disassembled via swfdump? I'm reading the manpages but feel like I must be missing something.
    – Wyatt Ward
    Commented Jan 27, 2016 at 14:24
5

Commercial:

If you're alright with commercial tools, Sothink's SWF decompiler for Mac should be capable of decompiling AS3 on Mac. I've only used the Windows version but I believe their features should be mostly similar. They have a feature to export FLA from a SWF file which works very well for most cases.

Their product page mentions

Support Flash CS3/CS4/CS5/CS5.5/CS6 and ActionScript 2.0/3.0.

http://www.sothink.com/product/flash-decompiler-for-mac/

Freeware:

I do not know of a good freeware solution. If you'd like to use AS3Extractor on your Mac, you can consider running Wine (install via Homebrew). AS3Extractor also mentions that they have a dependency on Visual C++ 2008 Redistributable Package so do take note!

1

I use https://www.free-decompiler.com/flash/ which is the best software I have seen. It has almost all features you can want. It also comes with a java library which can be handy to automate your workflow.

For a more low-level tool : https://github.com/CyberShadow/RABCDAsm

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.