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 


updating tables (Overlord example)
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials
View previous topic :: View next topic  
Author Message
killer+bee
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2005
Posts: 85

PostPosted: Tue Jul 03, 2007 2:03 pm    Post subject: updating tables (Overlord example) Reply with quote

Table for Overlord.

Works with Overlord game ripped by *Reloaded*. There is a torrent. Check mininova or the pirate bay.

Updated for v1.2. Works with HATRED update patch 1.2. The old table is still in this message. The new table Overlord-1.2.CT is in another message I posted further down this thread here.



Overlord.CT
 Description:

Download
 Filename:  Overlord.CT
 Filesize:  4.22 KB
 Downloaded:  8620 Time(s)



Last edited by killer+bee on Sat Aug 18, 2007 2:38 pm; edited 5 times in total
Back to top
View user's profile Send private message
hcavolsdsadgadsg
I'm a spammer
Reputation: 26

Joined: 11 Jun 2007
Posts: 5801

PostPosted: Thu Jul 05, 2007 2:02 am    Post subject: Re: Overlord Reply with quote

killer+bee wrote:
Table for Overlord.

Works with Overlord game ripped by *Reloaded*. There is a torrent. Check mininova or the pirate bay.


Works good. Smile
Back to top
View user's profile Send private message
maharaskal
How do I cheat?
Reputation: 0

Joined: 11 Jul 2007
Posts: 2

PostPosted: Thu Jul 12, 2007 2:10 am    Post subject: How does it work? Reply with quote

how to make this CE work? can u give the explanation pls???? thanks
Back to top
View user's profile Send private message
blooddrinkerS
Expert Cheater
Reputation: 0

Joined: 02 Jul 2007
Posts: 120

PostPosted: Thu Jul 12, 2007 3:25 am    Post subject: Re: How does it work? Reply with quote

maharaskal wrote:
how to make this CE work? can u give the explanation pls???? thanks

Its a cheat table you can open it with any engine.
then when you opened it you have to seacrh in the process list to overlord . I dunno what process it is i dun have the game.

_________________
Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 94

Joined: 14 Jul 2007
Posts: 3107

PostPosted: Sat Jul 14, 2007 8:52 am    Post subject: Reply with quote

Hi killer+bee,
how on Earth did You find the location of the Brown imp's health? It's not changing, it's constant.
The reason I am asking is because I would like to find the blue and red imps' health, but I have not clue how to do it when the value is constant.
Thanks.
Back to top
View user's profile Send private message
killer+bee
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2005
Posts: 85

PostPosted: Tue Aug 14, 2007 10:13 am    Post subject: Reply with quote

Thanks all. Glad at least some people appreciate the work.

Far as the value for the browns, dude I worked that for days. Basically I went downstairs to the arena and just fought stuff with my browns over and over while I searched for the decrementing address. Kinda hard when you can't see what the hp is or when it drops so I used an script in ce to break when someone got hit then I'd do my search.
Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 94

Joined: 14 Jul 2007
Posts: 3107

PostPosted: Tue Aug 14, 2007 1:45 pm    Post subject: Reply with quote

killer+bee wrote:
Thanks all. Glad at least some people appreciate the work.

Far as the value for the browns, dude I worked that for days. Basically I went downstairs to the arena and just fought stuff with my browns over and over while I searched for the decrementing address. Kinda hard when you can't see what the hp is or when it drops so I used an script in ce to break when someone got hit then I'd do my search.

You searched for the HP of what? A single imp? How do You know that the imp got hit? (Usually after a few hits it dies...) How did You figure out where the Max_Health_For_An_Imp is stored from that?
What are these scripts You are referring to?
Lotsa questions from a newbie...
Thanks.
Back to top
View user's profile Send private message
BoRed
Grandmaster Cheater Supreme
Reputation: 0

Joined: 24 Apr 2007
Posts: 1176
Location: ╞|ous█

PostPosted: Tue Aug 14, 2007 5:07 pm    Post subject: Reply with quote

