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 


[ASM] Far Jmps

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
samuri25404
Grandmaster Cheater
Reputation: 7

Joined: 04 May 2007
Posts: 955
Location: Why do you care?

PostPosted: Sat Jan 26, 2008 11:44 am    Post subject: [ASM] Far Jmps Reply with quote

I was fixing up my Opcode.dll (it's not perfect, you know), and I was wondering about Far Jmps.

After you've found the bytes (like c9 or whatever for the jmp, then you've got the bytes for the address (after calculations)), do you store it in Little Endian?

_________________
Wiccaan wrote:

Oh jeez, watchout I'm a bias person! Locked.


Auto Assembly Tuts:
In Depth Tutorial on AA
Extended
Back to top
View user's profile Send private message
Symbol
I'm a spammer
Reputation: 0

Joined: 18 Apr 2007
Posts: 5094
Location: Israel.

PostPosted: Sat Jan 26, 2008 12:28 pm    Post subject: Reply with quote

Do you mean if its opposite order? lets say 0: jmp 00200005 would be "eb 00 00 02 00" I think, if thats what you mean. (+5 bytes since the jump's bytes are 5)

Last edited by Symbol on Sat Jan 26, 2008 12:29 pm; edited 1 time in total
Back to top
View user's profile Send private message
mer0x
Advanced Cheater
Reputation: 0

Joined: 06 Jan 2008
Posts: 63

PostPosted: Sat Jan 26, 2008 12:29 pm    Post subject: Reply with quote

Symbol wrote:
Do you mean if its opposite order? lets say 0: jmp 00200000 would be "eb 00 00 02 00" I think, if thats what you mean.


Isn't it suppose to be E9?
Back to top
View user's profile Send private message
Symbol
I'm a spammer
Reputation: 0

Joined: 18 Apr 2007
Posts: 5094
Location: Israel.

PostPosted: Sat Jan 26, 2008 12:39 pm    Post subject: Reply with quote

Yea, sorry, eb is short jump.
Back to top
View user's profile Send private message
samuri25404
Grandmaster Cheater
Reputation: 7

Joined: 04 May 2007
Posts: 955
Location: Why do you care?

PostPosted: Sat Jan 26, 2008 12:55 pm    Post subject: Reply with quote

Yes, that's exactly what I mean, Symbol. Is it stored that way?
_________________
Wiccaan wrote:

Oh jeez, watchout I'm a bias person! Locked.


Auto Assembly Tuts:
In Depth Tutorial on AA
Extended
Back to top
View user's profile Send private message
Symbol
I'm a spammer
Reputation: 0

Joined: 18 Apr 2007
Posts: 5094
Location: Israel.

PostPosted: Sat Jan 26, 2008 1:07 pm    Post subject: Reply with quote

Yes.
Back to top
View user's profile Send private message
FerrisBuellerYourMyHero
Master Cheater
Reputation: 0

Joined: 14 Feb 2007
Posts: 401
Location: Inside your <kernel>

PostPosted: Tue Jan 29, 2008 8:07 pm    Post subject: Reply with quote

This is how I do it:::

JMP DISTANCE = to - from - 5

but the to address has to be higher than the from lol...

Code:

_asm
{

     pushad
     mov eax, 0x006594A1 // to
     mov ecx, 0x0063F21B // from
     mov ebx, eax // copy "to" into ebx
     sub eax, ecx // to - from
     sub eax, 5   // - 5 = distance to jump
     mov byte ptr [ebx], 0xE9 // E8 for call, E9 for JMP
     mov dword ptr [ebx+1], eax
     popad
}

then its HOOKED! Wink

_________________
You know, life moves pretty fast. If you don't stop and look around once in a while, You could miss it!

Back to top
View user's profile Send private message MSN Messenger
samuri25404
Grandmaster Cheater
Reputation: 7

Joined: 04 May 2007
Posts: 955
Location: Why do you care?

PostPosted: Tue Jan 29, 2008 8:43 pm    Post subject: Reply with quote

I understand ASM, so no need to explain everything.

That's where I started my programming carreer. Wink

I don't quite get what this is doing, though. Since you do "popad" at the end, that's negating everything that you've done up to that point, right?

_________________
Wiccaan wrote:

Oh jeez, watchout I'm a bias person! Locked.


Auto Assembly Tuts:
In Depth Tutorial on AA
Extended
Back to top
View user's profile Send private message
sponge
I'm a spammer
Reputation: 1

Joined: 07 Nov 2006
Posts: 6009

PostPosted: Tue Jan 29, 2008 8:48 pm    Post subject: Reply with quote

no... the way he hooks is memory writing. set up the hooks by moving bytes accordingly and then restore the orginal register values

apparently you're "starting" language isn't going so well.

_________________
Back to top
View user's profile Send private message
samuri25404
Grandmaster Cheater
Reputation: 7

Joined: 04 May 2007
Posts: 955
Location: Why do you care?

PostPosted: Tue Jan 29, 2008 10:22 pm    Post subject: Reply with quote

Well what I meant by "starting language" was AA.

I started with AA, and pretty much moved on to bigger and better things.

The thing is though, with Assembly, I only know what each instruction does; I hardly ever get the theory behind the instructions, which is why I like higher-leveled languages better--it's so easy to get what people are doing (especially .NET).

_________________
Wiccaan wrote:

Oh jeez, watchout I'm a bias person! Locked.


Auto Assembly Tuts:
In Depth Tutorial on AA
Extended
Back to top
View user's profile Send private message
mer0x
Advanced Cheater
Reputation: 0

Joined: 06 Jan 2008
Posts: 63

PostPosted: Tue Jan 29, 2008 11:38 pm    Post subject: Reply with quote

samuri25404 wrote:
I understand ASM, so no need to explain everything.

That's where I started my programming carreer. Wink

I don't quite get what this is doing, though. Since you do "popad" at the end, that's negating everything that you've done up to that point, right?


popad means to pop all dx registers out of the stack. pushad means to push all dx register on to the stack.
Back to top
View user's profile Send private message
BEO-WULF
Expert Cheater
Reputation: 0

Joined: 27 Jan 2008
Posts: 138
Location: Green Bay, Wisconsin

PostPosted: Sat Feb 02, 2008 1:56 am    Post subject: Reply with quote

FerrisBuellerYourMyHero wrote:
This is how I do it:::

JMP DISTANCE = to - from - 5

but the to address has to be higher than the from lol...

Code:

_asm
{

     pushad
     mov eax, 0x006594A1 // to
     mov ecx, 0x0063F21B // from
     mov ebx, eax // copy "to" into ebx
     sub eax, ecx // to - from
     sub eax, 5   // - 5 = distance to jump
     mov byte ptr [ebx], 0xE9 // E8 for call, E9 for JMP
     mov dword ptr [ebx+1], eax
     popad
}

then its HOOKED! Wink


Its basicly just insert than relapse and start over again to the quotent and file/exe distotion

_________________


4 L1F3 ( + [__] : : ) 4 L1F3
Back to top
View user's profile Send private message Yahoo Messenger
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