THIS IS NOT EASY.
THIS IS TIME CONSUMING.
THIS REQUIRES A LITTLE KNOWLEDGE OF CODE AND A LITTLE LUCK.
If that turns you off, just forget about it and leave it to those of us who have the time and/or like doing this sort of thing for fun. This guide is written with the preconception that you already know what AoB's are, and how to use them with CheatEngine. If you do not, check out the guides in my signature, and if those do not answer your questions, google it first, then ask.
Programs you'll need for this tutorial:
1. FireFox and / or Chrome
3. any Flash Decompiler, I'll be using SoThink SWF Decompiler in my examples.
4. a decimal (normal numbers) to hexadecimal (the code you see when you use an AoB )converter
I'll be showing you how to do this with Neopets, but the process is pretty much exactly the same for any flash game out there.
For example, I used this to post my Icepets AoB guide here: http://clraik.com/forum/showthread.p...-ICEPETS-AoB-s
The first step, once you have the programs listed installed on your computer, is to learn how to download the .swf files, the games themselves, from Neo. There are 3 ways I know of to do this.
How to download a .swf file using Firefox: (2 methods)
6. Type "swf" into the search bar that just popped up.
7. Look for the swf that has a similar format to: images.neopets.com/games/g###_v##_#####.swf
Every game has a different set of numbers in those positions, but the URL for all the SWF's you want will look just like that.8. Copy the whole URL for your SWF and paste it into another browser tab. The game itself should load.
If a popup comes up asking you for log-in info, just click cancel and ignore it.9. On the tab you have your actual SWF file open in hit ctrl + S, or use the dropdown menu at the top left corner of the browser and select "save page as" and save the file to wherever you want.
FIREFOX METHOD #2
This one doesn't work all the time, but when it does, it's the easiest method available IMO.
1. Install Firefox
2. Install the add-on "SoThink Flash Downloader for Firefox" (this should come with your download for the SoThink flash decompiler I mentioned you're going to need.)
3. Navigate to any Neopets game, and open the game as if you're about to play it.
4. An icon should appear in the top left corner of the game itself as it's loading that has a SoThink emblem & a downward pointing arrow. Click on that icon and you'll automatically download the SWF file you want.
The icon looks like this:
with an arrow.
How to download a .swf file using Chrome:
This one's a little more involved, so I avoid it when I can.
4. Once the inspect element window pops up, press ctrl + F to bring up a search bar, and type swf in the search bar.
5. look for the swf URL that looks like this: images.neopets.com/games/g###_v##_#####.swf every game will have a different set of numbers in place of those values.
6. Copy that URL into another browser tab and save that page.
7. I don't use Chrome normally, so I don't know how to save the actual file without pasting the URL I got from Chrome into a Firefox tab and using firefox to save it. +rep to anyone that can contribute how to do this without switching browsers.
NOW that we have our SWF file downloaded, open up SoThink SWF decompiler.
1. If it's not already there when you open the program, go to the top, and click "view" and then click "explorer."
2. Using the explorer in SoThink, navigate to wherever you saved your SWF file(s) you just downloaded, and open the one you want to try to find AoB's for.
3. You should see this:
4. With the SWF you want opened from the explorer, you should see another explorer like window on the right. This is all the code for the game.
5. Click the little +'s to open the files until you see one that says "action" or "main" or "mainmovie." You will see a lot of code in the middle of the screen, and that's how you'll know you're probably in the right place.
Now, here's where it's really important you know how the game you're working with is actually played. What you'll want to know about the game will depend on what you're looking to change with your AoB's.
If you want to change how many lives you start with, you'll need to know if you start with 3 lives, 5 lives, etc. If you want to change the point value for an item, and instead of getting 5 points for something, make yourself get 100 points for it... etc.
6. Look through the code in the main file until you see something that looks like it might refer to what you want to change. IE: look for something that says "lives" or "points" or "time" etc.
7. Once you THINK you have something you want to change, click on the section it's found in on the right (the icon that's circled in the following picture:
And then click on "raw data" at the top of the program. (also circled in the above image).
8. This will bring you to a screen similar to what you see in the middle section that lists the codes that look like what you all know as AoB's.
9. The "AoB's" are the strings of numbers above each line of text. Changing the string of numbers above each line of text is what tells the game to do whatever is in that text associated with those numbers. (or to do whatever you change it to!)
HOW THE HELL DO I KNOW WHAT TO CHANGE WHAT NUMBERS TO?!?
The answer to this is where it gets complicated. This is where you need to know a little bit about code & need a little bit of luck.
Let's say we're looking to change the point value of picking up an item in the game from the "normal" 5 points, to it giving us 100 points when we get that item.
We can search for "score" or "points" or "pts" or "playerscore" or something along those lines followed by the number "5" OR even the number "5" in hexadecimal (which is 05).
Here's where that hex-converter I linked at the beginning can come in handy. Don't know what 1,000 is in hexadecimal? It's not 1,000. It's 3e8.
For our purposes, if you're looking for something using a hexadecimal value, and it's an "odd" numbered value (has 3, 5, 7 digits to it) such as 3e8, you'll add a zero to the beginning. So 1,000 is actually 03e8.
You'll also notice, all the bytes are separated into blocks of 2 digits. Yours should be too. So, separated, it would be 03 e8.
Here's where they really screw with you... Your value could also be reversed! You could be searching for something related to 1,000 points, and be searching for "03 e8" - but you might also have to search for "e8 03".
Confused yet!? Here's an example:
This is a string of code from the game Hubrid's Hero Heist, viewed in the "raw Data" format:
//96 12 00 07 64 00 00 00 08 39 08 3a 08 3a 07 04 00 00 00 08 3b
_push 100 "Common" "Turnip" "Turnip" 4 "PickupItemObj"
96 07 00 07 01 00 00 00 08 01
_push 1 "gGame"
See where it says Turnip & 4? In this game, a Turnip is an item you can pick up, It's failry common, and it's worth 4 points normally. (not every game is this easy to find what you're looking for! Be inventive!)
Since I know a turnip is worth 4 points, and this SEEMS to be the code that controls the amount of points it's worth... we want to change this.
How do you know what to change it to though?!
Use our hex converter...
4, in hexadecimal is 04, and we want to edit the code that tells us how many points we get for picking up a turnip, which is 96 12 00 07 64 00 00 00 08 39 08 3a 08 3a 07 04 00 00 00 08 3b.
See the 04 in that code? That's PROBABLY what makes it worth 4 points. Let's change that value.
Enter the code, exactly as you see it into CheatEngine, with your game open, like you were going to normally use it. Notice if CE gives you any results. If it gives you a whole ass-ton of results, you probably need to be more specific. Try including one line of code, either up, or down from the one you want to change. Often there are what are called "place holders" that will be used for nothing else to identify a specific section of code. These will help you find what you're looking for.
Once you have a rather limited set of results in CheatEngine (one result is USUALLY ideal, but not always) Try changing something. (if you actually search this particular string of code in Hubrid's Hero Heist, you only recieve one result)
So Our AoB to change the value of a turnip in this game to 100 points, instead of 4 would look like this:
96 12 00 07 64 00 00 00 08 39 08 3a 08 3a 07 04 00 00 00 08 3b ->
96 12 00 07 64 00 00 00 08 39 08 3a 08 3a 07 64 00 00 00 08 3b
Notice the only part we changed was the 2 digits in red? This is an extremely easy example. Use your imagination, know your games, and who knows what you could find?!
Please keep any & all questions limited to posts on this thread. I don't mind helping you guys out, but I don't want my inbox flooded with questions that other people could possibly benefit from as well.