RABCDAsm Posted on: 06/30/2012 3:12pm
Quote Post
tl;dr - like flasm but works in AS3, like sothink p-code view but editable

Documentation: https://github.com/CyberShadow/RABCDAsm
Download: https://github.com/CyberShadow/RABCDAsm/downloads (.7z file, less than 1MB)

Created by CyberShadow. Robust ActionScript Bytecode [Dis-]Assembler. Probably only works on Windows.

A long time back (in 2009), flasm was widely used on this forum. Now many flash games are in AS3, and flasm was forgotten because it could only modify AS2 files. If you liked flasm, you'll like this.

I'm sure you've used Sothink SWF Decompiler, and looked into its P-Code view. But Sothink doesn't let you change those lines of code. If you had the ability to not only do that, but also add new lines of your own, what could you do? Actually, what couldn't you do? The SWF is at your mercy.

  • Decompiles code, displays it like Sothink's P-Code view.
  • Sothink can crash/freeze/fail. RABCDAsm doesn't. If Sothink doesn't work, this is actually a viable replacement. You can use this to find AoBs usable in Cheat Engine, but you'll need experience with AoBs.
  • Create a modified/hacked swf. I quote the documentation, "Limitations: None known".

I suggest you back up your original .swf files before making changes.
This tool converts .swf files, to .abc files, to .asasm files.
You edit .asasm files with a text editor.
It converts modified .asasm files, to modified .abc files to a modified .swf.

Usage (Decompiling)
  • Download, extract its contents into a folder.
  • Drag any .swf into that folder. Rename your .swf so it has a short filename. Example, "XX.swf".
  • Drag XX.swf into abcexport.exe, giving you 1 or more .abc files. They will be "XX-0.abc", "XX-1.abc", XX being the swf filename.
  • Drag each .abc file into rabcdasm.exe, giving you folders and .asasm files, similar to Sothink's menu on the right.
  • Edit .asasm files with a text editor. I suggest Notepad++.

Usage (Compiling)
  • Open command prompt, navigate to the RABCDAsm folder.
  • Type "rabcdasm XX-Y/XX-Y.main.asasm", giving you a hacked .abc file. Y is a number. If you modified a .asasm file in "XX-0.abc", then replace Y with 0.
  • Type "abcreplace XX.swf Y XX-Y/XX-Y.main.abc", it updates XX.swf with your changes. Y is the same number.

Apologies if I'm unclear, ask and I'll clarify. Of course, many of your questions will be answered by using the tool more.

I wrote this because this tool has helped me greatly in flash modification, and I hope it'll help you as well. Comments are welcome.

Thought I'd share some screenshots, the .swf being modified is from Realm of the Mad God.