>>6830>>6832In that specific case, there were a collection of archived CN Flash games that had all their main assets (game files like code and images) self-contained, but a few were unable to launch. Sometimes they're site-locked (which is why BlueMaxima's Flashpoint has a fake browser included, to trick certain games into thinking they're at home) but this one was just not working. It loaded the loading screen and instructions, but then pressing 'start' did nothing.
When you have compiled code, you can decompile it, a process called reverse engineering. This is how game/software piracy is usually done, decoding part of the binary program back into comprehendable code (manually or automatically) and modifying it. Luckily for me, there are a lot of decent open-source decompiler programs for Flash .sfws so instead of literally messing with 1s and 0s, it will translate the file it into a readable code and show you each of the buttons, images, sounds, frames, with its scripts, animations, etc. You just lose all the comments (and in many cases, meaningful variable names), so "playerHeight = currentHeight + yVelocity" becomes "var1 = var5 + var7", but there are ways you can deduce the purpose of those mystery variables. Like if it checks if var1 < 1 to see if it triggers the "You Lose" animation, var1 is probably the number of lives left. It's like sudoku, the more gaps you complete, the easier it becomes to find the rest (unless you got them wrong). Fortunately, I think Flash games preserve some of the variable names, which made it much easier.
After tracing where the path the code takes after pressing start, it turns out the game was expecting to load an XML file with basic settings (time limit, lives, how many levels there were, is the character dead), but when you clicked start without it, these settings were unknown and the game wouldn't proceed. I just hardcoded some sane default settings (like not being dead when you start the game) and it worked without any issues.
In most real cases, it's harder than this. I've met people who reverse engineer ransomware to see if there are any mistakes in it that can be used to stop it, or to try and discover which group made it. At that stage, you might even find counter-forensic techniques trying to hinder reverse engineering.