I never knew overlord was released yet. Even for the pc.
_________________
I got my old name back.......=)

Working on making website for stealth trainers (almonst done just having technical troubles)
Stealth forums will be down for 8 days or more starting august 2 saturday.
Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 94

Joined: 14 Jul 2007
Posts: 3107

PostPosted: Wed Aug 15, 2007 3:53 am    Post subject: Reply with quote

,.BoRed., wrote:
I never knew overlord was released yet. Even for the pc.

It was: 26th of June, 2007.
See the Overlord web site.
Back to top
View user's profile Send private message
BoRed
Grandmaster Cheater Supreme
Reputation: 0

Joined: 24 Apr 2007
Posts: 1176
Location: ╞|ous█

PostPosted: Wed Aug 15, 2007 7:39 am    Post subject: Reply with quote

Oh. Thanks for the date.
_________________
I got my old name back.......=)

Working on making website for stealth trainers (almonst done just having technical troubles)
Stealth forums will be down for 8 days or more starting august 2 saturday.
Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 94

Joined: 14 Jul 2007
Posts: 3107

PostPosted: Sat Aug 18, 2007 6:00 am    Post subject: Reply with quote

I tried updating this to v1.2, but I have utterly failed.
Anyone cares to update it?
Thank You!
Back to top
View user's profile Send private message
killer+bee
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2005
Posts: 85

PostPosted: Sat Aug 18, 2007 10:53 am    Post subject: Reply with quote

Csimbi wrote:
I tried updating this to v1.2, but I have utterly failed.
Anyone cares to update it?
Thank You!



It should be easy to update. I didn't use normal static pointers. I used pointers derived from code which in most cases are much easier to update after the game has been changed. First of course you need to update the game to 1.2. I used the HATRED update to 1.2 so if you didn't use the same update then (maybe, probably, who knows) might not work. This is all based on code which changes based on who made the .exe. HATRED tags their releases so you can use cheat engine to look at the running game at location 004002A8 and it will say 'HATRED'. You can also hex view the disk file.

I'll probably update the table myself eventually but I really don't have time right now. But I'll take 5 minutes here to give an example of how to update this table. Let's look at the table entry that shows your HP and Mana for the old version. If image shack is being nice today then you'll even get little pictures too. Hope so anyway. I suck at forum posting so I don't know if these pictures will work. Rolling Eyes

The Enable entries for HP and Mana look like this:



Inside of each of these is an auto assembler script. The script is what enables the pointers. So open the script and let's see if it will still work unchanged for 1.2 (hint: probably not). Let's look at the HP script first.



Inside the script you'll see the lines:

*c1*
Code:
005C2609:
jmp newmem2
nop
returnhere2:


I'm gonna dumb this down a lot and by doing so I'm glossing over a lot of details so what I'll say is more illustrative than technically correct.

Anyway, the above tells cheat engine that the hack starts at code location 005C2609. Let's have a look at that location and compare it to what the original code should look like. The original code is also stored in the script and you'll find it directly under the label originalcode2.

*c2*
Code:
fld [esi+0000042c]


So close the auto assemble script for now and hit memory view. There are 3 windows in mem view. Top left window is code, top right is cpu state (wish that showed the floating point registers.. dark byte...), and the bottom window is data. I'm glossing here. In the top left window (code) you want to right click then 'go to address' and put in the mem address from above, 005C2609.

What I get is:

*c3*
Code:
inc edx


Now does that look like the original code? Not even close. Actually this mem loc is so eff'ed up that it is probably in the middle of an instruction. Don't worry about that. Fact is, it's not the same as in the old version of the game so the script, unmodified, won't work. So let's modify it.

Code is nothing more than hex values set into a specific order so that they form instructions. The code above in *c2* is nothing more than the hex value "D9 86 2C 04 00 00". So why do we give a shit? Because duh, cheat engine is the best at searching for hex numbers in the world! That was a little over the top. Anyway it's good at it.

