Título: diferencia entre RVA y offset? Publicado por: weggi en 6 Noviembre 2011, 22:41 pm hola e leido unos cuantos temas al respecto y no lo logro comprender :huh:
si fueran tan amables de hacerme una pequeña explicacion entendible porfavor :-\ por ejemplo la función ExitProcess de kernel32.dll RVA : 0x0001CAFA OFFSET : 0x7C81CAFA Título: Re: diferencia entre RVA y offset? Publicado por: .:UND3R:. en 7 Noviembre 2011, 02:54 am Hola RVA Relative Value address este es la dirección en memoria de un programa sin su image base
Offset o raw (creo que son lo mismo) es la ubicación física de un archivo en el disco Saludos Título: Re: diferencia entre RVA y offset? Publicado por: _Enko en 7 Noviembre 2011, 05:05 am Citar Offset o raw (creo que son lo mismo) es la ubicación física de un archivo en el disco Si se trata del offset de un archivo si.Si se trata del offset de una variable, generalmente se refiere al VirtualAddress de esa variable. (ImageBase + RVA de la variable) RAW significa CRUDO, algo que no se le dio un formato y viene tal cual se genera Código: RVA : 0x0001CAFA Título: Re: diferencia entre RVA y offset? Publicado por: weggi en 7 Noviembre 2011, 18:43 pm Hola Gracias por las respuestas me acaban de aclararme la duda ;-)
_EnKo gracias por el ejemplo soy un poco duro de la cabeza con esto :laugh: saludos Título: Re: diferencia entre RVA y offset? Publicado por: karmany en 8 Noviembre 2011, 23:48 pm Cuando se habla de Offset en el archivo físico se habla de:
Raw Offset Cuando se habla de Offset relacionado con la carga del programa en memoria se habla de: Virtual Offset Cuando hablamos de offset nos referimos a un desplazamiento, aunque normalmente se suele utilizar para relacionar el Raw Offset. Al igual que dice _Enko algunos autores cuando hablan de offset suelen utilizarlo para hablar de VA. La RVA (Relative Virtual Address) es una dirección virtual relativa, que corresponde a la VA cargada en memoria a la cuál se le resta la Image Base. En el ejemplo que te ha puesto _Enko, el valor que él ha llamado OFFSET corresponde a la VA. Para que veas un poco la diferencia de valores entre offset (raw) y RVA te recomiendo que uses este programa mio y verás dichos datos: http://foro.elhacker.net/ingenieria_inversa/file_location_calculator_v032_por_karmany-t262979.0.html (http://foro.elhacker.net/ingenieria_inversa/file_location_calculator_v032_por_karmany-t262979.0.html) Título: Re: diferencia entre RVA y offset? Publicado por: _Enko en 9 Noviembre 2011, 00:10 am Por cierto, hay una muy buena explicacion del tema aqui:
http://stackoverflow.com/questions/2170843/va-virutual-adress-rva-relative-virtual-address (es la primer respuesta) Aviso: esta en ingles y es para leerlo con paciencia. gracias por la aclaracion karmany, no sabia que se refería al offset en un archivo como "raw offset" Título: Re: diferencia entre RVA y offset? Publicado por: Tinkipinki en 9 Noviembre 2011, 07:14 am Hace tiempo yo tambien me preguntaba lo mismo.
Mirate la respuesta de Nox en el post: http://foro.elhacker.net/ingenieria_inversa/como_conocer_el_offset_de_una_direccion_en_ollydbg-t338573.0.html (http://foro.elhacker.net/ingenieria_inversa/como_conocer_el_offset_de_una_direccion_en_ollydbg-t338573.0.html) Saludos |