because jumps and calls aren't, typically, encoded with the actual address, but instead with the offset from the address of the instruction to where it needs to go to.
As for it being read-only, CE calls VirtualProtect to change it (or at least does the equivalent). _________________
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