| View previous topic :: View next topic |
| Author |
Message |
Rissorr Master Cheater
Reputation: 3
Joined: 17 Sep 2013 Posts: 273 Location: Israel!
|
Posted: Thu Mar 12, 2015 8:38 am Post subject: Difference Between RVA and VA |
|
|
Just a general question:
What are the RVA and VA addresses?
And what is the difference between them?
For example:
"CandyLand.exe+1234"
It's equal to:
"VA+1234"
?
|
|
| Back to top |
|
 |
atom0s Moderator
Reputation: 205
Joined: 25 Jan 2006 Posts: 8587 Location: 127.0.0.1
|
Posted: Thu Mar 12, 2015 2:49 pm Post subject: |
|
|
Full definitions as defined by Microsoft whom makes the PE file format:
RVA (Relative Virtual Address)
| Quote: | Relative Virtual Address. In an image file, an RVA is always the
address of an item once loaded into memory, with the base
address of the image file subtracted from it. The RVA of an item
will almost always differ from its position within the file on disk (File
Pointer).
In an object file, an RVA is less meaningful because memory
locations are not assigned. In this case, an RVA would be an
address within a section (see below), to which a relocation is later
applied during linking. For simplicity, compilers should just set the
first RVA in each section to zero. |
VA (Virtual Address)
| Quote: | Same as RVA (see above), except that the base address of the
image file is not subtracted. The address is called a “Virtual
Address” because Windows NT creates a distinct virtual address
space for each process, independent of physical memory. For
almost all purposes, a virtual address should be considered just an
address. A virtual address is not as predictable as an RVA,
because the loader might not load the image at its preferred
location. |
_________________
- Retired. |
|
| Back to top |
|
 |
Rissorr Master Cheater
Reputation: 3
Joined: 17 Sep 2013 Posts: 273 Location: Israel!
|
Posted: Thu Mar 12, 2015 7:08 pm Post subject: |
|
|
| @atom0s Thanks you! It helped me understand it..
|
|
| Back to top |
|
 |
|