[Cheat Engine] Array of byte hacking
-migrated-
[Cheat Engine] Array of byte hacking Posted on: 01/01/2011 7:49pm
Quote Post
CE can hack the memory of a game but it can also hack the swf raw code!Its harder to find but once you have done it its very easy to share it and use it again.
(Note: If you understand this BRAVO!)

Need:
Hex translator : http://home2.paulschou.net/tools/xlate/  TAKE THIS ONE!
Cheat-Engine 5.6
A game
Sothink swf decompiler (I'm sure you can get a crack)
Block-Note
Flasm (Can help)
A good brain

This TuT will be separated in 3 sections.
a) How to find an array of byte
b) An Image tut
c) A video



 A:How to find an array of byte.

[spoil]1: I will use this game: Fancy Pants 1 (In the attachment)

2: Open the swf with sothink

3: As example: Choose mainmovie

4: Go in Raw Data

5: Did you notice the numbers above the text? These numbers are an array of byte!

(broken image removed)

Next step : Edit these arrays of bytes...[/spoil]
B) TuT about Array of byte hacking (2 way)

This is an example! With this method you can make a temporary prehack (so you can hack any online game).  
[spoil]You can edit anything with this method.  (ie : Change the start gold like in a prehack).

In this 1st tut I will hack the death in fancy pants 1.

1: I will use fancy pants 1

2: Open the swf with sothink

3: Go in raw data

4:  Normally you need to search to find the "good" code, not in this tutorial.  8)

5: Go in sprite 796 (under mainmovie) Note: Not everything is in the mainmovie  :grin:

6: Search for "lives" (because , in this game, you die when you have no lives left and "lives" is the correct variable)

7: You should find this code:
Code: [Select]
_push register1 "Lives"
//4e
_getMember
//96 09 00 06 00 00 00 00 00 00 00 00
_push 0
//49
_equals2
//12
_not
//9d 02 00 35 00
_if true goto #61
//96 04 00 04 01 08 0a

This code mean : When lives (_push register1 "Lives") = 0( _push 0) you die!
Picture: http://imm.io/20jy

8: Copy 96 09 00 06 00 00 00 00 00 00 00 00 49 12 9d 02 00 35 00  in block note. (the array of byte of this code)     (Note: You need that later)

9:We don't want to die so we must change _push 0 by "_push 5" (So the character will die if he have 5 lives left.)
To do this we gonna use the hex translator!

By experience : 96 09 00 06 00 00 00 00 00 00 00 00 these red numbers mean the number (In [ DEC / CHAR ]).

So the new array will be 96 09 00 06 05 00 00 00 00 00 00 00  Why?.... Picture: http://imm.io/20jD  (Save this new code under the old in bloc-note)

10: In bloc-note you should see this:
 (broken image removed)

11: Open CE , choose the right process and in "values type" choose "arrays of bytes"

12: Search with the old array of byte , you should see 1 result.

13: Double click,DON'T FREEZE THE ADRESS!, replace the old array by the new array
Image: http://imm.io/20k3

Now even if you have 0 lives left , you can't die![/spoil]



Video:

http://www.youtube.com/watch?v=ypmtf1BOcIc

Tump up (broken image removed)
Re: [Cheat Engine] Array of byte hacking Posted on: 01/01/2011 8:40pm
Quote Post
[spoiler=Ranting:2345jfk9]"CE can hack the memory of a game but it can also hack the swf raw code!"

By changing the Array of Bytes (raw code), you change the memory of the game Sherlock. Shows that you don't even know what you are talking about. You probably don't even know that Flasm can only be used to hack AS2 games. Anyway, there are already plenty tutorials on this, you provided nothing new, besides the fact that your tutorial has a shitty format.

But at least you tried, I guess. :roll:
Re: [Cheat Engine] Array of byte hacking Posted on: 01/01/2011 9:49pm
Quote Post
Quote from: "Demut"
You probably don't even know that Flasm can only be used to hack AS3 AS2 games.
Fix'd
Re: [Cheat Engine] Array of byte hacking Posted on: 01/01/2011 9:55pm
Quote Post
Quote from: "Derek"
Quote from: "Demut"
You probably don't even know that Flasm can only be used to hack AS3 AS2 games.
Fix'd
Whoops, thanks for fixing the typo. "2" and "3" are so close to each other, lol.
Re: [Cheat Engine] Array of byte hacking Posted on: 01/01/2011 11:21pm
Quote Post
TIM the Enchanter
Level: 1
ADR Info
Quote from: "dberube4"
Tump up (broken image removed)

