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 


how to run memory to populate addresses created by AOB code?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Ali0100
Newbie cheater
Reputation: 0

Joined: 21 Feb 2020
Posts: 10

PostPosted: Fri Feb 21, 2020 5:35 pm    Post subject: how to run memory to populate addresses created by AOB code? Reply with quote

hello, ive been learning about aob recently in making my trainer but i am a bit stuck.
i have added aob to memory this is a snip of my auto assemble
Code:

globalalloc(base1,4)

newmem:

code:
  mov [base1],ebx
  mov eax,[ebx+000001D4]
  jmp return


in the address list, i have saved a pointer with base1 along with the offset which results in a ?? for the value, even when the aob script is running. the only way it seems to get this ?? to turn into an actual value is to trigger the part of the game that runs the memory first( after the trainer has loaded up, the game can have loaded that memory previously but still ?? as the trainer loaded after), t hen its fine and the value updates automatically.

the issue is for my trainer i am performing calculations on this value, which would require one to run the trainer then have to trigger the specific part of the game that runs that memory.
so i was just wondering if there was a way to run this memory through cheatengine so that the value can immediatly generated/value that oab makes can be made. thanks
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4702

PostPosted: Fri Feb 21, 2020 11:02 pm    Post subject: Reply with quote

It's possible, but not practical. Even if you could figure it out, you wouldn't need to as you'd have a better way of getting the address.

Test to see whether or not it's good before using it. e.g.:
Code:
mov eax,[base1]
test eax,eax
jz notAssignedYet
  mov ecx,[eax+1D4]
  // ...
notAssignedYet:
jmp return

Or just not allow the scripts to run at all if it's not populated:
Code:
{$lua}
if syntaxcheck then return end
assert(readPointer('base1') ~= 0)
{$asm}

[ENABLE]
//...

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
predprey
Master Cheater
Reputation: 24

Joined: 08 Oct 2015
Posts: 486

PostPosted: Sat Feb 22, 2020 4:10 am    Post subject: Reply with quote

or you could just hook another part of the game code that runs always while in game that gives you the value you want or the data structure that contains that value then use a pointer from there instead. e.g skill upgrade points usually only get read while in menu so instead of using a hook point which only gets triggered while in menu you find a hook point for health or mana in the same structure which is constantly accesses then manually add a pointer for skill points since you already know the offsets of values you want in the structure
Back to top
View user's profile Send private message
Ali0100
Newbie cheater
Reputation: 0

Joined: 21 Feb 2020
Posts: 10

PostPosted: Sat Feb 22, 2020 9:31 pm    Post subject: Reply with quote

Thanks for the help!
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