How to mod .swf file on Android flash games

Hi guys

So today I will teach you how to mod .swf file for CSI Hidden Crimes for Android. The flash games was build with Adobe Flash Professional, based on programming language ActionScript. You just need some basic knowledge of ActionScript


Install SWF decompiler
There are many SWF decompiler softwares on the internet. if you don't know which one, just download and install https://github.com/jindrapetrik/jpexs-decompiler/releases

Open .APK file using Zip Utilities
In this case, I'm using Winrar.

Right click on the APK file, Click on "Properties"

[​IMG]

You will see this window. Click on "Change..."


You will see the window "How do you want to open this type of file (.apk)?". Click on "More options" and click on "Look for another app on this PC"

[​IMG]

Go to the path where Winrar is installed and click "Open". Default location is Local Disk (C:) -> Program Files -> Winrar

[​IMG]

After that, click "OK"

Open the .APK file -> Open "assets" folder and extract the "HiddenCrimesANdroidProd.swf" file to your computer

[​IMG]

Modding .SWF file
Open the "HiddenCrimesANdroidProd.swf" file and the program will start. Note, i'm using JPEXS Free Flash Decompiler.

Before we get started, we need to download playerglobal32_0.swc from https://web.archive.org/web/20220331041226/https://fpdownload.macromedia.com/get/flashplayer/updaters/32/playerglobal32_0.swc. After you download it, go to Settings -> Advanced Settings -> Paths and set the path to playerglobal32_0.swc file


Click on "Tools" -> "Text Search"

[​IMG]

Search the text "get energyCount", "get coins" or "get greenCash" and click OK.

[​IMG]

Let the program decompiling the .SWF file and it should take 15 seconds to finish decompiling (depending on your computer CPU speed). After decompile, you will see this window. Double click on "com.hiddenobject.story.vo.GameProfileVO"

[​IMG]

Now you will see the codes. Find the functions named "energyCount", "coins" and "greenCash" and the code should look like this

public function get greenCash() : int
{
         return getAllCurrencyType("GreenCash").value;
}

public function get coins() : Number
{
         return earnedCoins + boughtCoins;
}

public function get energyCount() : int
{
         return _energyCount;
}

Click on "Edit" the button below.

[​IMG]

A warning message will show. You can continue it


Click on "Edit" button below again, you will see the warning message and click "OK" and now you will be able to edit the code

Change them all to return 999999; like this. DON'T ever forget the ";" at the end of "999999", otherwise the game won't work.

public function get greenCash() : int
{
         return 999999;
}

public function get coins() : Number
{
         return 999999;
}

public function get energyCount() : int
{
         return 999999;
}

[​IMG] 

Save the .SWF file
After you modified the code, click on "Save" button below and the code will be 

[​IMG]

saved. Now click on "File" -> "Save" and it will save modified codes in .SWF file.

[​IMG]


Replace the modded .SWF file inside the .APK file
Open the .APK file with Winrar, open "assets" folder and replace modded .SWF file inside.

[​IMG]

ZipAlign and sign the APK file
Now you have to zipalign and sign the .APK file using any tools, otherwise the APK won't install on your device.

Result and proof
So here is the result. Energy, coins and cash are 999,999

[​IMG]

Credit To:
AndnixSH

Comments

Popular Posts

[Discontinued] VMOS Pro Global/CN Free Custom ROMs | Android 4.4.4, 5.1.1, 7.1.2 | ROOT | Gapps | Xposed | (NO VIP NEEDED)

[TOOL] Unity Assets Bundle Extractor