Ollydbg Error: Unable to locate data in executable file.

Iniciado por adrianrl154, 17 Enero 2013, 12:38 PM

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

adrianrl154

Muy buenas! soy nuevo por aqui y bueno, probando con una aplicacion que llevo un tiempo intentando crackear no tengo manera de guardar los cambios, una vez que hago algun breakpoint y nopeo algunos push y intento guardarlo me salta el molesto mensaje de "Unable to locate data in executable file", de manera que no puedo acabar de guardar mi archivo, pero tampoco entiendo porque me da este error. A ver si alguien más entendido puede ayudarme, muchas gracias a todos!

MCKSys Argentina

Ese mensaje sale porque estas tratando de guardar información que no existe en el ejecutable físico.

Las secciones de un ejecutable tienen 2 tamaños: 1 "real" (raw) y 1 virtual. Cuando el EXE está en disco, cada sección ocupa lo especificado en el RAW Size de la sección.

Pero, cuando se lo mapea en memoria, el valor usado es el Virtual Size.

Si agarras cualquier EXE, verás que en la gran mayoría, Virtual Size es mayor que Raw Size.

El problema surge cuando cambias bytes que están fuera de lo abarcado por el Raw Size.

No sé si me he explicado bien, pero por las dudas lee un poco sobre el formato PE y las secciones de un ejecutable.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


adrianrl154

Cita de: MCKSys Argentina en 17 Enero 2013, 12:49 PM
Ese mensaje sale porque estas tratando de guardar información que no existe en el ejecutable físico.

Las secciones de un ejecutable tienen 2 tamaños: 1 "real" (raw) y 1 virtual. Cuando el EXE está en disco, cada sección ocupa lo especificado en el RAW Size de la sección.

Pero, cuando se lo mapea en memoria, el valor usado es el Virtual Size.

Si agarras cualquier EXE, verás que en la gran mayoría, Virtual Size es mayor que Raw Size.

El problema surge cuando cambias bytes que están fuera de lo abarcado por el Raw Size.

No sé si me he explicado bien, pero por las dudas lee un poco sobre el formato PE y las secciones de un ejecutable.

Saludos!

Muchas gracias por responder tan rapidamente, y entenderte te entiendo a mi manera estoy leyendo sobre el formato PE y buscando informacion, pero en este caso que deberia de hacer para poder guardar el archivo? se tiene que traspasar a otro tipo?, lo siento por mi ignorancia.

MCKSys Argentina

Si estas haciendo un parche, trata de ponerlo lo mas cerca posible del codigo. Si no tienes espacio, puedes agregar una sección nueva al EXE o bien, buscar una "cueva" donde meter el codigo. Por supuesto, si escribes en una sección que no es ejecutable, habra errores, por lo que deberas cambiarla.
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."