The Fancy Pants Adventures (50 Points)
-migrated-
The Fancy Pants Adventures (50 Points) Posted on: 03/29/2010 8:22am
Quote Post
Brief Description: Platformer.

Playability: Eh. It's very short (only 3 levels), and not so great.

Link to game: http://www.kongregate.com/games/DrNeroCF/the-fancy-pants-adventures

Badges:
  • Easy: Pants Full of Squiggles. Finish a level with 100 squiggles in your pants
  • Medium: Antarctic Assassination Badge. Defeat the evil penguin to put a halt to his sadistic "sleeping in bed" plans
  • Hard: Run Fast, Run Fancy Badge. Complete the entirety of world 1 in 3:00 (180 seconds) or under

Method: Cheat engine

First, let me give a huge thanks to ignored for teaching me the way to use root variables that will be used here. The guide (without technical details) is here.
Second, I should warn that root variable hacking requires more time, nerve and attention than normal hacks.
Third, the arrays that I give you here are examples. In Flash, the addresses change from computer to computer, from browser to browser and even from game to game.

1. Open the game.
2. Open Cheat Engine and select the browser. If you're on IE, it's the second value.
3. Change Value Type to Text. Actually enter the game (be in the first world). Enable Speedhack and set the speed to 0.0 and apply, if you're hacking for the time.
4. Scan for _level0/:Lives. You will get three results. Drop them all down.
5. Change Value Type to Array of Bytes (AoB for short).

Now, look at the first address' value: We can break it down to a group of two digit units. So for example, 0E6039D0 => 0E 60 39 D0 . Now, we reverse that address, making the last unit the first, second last to second and so on. Let's take the above example. 0E 60 39 D0 => D0 39 60 0E .

6. Using this method, reverse the first of the three addresses. Scan for it. IF, and only if you get an address that ends with a C, drop it down. Continue doing this with the second and last addresses you got in stage 4. You should get in the end 2 addresses. I'll treat the first one as x and the second as y.

7. Look at x's last unit. It's a C. In Hex, C=12. We have to reduce that by 7, so replace the C with a 5 and reverse it. So, for example, 09 9F B1 EC => E5 B1 9F 09 . Drop it to the table if it ends with an 8. Do the same process with y. You should have only 1 address now. Let's call it z.

8. Change z's last digit, 8, to a 7, and reverse it. 09 B0 A3 B8 => B7 A3 B0 09 .

9. Scan for it. Drop it to the table and copy its address. Press "Add Address Manually". Tick the Pointer box, and paste the address. In the offset, enter 05. Press ok.

10. Congratulations! You found the root variable! It should be 24, 3*8. Lock it. You now have infinite lives.

Using the same method above, you can also find the timer for the hard badge. The root variable for it is called _level0/:frameCounter. Note, that in step 8 you will get about 150 addresses. It's normally the last one; the only one which value ends with an 8. Play for about two minutes to avoid high-scores, lock it, and have fun.

Note: There is a root variable for squiggles, but the badge can easily be attained by playing normally; you can't get a game over and you don't have to worry about the time. What more do you need?

Also a note: A friend asked me why didn't I just lose lives and scan for the new values*8? As ignored explained, root variables change their address every time they update. So, if I had 3 lives and it lowered to 2, the address of the 2 lives would be different than the address of the 3 lives, and the latter will zero out. If you've tried hacking something and you got this result, it means you tried to hack root variables, and you just can't do it the normal way. What we did here is we made an address that literally points us to the updating address.

KBH Variables: N.A

.Sol Location:
Code: [Select]
chat.kongregate.comgamez000017liveFPA_World_1_point6d.swfThe .sol can only be edited to skip to the last level, or get all the trophies. Not to get any badges.

Video: - N/A