top of page
Search
marliningemiem4

HACK ActionScript - SWF Compiler: Master the Art of Flash Hacking



In your comments there are some approaches to edit on byte level. This requires advanced hacking and debugging tactics. Lots of this has to do with basic research which is based on adapt the source code in tiny steps, compile, compare the resulting code.


However when I read "...then edit original scripts..." in your question I wonder if you got the whole point:You edit your code in text format. You compile your text code into binary data which does not at all contain any of your original textual source code. Well more precisely, nothing eventually except data values (if this is not compressed). Decompilation could potentially transform the binary back into actionscript or other languages - BUT for the price of having sense less function and variable names and also sometimes also less meaningful algorithms (due to code optimization at compile time).




HACK ActionScript - SWF Compiler



This post is meant to raise awareness for the vulnerabilities of Flash-based applications. It is not a hacking tutorial or how-to. For that reason, I will not describe all steps in great detail, but only sketch the basic steps.


Flash applications are similar to normal Windows/Linux executables: Like normal programs, their source code is compiled to a binary format and later executed on the client machine. The major difference to .exe or Linux binaries is that decompiling is a lot easier: while a C or C++ compiler translates the source code into machine code, i.e. CPU instructions, SWF files contain the ActionScript code in plain text. That is with the right tools, extracting the complete code is a no-brainer!


Using the SWF Decompiler software (trial version is sufficient), the savescore.swf can be examined very closely. Most of the applications are not very complex and the relevant code pieces are found very easily.


Hi philip,i am trying to hack a flash game (maze) before i was able to edit the headers and change the score before re-sending, but now whenever i change the score above a 1600 when i resend the page redirects to google.com and the score doesnt change. while before i could change it to any number i want. any help on this?


Hey,If a game does show anything in networks than how can we maniplute that game i mean how can we hack it.As there is no client server communication so how do we make change in front end manually.There is one game path to success for that can you tell me please.


Hey Philipp, thanks for this tutorial. While it is from 2012, I still find this useful for hacking flash games. One quick question, lets say I hacked an online flash game and gave myself 10million coins, would the coins only be visible on my side or can I actually spend them in the store?


In order to examine or alter SWF files, they must first be extracted from the UPK files they reside in. For that decompilers are useful. There is, however, and proven manual method described below in the Separate Content section.


It's possible to use the generic resizing capability within the tool [UPKmodder] on an actionscript object to add additional actionscript / sprites without having to remove code from other portions. I think this is definitely a case where the "expand-in-place" approach is superior as some of the flash objects (as in UPK-level objects) are quite large.


