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 


Cheat Engine and Just Cause 2 [Steam]

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Apache81
Advanced Cheater
Reputation: 5

Joined: 19 Jun 2009
Posts: 69
Location: Somewhere in space !!!

PostPosted: Sat Aug 25, 2012 4:41 am    Post subject: Cheat Engine and Just Cause 2 [Steam] Reply with quote

Hi !!! Smile
The problem is always the same: attacching a debugger (any of the 3... this time I tried them all) to a found memory location, will cause the game crash.
Could you be so kind to tell me if I missed something?
I'm really not able to understand.
I cannot neither find a pointer this way Very Happy

Thanks !!! Smile
Back to top
View user's profile Send private message
Apache81
Advanced Cheater
Reputation: 5

Joined: 19 Jun 2009
Posts: 69
Location: Somewhere in space !!!

PostPosted: Sat Aug 25, 2012 7:28 pm    Post subject: Reply with quote

Ok... I'm doing something else but I'm going crazy !!!

Let me explain: I cannot find the pointers due to crash if attach a debugger so I would like to find everytime by scanning the first value and then get all the others by referring to this first one.

Example:
Code:
1st value = ammo
2nd value = life
3rd value = cash

when instantiated in memory they are in sequence:
Code:
(1) ammo have an address
(2) life is ammo address +8
(3) cash = life address +4 (so is ammo address +8 +4)


It is simple to refer all the address to the first one... but I would like to refer any address only to its predecessor. Why? Because I don't know if I will find a memory value of interest that is the ancestor of the first one I currently found (so I would need to change all the pointers again). If I refer any address only to its predecessor I really need only to set the base address once per playing session.

I hope to not make confusion.

Anyway, I'm doing this:
Code:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

alloc(newmem,2048)

label(_baseAddress_)
label(_partiArma_)
label(_partiVeicolo_)
label(_soldi_)
label(_chaos_)
registersymbol(_baseAddress_)
registersymbol(_partiArma_)
registersymbol(_partiVeicolo_)
registersymbol(_soldi_)
registersymbol(_chaos_)

newmem: //this is allocated memory, you have read,write,execute access

// variabili
_baseAddress_:
   dd 1289361C
_partiArma_:
   dd _baseAddress_
_partiVeicolo_:
   dd _partiArma_+8
_soldi_:
   dd _partiVeicolo_+4
_chaos_:
   dd _soldi_+4

[DISABLE]
//code from here till the end of the code will be used to disable the cheat

unregistersymbol(_baseAddress_)
unregistersymbol(_partiArma_)
unregistersymbol(_partiVeicolo_)
unregistersymbol(_soldi_)
unregistersymbol(_chaos_)

dealloc(newmem)

Yes... I'm going to tell you: this code will never work because, as you can see in the screenshot, the next variables will contain the momery address in which the previous one is allocated by the autoassembler code. Only the first one will work !!!

Better if I write like this...
Now it is:
Code:
_baseAddress_ is 1289361C @ 069F0000
_partiArma_ is 069F0000 @ 069F0004
_partiVeicolo_ is 069F0004 @ 069F0008
_soldi_ is 069F0008 @ 069F000C
_chaos_ is 069F000C @ 069F0010

I would like that it would be:
Code:
_baseAddress_ is 1289361C @ 069F0000
_partiArma_ is 1289361C @ 069F0004
_partiVeicolo_ is 12893624 @ 069F0008
_soldi_ is 12893628 @ 069F000C
_chaos_ is 1289362C @ 069F0010

by doing this I could make a pointer like the one in screenshot2 that will refer automatically to the address I need only setting the value of _baseAddress_ in the script every time I start a game session (by scanning everytime the first value).

Can someone be so kind to help me to achieve this? Smile

EDITED:
I tried a lot of things also in the script like:
Code:
push eax
mov eax,[_partiArma_]
mov [_partiVeicolo_],eax
pop eax

but it doesn't work because I don't have an hacking point so the code is never executed.
I also tried to write
Code:
_baseAddress_:
   dd 1289361C
_partiArma_:
   dd _baseAddress_
_partiVeicolo_:
   //dd _partiArma_+8
   push eax
   mov eax,[_partiArma_]
   mov [_partiVeicolo_],eax
   pop eax

(yes I really did) but it gave me bad result....

If you want I can also post the entire table.

Many many thanks Wink



Screenshot2.png
 Description:
The definition of the only pointer that works !!!
 Filesize:  111.45 KB
 Viewed:  18983 Time(s)

Screenshot2.png



Screenshot.png
 Description:
Screenshot from the table to let you understand better what it's going on....
 Filesize:  101.63 KB
 Viewed:  18983 Time(s)

Screenshot.png


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 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