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 


Solved: ASM help, how does this correlate?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
mStorm
Expert Cheater
Reputation: 0

Joined: 21 Feb 2009
Posts: 107

PostPosted: Sun Mar 22, 2009 10:03 pm    Post subject: Solved: ASM help, how does this correlate? Reply with quote

jmp 29019996

How do the bytes correlate to: e9 63 51 c1 28

Because i'm going to be changing the opcode dynamically, how does that correlate to that address?


Last edited by mStorm on Mon Mar 23, 2009 10:50 am; edited 1 time in total
Back to top
View user's profile Send private message
sponge
I'm a spammer
Reputation: 1

Joined: 07 Nov 2006
Posts: 6009

PostPosted: Sun Mar 22, 2009 11:19 pm    Post subject: Reply with quote

It's the relative distance.
Code:
(Destination - CurrentLocation) - 5

P.S. The VA for your mnemonic is 40482E.

_________________
Back to top
View user's profile Send private message
mStorm
Expert Cheater
Reputation: 0

Joined: 21 Feb 2009
Posts: 107

PostPosted: Sun Mar 22, 2009 11:35 pm    Post subject: Reply with quote

So, the sizeof(what?)

sizeof the jump + address opcode?
Back to top
View user's profile Send private message
mStorm
Expert Cheater
Reputation: 0

Joined: 21 Feb 2009
Posts: 107

PostPosted: Sun Mar 22, 2009 11:57 pm    Post subject: Reply with quote

Hmm, implemented the function and it gives:

Code:

test eax,1428c14e


Sad

I'm looking for x86. This is my use:

Code:

WriteJump((LPVOID)0x00404823, (LPVOID)((DWORD)mbi.BaseAddress+i+0x17));
Back to top
View user's profile Send private message
sponge
I'm a spammer
Reputation: 1

Joined: 07 Nov 2006
Posts: 6009

PostPosted: Mon Mar 23, 2009 12:04 am    Post subject: Reply with quote

It should work considering the fact that ULONG_PTR is defined as:
Code:
#if defined(_WIN64)
 typedef __int64 LONG_PTR;
#else
 typedef long LONG_PTR;
#endif

Which means it doesn't matter if the system is x64 or x86.

Anyways, the error is because lpAddress is not incremented by one before the call to InterlockedExchangePointer().

_________________


Last edited by sponge on Mon Mar 23, 2009 12:14 am; edited 2 times in total
Back to top
View user's profile Send private message
mStorm
Expert Cheater
Reputation: 0

Joined: 21 Feb 2009
Posts: 107

PostPosted: Mon Mar 23, 2009 12:05 am    Post subject: Reply with quote

Argh, it's giving me a bunch of tests , etc.
Back to top
View user's profile Send private message
sponge
I'm a spammer
Reputation: 1

Joined: 07 Nov 2006
Posts: 6009

PostPosted: Mon Mar 23, 2009 12:20 am    Post subject: Reply with quote

Replace:
Code:
InterlockedExchangePointer(lpAddress + sizeof(BYTE), ulOffset);

_________________
Back to top
View user's profile Send private message
mStorm
Expert Cheater
Reputation: 0

Joined: 21 Feb 2009
Posts: 107

PostPosted: Mon Mar 23, 2009 2:09 am    Post subject: Reply with quote

danke!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming 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