Not only does this allow for easier modifying of the actionscript components, but also for adding additional sprite data. This method could even be used to add additional image / icon data, or to modify compressed imagery (where the replacement won't be the same size as the original).


The JPEXS decompiler supports a limited amount of editing. Currently it is limited to editing the stack-level commands (push, pop, etc) as opposed to the higher-level C/java style code (there is beta version of that editing capability, but it isn't working yet).


If you are familiar with actionscript hex, you'll recognize that the FF 09 at the beginning marks the beginning of a flash-level object block, and the next 4 bytes are the size of the object, which is changing from A4 to BC. This matches with the RESIZE operation amount of 18, as 0xA4 + 0x18 == 0xBC.


At any rate, in order to resize an actionscript object both of these values must be adjusted. Since the current RESIZE operation in UPKmodder only allows a single hex change, if this header is separate from the change (quite likely), it would require a second-pass modification.


An SWC file is a package of precompiled Flash symbols and ActionScript code that allows a Flash or Flex developer to distribute classes and assets, or to avoid recompiling symbols and code that will not change.[1][2] SWC files can be generated by the Adobe Flash Professional authoring tool, and by Flash Builder (or its companion compiler MXMLC).[3] They are sometimes referred to as class libraries and cannot be directly executed by the Flash Player.


SWC code libraries are typically included in an ActionScript 3 project, and compiled into the final SWF file alongside the developer's program, by the ActionScript 3 compiler. Only the classes that have been used by the project (and their dependencies) are transferred into the resulting SWF file.


SMFE actually tried to hack the actionscripts of SMF1 and 2 but since they were obfuscated so it didn't work. A SMFE user by the name Beglegeg made a SMF hack in 2012 but never told any of his methods of hacking.


On April 14th, 2013, a SMF user named SPF180 hacked SMF using Sothink's SWF Decompiler. That night he hacked SMF1 by adding the song, 'Good Time' by Owl City, a random forest background, and MS-Paint title. He posted the level on Pouetpu-Games with the title 'Super Mario Flash Custom Music and Background'. Next day, BrokenAce and others were impressed but questioned SPF180 if he can do the same to SMF2. After that, he posted a guide on how to hack SMF, in which wasn't any good and then a SMF user, Muth, replaced all the backgrounds in SMF2 with a horrorish theme releasing the hack as 'Super Mario Muth' .


Then, many famous SMF users such as BrokenAce and PTC14 (Popthatcorn14) made hacks then people used such hacks to make levels. 7SuperMarioBros7, another famous user, also made a hack. Both Popthatcorn14 and SPF180 raced to add Luigi in SMF, both released their own demos. The differences between the demos: SPF180's Luigi was just textured-swapped Mario while Pop's Luigi was skinnier and different animations also was from Super Mario All-Stars.


Main reason of hacking was making custom backgrounds. Pouetpu released SMF2 2.1 which features Custom BGs are ready in the game. BrokenAce tried many months to hack the scripts but failed. SPF180 decided to hex-edit the game which after decompressing it you can modify the text in a limit which in return we used to remove Pouetpu's copyright. So PTC14 and SPF180 skyped call each other, they started talking about SMF Enhanced and the 365 lives. PTC14 tried to find the line saying 365. SPF180 open it up in SWF Decomp. and finds it is the actual code inside. SPF180 deobfuscates it. By end of the year, we can hack the text and script without a limit but with bugs. After that it pretty much it was dead. SPF180 did release the AS Toolkit on the smf hacking site. Basically, SPF180 was working on SMF3 and SMF2.5. Then at E3, Nintendo announces Mario Maker which replaces any NSMBU/NSMBDS/NSMBWii/SMW hacks and BrokenAce's plan to make classic SMF. But since there might be DLCs and updates, Nintendo threw a punch at Pouetpu. Currently. the only hack know to being worked on is SMF2.5 by SPF180. It'll be based on Yoshi's Island and will be out in 2015 if Mario Maker doesn't have a Mario Maker Yoshi's Island DLC.


Finally, markeyruiz97, on his website, released an article about one of the programs employed on making hacks, taking advantage of the fame of hacks; placing the info of the program (Sothink SWF Decompiler) and the page links to another where users can download the full program with crack. This made users to get more interested and to begin to work on hacks.


On April 6th, 2015, Popthatcorn14 (looking at the excessive usage of hacking) wanted to stop making Rainbow Edition (a hack called by him "7 hacks in 1") worrying if some players, having a lot of hacks, would not play the hack after all.


During the middle of April 2015, there were registered two joke hacks which got a bad reception from other users, and (by reasons of professionalism) the real hackers requested to don't place them on this wiki and to not use them for level purposes, otherwise there would be levels with bad rates.


I can edit/create .swf, export them, and re-import them in SoThink without problems (I just have a clip, no actionscript, it's to create new perks clips), but for some reason the game won't load them.


I'm using JPEXS Free Flash Decompiler to inspect Skyrim swf files but I still never tried to compile them back. Whatever you find about this issue, please report your findings here as many people should be interested in how to deal with these files.


Actually, you might need both for perfectly designed UI mods, as some part seems to be compiled with the CS4 compiler (all of the vanilla Skyrim UI if I'm not mistaken) however a few features from SkyUI are built with CS6 in mind. For FO4, there is both CS4 and CS6 files (it seem that only those containing ActionScripts are in CS4. PerkClip like I was trying to edit are in CS6).


The 1) seem to be easily doable with SoThink SWF Decompiler. While yesterday's experience with SoThink Quicker (the actual editor) wasn't satisfying, it seem that this decompiler is the most recommended wherever I look.


If not direclty accessible, the 2) is a bit more complexe. Most powerful decompilers I read about are RABCDAsm, which I haven't gotten to work yet, so I'm not sure of the output (the readme seems to mention some kind of assembly-like format specific to ActionScript named ABC) , and Flare which will dump the whole project in a single text file that you'll have to re-organize as an actual ActionScript project. 2ff7e9595c


1 view0 comments

Recent Posts

See All

コメント


bottom of page