Point being, there is a good chance that the code for the HP and other stuff didn't actually change. It probably only moved. There is also a chance that the code did change. But we're gonna investigate that and see.

Back in the main cheat engine window, we are going to do a array of bytes search. Below is a pic of what I'm talking about.



Notice 2 things. 1: I have hex box checked. We are searching for hex after all. 2: I have 'also scan read-only memory' checked. We're looking for code and code blocks are normally set to read-only. If you don't use this option then you'll likely never find the code. Hit first scan and let CE do it's thing. I get a list of addresses like this:

Code:
005C3029  D9 86 2C 04 00 00
0062F4F8  D9 86 2C 04 00 00
006D4054  D9 86 2C 04 00 00
00759B76  D9 86 2C 04 00 00


Ok interesting. The first entry, 005C3029 is pretty close to what the location was in the old version of the game, 005C2609. It may or may not mean anything but it's good enough for me to want to check that address out first.

So let's memory view again and in the code section goto 005C3029. Hmm... looks pretty good so far. Right click and add to code list. I named it "Looking for HP try 1".



Here comes the easy part. Right click that entry we just made and select "Find out what address this code reads from". Answer yes to the debugger question if you get it. And empty window called "Changed Addresses" will appear.

Now you need to switch back to the game, unpause it and make sure you are somewhere that your hp will be read. Down in the arena is a good place or if you are out on a mission is another good place. Just hanging out in the hall probably isn't good and I'm not sure the hp code will get hit in that area. I'm down in the arena. You don't have to get hit. But pay attention to where your HP is in the bar. Just switch back to cheat engine (alt-tab).

Ok now it's looking really good. We got 1 address. Double click it to move it into cheat engine table and close the 'Changed Addresses' box. The hp value for this game is a float so you need to change the type for the address you just added to float. Right off if the number is a negative or has a strange scientific notation then you'll know this isn't the right code. But our value isn't like that so it's still looking good.

When I looked at my HP bar in game it was full. The float value I have in cheat engine is 411.383262133 (or something like that). So let's change that. I'm going to cut it in half and put 200. Now switch back to the game and see if the HP bar moved. For me it should be 1/2 full now.

Well looks like we got lucky on the first try. My hp bar moved to 1/2 so that tells me we have the right code. It's pretty easy from here. Open the auto assembler script for the HP again and change all lines with 005C2609 to the code we just found for 1.2, 005C3029, then hit ok.

If you want to test the pointer enable then you need to remove it from the group first. When in group, if you enable 1 you enable all and we know for a fact the others aren't fixed yet so the game will probably crash if you enable them. So remove Enable- HP pointer from group 1 and it should go from red to black. Enable just that one. Switch to game then switch back to desktop and the table entry "HP pointer" will have the HP value. You just fixed the first pointer in the table and you're ready to fix the rest. I can't promise the rest will be this easy. If the code did change instead of only moving a bit then you'll have to start from scratch for that entry.

Like I said I'll probably get to this sometime but till then feel free to take what you've just learned and fix the table.

This is probably confusing. Like I said I suck at posting.

edit: fixed the images and other stupid mistakes.
Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 94

Joined: 14 Jul 2007
Posts: 3107

PostPosted: Sat Aug 18, 2007 12:20 pm    Post subject: Reply with quote

That's great - even qualifies for a tutorial I guess.
There is something that I do not understand.
killer+bee wrote:

Code is nothing more than hex values set into a specific order so that they form instructions. The code above in *c2* is nothing more than the hex value "D9 86 2C 04 00 00".

How does one turn instructions into hex code?
How did You get the hex codes from "fld [esi+0000042c]"?
I did not find an built-in (dis)assembler in Cheat Engine at least...
Thank You.
Back to top
View user's profile Send private message
killer+bee
Advanced Cheater
Reputation: 0

Joined: 28 Oct 2005
Posts: 85

PostPosted: Sat Aug 18, 2007 1:15 pm    Post subject: Reply with quote

Csimbi wrote:
That's great - even qualifies for a tutorial I guess.
There is something that I do not understand.
killer+bee wrote:

