CyberShadow / RABCDAsm

Robust ABC (ActionScript Bytecode) [Dis-]Assembler
http://blog.thecybershadow.net/2010/05/05/announcing-rabcdasm/
GNU General Public License v3.0
431 stars 92 forks source link

Added SymbolClass Tag exporter and replacer #12

Closed DmitriyYukhanov closed 12 years ago

DmitriyYukhanov commented 12 years ago

It is useful to have ability to export and replace SymbolClass tag if we wish to use RABCDasm for (de)obfuscation purposes.

Maybe it looks not so nice when we have so much exporters and replacers, and it could be nicer to create one universal exported\replacer, and use then for any tags like: export swffile.swf DoABC export swffile.swf DefineBinaryData etc

But at this moment I'm not sure about this and did separate SymbolClass exported\replacer to add more flexibility and ability to rename any packages and classes.

Could be nice to create SymbolClass parser to make readable text file as output and to convert this file after any changes back to the binary format, but my D skills are not so good, I do this myself in my C# RABCDOb (Robust ABC (De)Obfuscator) project prototype ;)

CyberShadow commented 12 years ago

Is it not easier to simply use SWiX? It lists all such tags nicely in XML and allows editing them, as well.

DmitriyYukhanov commented 12 years ago

The problem with SWiX is I'm already use RABCDAsm as external tool, adding another external tool looks not so cool. And I'm afraid SWiX could fail on new SWF versions since it was last updated in 2010 =(

DmitriyYukhanov commented 12 years ago

Could you please let me know if you have any plans on adding this or something similar for extracting / replacing different tags into the master branch?

CyberShadow commented 12 years ago

No, I think this is a bad way to approach this problem. One can think of a myriad trivial operations on SWF files and ABC programs - they do not deserve each their own program. The source code is structured to make such operations easy, and you are welcome to adapt it to your needs in your personal fork of the project.

I recommend that you find a SWF manipulation toolkit/library written in a language you are comfortable with, and build on top of it.

Also, "SymbolClass" is not the only tag that may contain obfuscated names.

DmitriyYukhanov commented 12 years ago

Thanks, I see, looks like I'll go with fork and write extractors / replacers for all needed tags (yeah, obfuscated names could be found in labels tags and probably some other tags too) for now since I saw no comfortable SWF manipulation library yet (up to date and with both DoABC and other tags edition functionality) =(