La Memoria Virtual en programas en modo protegido, el procesador puede ejecutar varios programas al mismo tiempo. A cada proceso le asigna un total de 4G de memoria DE 00000000 a FFFFFFFFh. A cada programa se le asigna una propia área reservada de memoria, los programas no pueden acceder de manera accidental al código y los datos de los demás memoria.
En modo direccionamiento real sólo puede direccionarse 1MB de memoria, del 00000 al FFFFFh
Memoria física:
es el espacio que utiliza un ejectuable dentro de un disco duro
Podríamos decir que poseemos un programa en
Para un buen entendimiento de las direcciones existentes en ambos conceptos es claro que conozcas algunos datos que están dentro de la cabecera PE
-VirtualAddress:(RVA del inicio de la sección)
Estos datos están Ubicados en la
IMAGE_SECTION_HEADER (una sub-división de la cabecera Portable executable) El primer dato apunta a RVA que es RVA?
Relative Value Absolute Es una dirección que no posee ImageBase (esta por lo general es asignada a 400000h) en este caso es el inicio de la sección o segmento de un ejecutable.
A que va todo esto? este es valor que posee el inicio de un segmento X en la memoria virtual,que puede ser útil al momento de apuntar a algún dato
también contamos con el término RAW que es una dirección en el disco
y VA value absolute, este es una dirección de memoria virtual que tiene sumada su ImageBase
ImageBase-Base de la Imagen - inicio de la imagen en la memoria virtual.
en resumen tenemos lo siguientes tipos de datos que puedes tratar en los distintos tipos de memoria:
Direccionamiento(Address) en MEMORIA VIRTUALUtiliza address tipo RVA
address tipo VA
Direccionamiento(Address) en MEMORIA FÍSICA
RAW
Tal vez de no usar palabras tan altisonantes habría comentado para ayudar, en vista de lo leído prefiero callar. De todos modos creo que ya te resolvieron la duda...
Por parte de Unbr0ken veo tu pobre comentario, presumiendo tus conocimientos avanzados pero no veo ninguna solución al problema de RHL.