Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[Juming-Gravity_TrainMe]

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Labyrnth
Moderator
Reputation: 10

Joined: 28 Nov 2006
Posts: 6301

PostPosted: Fri May 09, 2008 11:36 am    Post subject: [Juming-Gravity_TrainMe] Reply with quote

There are 3 things to find:
1. Function, is jumping 1/0
2. Y coord
3. Gravity

Good Luck...
Links:
http://forum.cheatengine.org/files/jumping-gravity_trainme_751.rar
Mirrors:
http://www.speedyshare.com/721570587.html
http://www.mediafire.com/?zlq9x9fmryc



The Extension 'rar' was deactivated by an board admin, therefore this Attachment is not displayed.

Back to top
View user's profile Send private message
Psy
Grandmaster Cheater Supreme
Reputation: 1

Joined: 27 Mar 2008
Posts: 1366

PostPosted: Fri May 09, 2008 2:12 pm    Post subject: Reply with quote

Ok, well...hehe...to help others..heres what I got:

- The addresses in question are stored below the default 32-bit memory range, easily solved by setting CE to scan 'all' memory

- Once that is done, you can set about searching for IsJumping?
It is logical to assume that the variable will be set to one when the box has jumped, and zero when it is on the ground
Simple searches will reveal this

- From there, I went to look for the y co-ord address, I chose to use unknown scans of the float-value type, co-ordinates in games are most of the time stored as 32-bit float values, and 4-bytes apart in structure (which doesn't apply here as there is only one co-ordinate to find)
This scan followed up by changed value scans (or inc/dec, your choice) soon revealed the address, you can test by freezing it, the box should..'jitter' a bit while it is frozen, so you know you got the right addy

- I had already noticed by this point, that the 2 address I already found were seperated by 4-bytes, so I wondered if the 3rd challenge (gravity) would be a further 4-bytes away, I was right... (cheap, I know, but I found it an easy, trouble-free way

Now, we have all the address here, but CE hasn't flagged them as been static. Everytime I load the trainme on my PC, the variables get allocated to the same offsets in memory, but this may not be the case on other peoples machines. There are many types of DMA/code-shifts to consider.

I decided to use a little known technique call 'DMA-Stealing'.
Actually its not little known, its used a lot in bigger things, such as multiplayer multihacks/aimbots and such...usually to grab a base address before an anti-cheat system kicks in, such as punkbuster for example, then store that value into an area of memory that won't be scanned for consistency, some random intro-movie .dll like bink32 or something...
In my .CT there is a little injection that you must first activate.
Once its on, move the box in the trainme app. This will cause my code to run in the cave and dump a pointer to an address of my choice.
Now from here, the pointers and offsets in my CT will activate.
CE will take the stored value I previously 'stole', then calculate the address we need from it. Because the address are not stored a +ve amount from the base, but instead, -ve away from it, I used the appropriate notation in my offset value...easily recognizable by many FFF's at the start.

Check it out.
Hope Lab's TrainMe and this explanation taught someone, somewhere, something Razz Cool


Last edited by Psy on Sat May 10, 2008 3:57 am; edited 1 time in total
Back to top
View user's profile Send private message
Labyrnth
Moderator
Reputation: 10

Joined: 28 Nov 2006
Posts: 6301

PostPosted: Fri May 09, 2008 2:51 pm    Post subject: Reply with quote

CT test fail hehehe: Hit F5 to see image Smile If it doesnt load.


lol.png
 Description:
 Filesize:  1.69 KB
 Viewed:  4523 Time(s)

lol.png


Back to top
View user's profile Send private message
Psy
Grandmaster Cheater Supreme
Reputation: 1

Joined: 27 Mar 2008
Posts: 1366

PostPosted: Fri May 09, 2008 2:58 pm    Post subject: Reply with quote

Did you activate the first code then move the box?...

If so, i'll re-work it sometime...but same method applies Smile
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Fri May 09, 2008 7:16 pm    Post subject: Reply with quote

0012FEDC - Ball position on the Y axis. Doesn't seem to change from computer to computer, tested it on 2 of mine worked on both. (Float value, 260.0 when the ball is on the ground.)

If you want to hook the functions that set this you will need to hook VirualAlloc inside the function at runtime and locate the address that the engine allocates for the script then you can hax up the script code easily.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
nwongfeiying
Grandmaster Cheater
Reputation: 2

Joined: 25 Jun 2007
Posts: 695

PostPosted: Fri May 09, 2008 7:34 pm    Post subject: Reply with quote

I hope you mean that 260.0 is the Y-point to where the box stops after jumping. I just downloaded it, I should finish it within a day or two.

Edit: Basically, what I found were two basic addresses that controlled all jumping. The first address is the Y-point where the box stops at and the second point is where it's return point is [after the jump]. I'll add the other addresses later after I finish all my tasks currently on my agenda(e.g. homework, requested trainer, etc).
Back to top
View user's profile Send private message
Psy
Grandmaster Cheater Supreme
Reputation: 1

Joined: 27 Mar 2008
Posts: 1366

PostPosted: Sat May 10, 2008 3:57 am    Post subject: Reply with quote

Within a day or 2, hehe....5 minutes man...5 minutes.

I updated the CT I did, added in the static address...it seems what I suspected was right. They don't change, and are allocated the same in mem.
Back to top
View user's profile Send private message
nwongfeiying
Grandmaster Cheater
Reputation: 2

Joined: 25 Jun 2007
Posts: 695

PostPosted: Sat May 10, 2008 9:23 am    Post subject: Reply with quote

I have a huge list of things to do which is why it would take me two days.
Back to top
View user's profile Send private message
Psy
Grandmaster Cheater Supreme
Reputation: 1

Joined: 27 Mar 2008
Posts: 1366

PostPosted: Sat May 10, 2008 11:17 am    Post subject: Reply with quote

Check your sig...
Back to top
View user's profile Send private message
Labyrnth
Moderator
Reputation: 10

Joined: 28 Nov 2006
Posts: 6301

PostPosted: Sat May 10, 2008 12:04 pm    Post subject: Reply with quote

[Psych] wrote:
Did you activate the first code then move the box?...

If so, i'll re-work it sometime...but same method applies Smile


To answer you Psych, yes and no. Once attached you cannot check the box Smile

Round 2:
CT Works..... Smile Nice work


Now there is a point being made with this TrainMe as well.
Pertaining the argument about finding Jump 1/0 Vs's Using coords.
For this particular game, you have to use the coords to do a fly hack.
Simply Set the coords and freeze it. Then if i coded it to move around you could be flying left or right. Not to mention also if you would freeze the is jumping address at 1 then you could step jump up higher continually each press of the space bar. Because the variable of the y coord is added to make the object/player each time it is pressed.
The same code can be used in 3d as well. So it all goes back to how the game is coded for what is the proper way to do a jump/fly hack in a game.
A small change in this code could make it where if you set the address for is jumping to 1 then it would make you auto jump.
But in this particular case that doesn't stand to be true.
Back to top
View user's profile Send private message
Psy
Grandmaster Cheater Supreme
Reputation: 1

Joined: 27 Mar 2008
Posts: 1366

PostPosted: Sat May 10, 2008 1:28 pm    Post subject: Reply with quote

I noticed how the freeze allowed an 'addition' whereby you could keep jumping yeah.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites