Project Home • Forums • Known Issues • Screenshots • External Project Link • Contact Project
Author: Mateusz Malczak (All RIAForge projects by this author)
swfutils is a collection of ActionScript 3 classes for reading SWF files. With swfutils you can parse swf files, and read all its tags. swfutils provides classes, and examples for dumping AVM1 actions (ActionAcript1/2) and AVM2 actions (ActionAcript3 ABC code). DoABC parsing module is based on code from Tamarin project (utils/abcdump.as).
swfutils has been completely rebuilded. It was also heavily tested in working application. New code is available - visit our svn repositiory. Documentation for new version is already available online under url:
swfutils works with Flash CS3 / Flex / AIR. It uses ByteArray for reading SWF files. In AIR (Desktop), to decrease memory usage, you can work with FileStream classes instead.
What can You do with swfutils
* read compressed and uncompressed swf files
* read swf file basic informations (eq. framerate, document dimesions etc.)
* read all tags defining swf movie
You get an array of al tags so you can read any information you are intrested in
* read all exported classes (ActionScript 3 only).
This informations can be later used in applicationDomain.getDefinition('...').
So You can create instances of exported classes without knowing what is exported.
* extract information from DoABC blocks (compiled as3 code). All classes can be recreated in memory, before importing SWF into Your application. This way You can decide whether or not swf is 'secure' for Your application. Metadata for classes and properties can also be read.
* decompile ActionScript 1/2 action based code
* decompile DoABC (ActionScript 3) code
Features moved to branches (to be implemented in future)
* export shapes (vector content) from swf files (under developement)
* decompile (so called) encrypted swf files (under developement)
* avm1 stack machine
Code is available for download in our public svn repositiory
svn co http://svn.segfaultlabs.com/swfutils swfutils
or explore svn online in browser
There are no issues for this project.
To enter issues for this (or any other) project, you must be logged in.
Adobe and the Adobe product names are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.