The PE file contains "sections", and sections have independent base addresses. PE is not a continuous image of memory. Each section is a continuous image of memory.
. .
OllyDbg, Windows. , , , , , , " ".
dumpbin /all :
SECTION HEADER #1
.text name
BC14 virtual size
1000 virtual address (00401000 to 0040CC13)
BE00 size of raw data
400 file pointer to raw data (00000400 to 0000C1FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
60000020 flags
Code
Execute Read
.text RVA 1000 RVA CE00. - 400. - RVAs 1000-CDFF 600. ( .)
, "RVA" ( ), ( ), :
- , RVA. RVAs . .
- RVA - .
- PointerToRawData , (2). , RVA.
, , MapViewOfFileEx() FILE_MAP_EXECUTE, dwDesiredAccess. API PE " ".
- , PE-. DLL LoadLibrary() GetModuleInformation() function MODULEINFO member lpBaseOfDll.
MapViewOfFileEx() - MapViewOfFileEx().
RVA :
, OS , , , , , , , .