Welcome to the new Woodmann RCE Messageboards Regroupment
Please be patient while the rest of the site is restored.

To all Members of the old RCE Forums:
In order to log in, it will be necessary to reset your forum login password ("I forgot my password") using the original email address you registered with. You will be sent an email with a link to reset your password for that member account.

The old vBulletin forum was converted to phpBB format, requiring the passwords to be reset. If this is a problem for some because of a forgotten email address, please feel free to re-register with a new username. We are happy to welcome old and new members back to the forums! Thanks.

All new accounts are manually activated before you can post. Any questions can be PM'ed to Kayaker.

newbie Q: convert assembler 2 hex

First timers and new learners, this forum is for you. Please use the search function to see if your question has already been answered.
Locked
chitech

newbie Q: convert assembler 2 hex

Post by chitech »

Alo everybody

I have some problem when I try to make inline patch. How do I convert assembler code to hex. Please guide me (links?)


For example how is this converted?

:00405BF2 E909800000 jmp 0040DC00


Thx

Chitech
DakienDX

Post by DakienDX »

Hello chitech !

How Call and Jmp instructions are calculated has be discussed already lately.

Please read this post.

For everything else go to the Intel homepage and download the opcode reference for the processor you have (I don't know if AMD has something like this also). But beware, you'll end up in 500 pages of text or even more.
chitech

Post by chitech »

alo DakienDX


endlocation = (orginal call location - (currentlocation +5))

:D :D

Now it works :D :D

Just a question: why do I have to add 5 bytes to currentlocation?

Thx a lot to u

Chitech
DakienDX

Post by DakienDX »

Hello chitech !

This was also discussed.
The relative address is counted from the end of the instruction.

The Call instruction is 5 bytes long. (E8 ?? ?? ?? ??)
You have to add 5 to the current location, so you're at the end of the instruction where the relative counting starts.

If you're in 16-bit code, the Call is only 3 bytes long. (E8 ?? ??)
So you would have to add 3 to the current location.
chitech

Post by chitech »

Alo DakienDX

Ok...now I see it......U r right. It has been discussed

Now it's time to add func. to programs. It's fun when u can calculate the offsets and it's working :D

Thx again

Chitech
Locked