Como conocer el offset de una direccion en Ollydbg?

Iniciado por Tinkipinki, 9 Septiembre 2011, 18:13 PM

0 Miembros y 1 Visitante están viendo este tema.

Tinkipinki

Hola todos:
Pues eso... ¿Como conocer el offset de una direccion?
Por ejemplo, nos encontramos en

004012DC  7416  JE SHORT 004012F4


¿Se podria hacer un script para encontrarlo?....Si es posible este seria un reto perfecto para .:UND3R:.... :silbar:

Saludos

Иōҳ

Justo lo mismo preguntaron en CLS (eso creo).

Te pego lo que dijo Guan de dio:
Citarcasi caulquier editor PE tiene una calculadora para esos
fines, el que ya te han comentado o por ejemplo el LordPe que es otro
de los más usados.

A mano sería

  - Offset RAW: Dirección en disco
  - Offset RVA : dirección relativa en memoria
  - VA:             Dirección absoluta en memoria

  VA = RVA + ImagenBase (lo que suele mostrar el Olly)

  El offset RAW se calcula así:

Lo primero es identificar en que sección se encuentra el VA. Para
ello lo mejor es transformar el VA en RVA, ya que los editores
muestran la información de las secciones en RVA

   RVA = VA (dirección de Olly) - Imagen Base

  Con esto te quedas con las direcciones

   RVA inicio de sección
   Offset RAW inicio de sección

   Y las cuentas son:

     Offset RAW = (RVA - RVA inicio de sección) + offset RAW comienzo de sección

Todo esto está explicado en la introducción de Ricardo que te recomiendo leas.

Saludos,
GUAN

Pd: Creo que con eso queda bien explicado je, y me ahorre de escribirlo yo :)

Nox.
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

.:UND3R:.


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Иōҳ

Cita de: .:UND3R:. en  9 Septiembre 2011, 18:36 PM
en que capítulo exactamente aparece eso?

Sí yo también me pregunte lo mismo...

y no se si lo dirá.

Pero con estudiar el Formato PE, ya te aclara todo eso :P.

Nox.
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

Tinkipinki

Gracias Иōҳ y .:UND3R:.  por vuestras respuestas.

Con el ejemplo de GUAN muy bien explicado como calcularlo manualmente pero si se pudiera hacer con un script o plugin y tener el dato al instante con solo posicionarte el la direccion pues seria mas rapido....y asi ingresar en el club de la vagancia je je .. >:D

Saludos

Иōҳ

Cita de: Tinkipinki en  9 Septiembre 2011, 21:29 PM
Gracias Иōҳ y .:UND3R:.  por vuestras respuestas.

Con el ejemplo de GUAN muy bien explicado como calcularlo manualmente pero si se pudiera hacer con un script o plugin y tener el dato al instante con solo posicionarte el la direccion pues seria mas rapido....y asi ingresar en el club de la vagancia je je .. >:D

Saludos

Bueno son simple operaciones, que seguro se pueden implementar en un script.

Nox.
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

apuromafo CLS

estudiar el PE, nada mas que la imagebase y al modulo que pertenece..

si es por ir a la direccion bastaria que fuera al eip

mov eip, 4012dc  o bien

los comandos findop, findmem, o findcmd  para buscar esa variable mediante comando opcode y otros, recuerda el gci para encontrar mas informacion , gn si es algo mas

luego compararias el destino con algo...

004012DC->direccion, si la imagebase es 00400000 luego el offset seria
-*>12DC

no se..que quieren encontrar..pero un salto no es mucho, mejor es un orden..y cada cosa se da

Tinkipinki

Hola apuromafo

Utilidad, utilidad creo que tiene poca solo era para hacer las modificaciones de saltos directamente en un editor hexadecimal, para encontrar por ejemplo la linea de codigo del JMP y para hacer eso nos hace falta saber el offset... creo

Saludos

Tinkipinki

Solo para vagos.... :silbar:

Si buscamos la direccion 004012DC del ejemplo del principio con el W32DSM, al posicionarnos sobre la direccion en la barra inferior nos aparece el offset.
La solucion no es mia ni mucho menos, esta sacada de internet.

Saludos

Tinkipinki

Me surge otra duda:

Si tenemos un programa con el principio de codigo en el Olly por ejemplo en 401000 con un offset 400 pero mas arriba en el Olly no hay codigo pero estamos en el offset 400 per en el editor hex de 400 a 000 hay mas codigo.
¿Pues donde se encuentran estas lineas de codigo que faltan pertenecientes sa las cabeceras en el Olly?

Saludos