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 


CMPing techniques

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

Joined: 25 Aug 2019
Posts: 20

PostPosted: Wed Dec 23, 2020 8:31 am    Post subject: CMPing techniques Reply with quote

Does anyone know of comparing techniques for opcodes that has one instruction that accesses literally hundreds and thousands of addresses?

I'm mostly referring to newer games that uses Unreal Engine.

Comparing registers seems to be the ideal method but only when the opcode access < 5 - 10 addresses. Ive seen tables where people copy registers into a something like a "dword ptr" but their code becomes much more difficult for me to read/understand after that.
Back to top
View user's profile Send private message
daspamer
Grandmaster Cheater Supreme
Reputation: 54

Joined: 13 Sep 2011
Posts: 1588

PostPosted: Wed Dec 23, 2020 9:19 am    Post subject: Reply with quote

Well it depends honestly on which addresses does it access
e.g you found health,ammo that are part of player structure
now health is located at 0x20 offset (pStructure+0x20) and ammo is at 0x28 (pStructure+0x28)
If they both being accessed by the very same instruction, I would recommend finding a different instruction, or place a break point (adding a condition for register == healthAddress could help..).
check registers or any other instructions (usually before the instruction), see if you can find any reference to pStructure or anything else that could help to distinguish, if not, keep stepping (maybe out of the procedure) and see which function calls the procedure and perhaps apply your hook right there, repeat if necessary (step out to the next caller and the next caller..), basically you will have to analyze it quite a bit.

You could also try to dissect structures (select few addresses, your target address, few of the most accessed, few of moderate etc.), and see if you could distinguish somehow, whether with pointers (try except or isbadptr could be handy if it's quite difficult).
I haven't messed with games made with unreal engine, so can't say for sure but this is how I usually deal with shared instructions, leaning toward the first option.

_________________
I'm rusty and getting older, help me re-learn lua.
Back to top
View user's profile Send private message Visit poster's website
QuarryTen
Newbie cheater
Reputation: 0

Joined: 25 Aug 2019
Posts: 20

PostPosted: Wed Dec 23, 2020 2:41 pm    Post subject: Reply with quote

DaSpamer wrote:
Post


I see. Thank you.

If I'm understanding this correctly, I would basically have to go at it pointer by pointer and discerning good and bad pointers. I think I can wrap my head around that.

But bleh... I have the worst luck with pointers.

Thanks, again.
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