Code is nothing more than hex values set into a specific order so that they form instructions. The code above in *c2* is nothing more than the hex value "D9 86 2C 04 00 00".

How does one turn instructions into hex code?
How did You get the hex codes from "fld [esi+0000042c]"?
I did not find an built-in assembler in Cheat Engine at least...
Thank You.


Since you'll already have CE open, it's easiest to just use CE. All you need is a safe place in memory. I won't go into a lot of details but the file header contains padding. It's inside this padding that you can paste and assemble stuff just to see what the hex would look like. Normally the header starts at 00400000. For overlord this is true. Some apps won't and you'll have to either allocate some safe play area or find some. I like to use the padding but if you have a hard time then it's easy to allocate some space. To allocate some play space go to mem view. Click tools. Click allocate memory. It will ask how much you want to allocate. The default is fine.

Next it will tell you that it has done what you asked and give you the location as well as ask if you want to make a jmp to the area. Since we just want a sand box to play in and don't want to change the execution path then say No. Another message will pop up just hit Ok. Then it will ask if you want to go there now. We do so hit Yes. You can put anything you want in this area with no fear it will disturb the running program.

You might want to write down the address so you can come back to it again. If you close the game or close cheatengine then your sand box will go away.

That was a bit off topic. Sorry. Finding a sand box or making one is fairly important when assembling stuff at random.

So in the mem view in the code window of your safe area, double click an address. This activates the 'assemble' dialog:



The whole area of our sand box is filled with 0's. But to a computer 00 00 is an instruction. It's the add [eax], al instruction. Don't worry about it. We are going to fill in our own instruction then look and see what the hex turns into. Like I said, everything is hex 0. Another way to write that is 0x0. It tells people we mean hex and not decimal.

I hate writing about this stuff cause I always get off topic. In the assembler box type in your instructions. For example I'm typing in:

Code:
add ecx,[esi+00000204]


Off topic: That's from the minion # script. That script allows you to change the number of minions you can control. You can normally only control like 20 or so minions but you can set it to really big numbers if you want. I find 70 is more than enough but set it to what you like.

You're gonna what to hit Ok. You may get a warning just hit ok. We're in our sand box so no worries. If you look at the code window you'll have your hex.



I hope that was helpful.

edit: For fun you can try changing the hex values after you assemble something to see how it changes the instructions. Remember to do this in your safe area (sand box... whatever).

I went ahead and updated the table for v1.2. But don't let that stop you from learning how to update an old table for new game versions. Knowledge is power.



Overlord-1.2.CT
 Description:

Download
 Filename:  Overlord-1.2.CT
 Filesize:  4.44 KB
 Downloaded:  6171 Time(s)

Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 94

Joined: 14 Jul 2007
Posts: 3107

PostPosted: Sat Aug 18, 2007 2:27 pm    Post subject: Reply with quote

Hmmm. This latter part (manually finding out hex codes) is a bit troublesome. I would be nice if there was a translator there (input a few lines of code and turn into hex chain and vice versa) - I guess it should be added to the wish list or something.
Anyway, I think I fixed all addresses now (attached the new file).
There is one thing though - when I enable the brown invincible hack, sometimes some enemies become invincible, too (I did not find anything systematic there though).
Soul number hacks would be great too (when I tried, I found 6 addresses, 1 of which is the right one, but changing it seems to crash the game).
Thanks a lot killer+bee!!!

Edit:
I noticed that You attached Your updated table - well, I think I learned a lot with this mini-tutorial - so I will I leave this one here, too.
If it possible to extend the "Enable 1HP for all but me" function somehow (care for a tutorial for this, too)?
Thanks again.

Edit2:
Ok, I found something. All Skull Rats become invincible, too when "invincible browns" is enabled.



Overlord 1.2 [HATRED].ct
 Description:

Download
 Filename:  Overlord 1.2 [HATRED].ct
 Filesize:  4.37 KB
 Downloaded:  4214 Time(s)

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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