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 


Got some questions...

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
teknomuffin
How do I cheat?
Reputation: 0

Joined: 15 Apr 2008
Posts: 1

PostPosted: Wed Apr 16, 2008 3:02 pm    Post subject: Got some questions... Reply with quote

I wasn't quite sure where to put this, but I put it here because it's somewhat help. In school, in a computer class, we're doing a presentation project on just about anything to teach the class something. It has to be around 10 minutes long. I know the actual hacking of the games and description and teaching wont be long, so I need some filler information. I'm really looking for these things:

How does the program work? (I'm hoping for some detail on this one, as this can take up quite a few minutes)

What are the different values used for? (4byte, 8byte, exact)

What else can the program do? (In what ways can you hack without using just the value scanner?)

Anything else you guys think I should add in to my presentation would be greatly appreciated. A thanks in advance, and I need the information by 9 PM EST.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 472

Joined: 09 May 2003
Posts: 25870
Location: The netherlands

PostPosted: Wed Apr 16, 2008 4:13 pm    Post subject: Reply with quote

Quote:
How does the program work?

It works by gaining access to the target process's memory either by asking windows using one of it's API's or forcing access to it using CE's driver.

When the memory is available it'll inspect the basics of the target process. E.g: which modules it has loaded, where it's memory starts, the code and data sections, entry point, etc...

How the memory scanroutine works:
It checks how much memory is going to be scanned and which regions (virtual memory means not all memory is allocated, and some memory is useless)
It'll then configure the scanroutine pointer to the proper routines according to the given request. (exact value 1 byte, changed value 2 bytes, etc...)
Then it goes into a loop that for each address that's scanned calls the routine the scanroutine pointer points to. If it returns true, it's a hit so save it to the list

More detailed:
http://ce.colddot.nl/wiki/memscan

fastscan option for the scan: CPU's work optimal when memory types of specific sizes are aligned on a address appropriate for that size. 2 byte value addresses should be on an address than can be divided by 2, and 4 byte addresses should be on an address than can be divided by 4

By default that option is enabled to speed up scanning (e.g 4 byte scans would then only check 25% of the memory instead of 100%) but it can happen that the memory is not on a aligned memory address. (e.g a structure and the author of the program told the compiler explicitly to not align) So in those cases you can disable it.

Quote:
What are the different values used for?

To scan for a particular notation of memory in a binary form.
a 1 byte value can only hold a value between 0 and 255 (or -127 to 128) and 2,4,8 byte bigger values (depending on the type of a value, the interpretation of it can be quite different)

Float and Double for example are distinctly different from the byte types.
Binary scans for values that arn't aligned on a byte boundary


Quote:
What else can the program do?

Speedhack: It manipulates the time request routines a game asks windows so i gives back a time that's slower or faster

Direct3D manipulation: See through walls, zoom in, draw a cursor in the center (if the game doesn't do that) , select textures to move the mousecursor too, make everything bright, and wireframe

Unrandomizer: High level languages often use the same routine when generating a random value. CE's unrandomizer recognizes a few of those routines and replaces them with routines that return what the user want's it to return. (e.g always 1, or always 2, or each call increase by 1)


Direct code editing: You can assemble and run code without restarting the application

And several other inspection tools to find out how the game is build up (disassembler, jump inspector, data structure inspector, pointer scan, pe-header inspector, debug symbol viewing, etc...)


Quote:
Anything else you guys think I should add in to my presentation would be greatly appreciated

Describe how values are stored in memory (binary form to byte, 2 byte, 4 byte, and float and double as bonus)

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine 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