OK...

Anyway, you are not hacking the actual SWF.  If you change something with CE, can you save it into the SWF so you can redistribute it? As far as I'm aware you can't.  Sure, you could save the Array of Bytes and send that off, but you will still have to use CE to make the change.  Why?  Because you are altering your system's memory, not the actual game file.




Everything's coming up KongHack!

"When you know nothing matters, the universe is yours" ~Rick Sanchez

Re: [Cheat Engine] Array of byte hacking Posted on: 01/02/2011 12:10am
Quote Post
Quote from: "The Ignorant Masses"
If you change something with CE, can you save it into the SWF so you can redistribute it? As far as I'm aware you can't.
You can use SWFdump to dump it from memory.
Re: [Cheat Engine] Array of byte hacking Posted on: 01/02/2011 12:34am
Quote Post
Quote from: "Demut"
[spoiler=Ranting:74pdpun9]"CE can hack the memory of a game but it can also hack the swf raw code!"

By changing the Array of Bytes (raw code), you change the memory of the game Sherlock. Shows that you don't even know what you are talking about. You probably don't even know that Flasm can only be used to hack AS2 games. Anyway, there are already plenty tutorials on this, you provided nothing new, besides the fact that your tutorial has a shitty format.

But at least you tried, I guess. :roll:

Thanks for your rating mrs 3 post.
Re: [Cheat Engine] Array of byte hacking Posted on: 01/02/2011 12:47am
Quote Post
TIM the Enchanter
Level: 1
ADR Info
Quote from: "Derek"
Quote from: "The Ignorant Masses"
If you change something with CE, can you save it into the SWF so you can redistribute it? As far as I'm aware you can't.
You can use SWFdump to dump it from memory.
Wait, WHAT?  I thought SWFdump just located the file's location and saved it, as opposed to converting a block of memory to an SWF.  Still, it's not CE doing it.  (broken image removed)




Everything's coming up KongHack!

"When you know nothing matters, the universe is yours" ~Rick Sanchez

Re: [Cheat Engine] Array of byte hacking Posted on: 01/02/2011 12:48am
Quote Post
Quote from: "dberube4"
Thanks for your rating mrs 3 post.
Quantity != Quality

Example: Derek vs. tookie

tookie: 1199 posts, 28 karma
Derek: 503 posts, 112 karma

tookie has an average 0,023 karma per post, while Derek has an average 0,224 karma per post. A good example that quantity doesn't equal quality, regarding posts on a board.

Anyway, you shouldn't act butthurt if someone gives you critism, accept it and everything is fine. If the other people think that your tutorial is awesome, you can be happy about that.
Re: [Cheat Engine] Array of byte hacking Posted on: 01/02/2011 3:25pm
Quote Post
Good tutorial.

Some constructive criticism:
Code: [Select]
//96 09 00 06 00 00 00 00 00 00 00 00
_push 0

96 - push opcode
09 00 - length of the data being pushed, 9 bytes.
06 00 00 00 00 00 00 00 00 - 9 bytes that are being pushed
06 - code for IEEE double value
00 00 00 00 00 00 00 00 - the actual double value saved in a strange way.

You change 00 to 05, this would have been correct if you were pushing an integer (code 07), but you are pushing a double (06).

If you want to replace 0 with a 5 here is what I would do:
1. Convert 5 to an IEEE double using http://www.binaryconvert.com/convert_double.html
Code: [Select]
5 = 4014000000000000
2. Split the converted value into two equal parts
Code: [Select]
40140000 00000000
3. Invert each part
Code: [Select]
00001440 00000000

The final value is what you want:
Code: [Select]
96 09 00 06 00 00 00 00 00 00 00 00 =>
96 09 00 06 00 00 14 40 00 00 00 00

_push 0 =>
_push 5

More info on all of the above: http://www.m2osw.com/swf_action_pushdata
Re: [Cheat Engine] Array of byte hacking Posted on: 01/03/2011 3:39am
Quote Post
byte order... that... well thats just nice (broken image removed) lol idk ive always wanted to learn how to do AoBs...maybe ill give it another shot (broken image removed)