Como edito con ultraedit 10 el offset del ejecutable???

Iniciado por User32Error, 29 Mayo 2007, 16:54 PM

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

User32Error

Estoy desprotegiendo un  programa. Con ollydbg he encontrado el punto exacto y lo que tengo que cambiar, pero no se como aplicarselo al ejecutable. Cuando usaba el w32dasm cogia el offset situandome en la linea que tenia que cambiar y me lo ponia debajo, ¿como averiguo el offset en el olly?  ¿se puede aplicar el cambio directamente sin tener que usar ultraedit, es decir, guardar los cambios para siempre desde el olly para crear el ejecutable final?.

He probado cogiendo el numero de la linea (01b6889e por ejemplo, esta mas arriba pero bueno, de ejemplo) y ponerlo en ultraedit pulsando control + g, poniendo 0x1b6889e, pero se va al final del ejecutable.

Hecharme un cable plis, es lo unico que me falta para terminar este programa y llevo ya varias semanas con el.

»~^~«CkNU!»~^~«

Cita de: User32Error en 29 Mayo 2007, 16:54 PM
He probado cogiendo el numero de la linea (01b6889e por ejemplo, esta mas arriba pero bueno, de ejemplo) y ponerlo en ultraedit pulsando control + g, poniendo 0x1b6889e, pero se va al final del ejecutable.

Eso no es el número de línea, es la posición en memoria.
Usá softice y alguno de los tools que hay para calcular el offset. (google it)
»~^~«ChiCkENURiNE»~^~«

karmany

Muy sencillo...

1º) Si quieres hacerlo con el Ultraedit, tienes que diferenciar el Offset de la dirección(Virtual Address) cuando el programa se ejecuta.
Hay veces que coinciden pero la mayoría de las veces no.
No te voy a poner la fórmula de cómo se pasa de uno a otro porque hay muchísimas herramientas que lo hacen.
Sin ir más lejos el mismo PEeditor 1.7 tiene un botón que pone: FLC que significa File Location Calculator y te permite pasar del offset a la virtual address y viceversa.

2º) Pero si no quieres complicarte NADA DE NADA, lo puedes hacer directamente con el OllyDBG.
Lo único que tienes que hacer es lo siguiente:
-MOdificas el punto exacto ese del que hablas con el ollyDBG
-Seleccionas todo lo que has modificado y pulsas botón derecho y eliges esto: "Copy to executable --> Selection".
-Tras esto te aparecerá una nueva pantalla. PUlsas botón derecho y eliges "Save File" y ahí pones el nombre que quieras. Es recomendable no poner el mismo nombre, si no has hecho una copia de seguridad..(lógico)

Espero que te sea útil.
Un saludo

User32Error

Pues si Karmany me ha sido muy util. He conseguido ejecutar el programa, ahora tengo que atacar por otra parte porque el programa coge dos codigos de un fichero .ini y comprueba que el registro sea correcto, de modo que de nada me ha servido conseguir registrar el programa, el serial introducido durante la primera ejecucion me permite crear un usuario pero cuanto que salgo e intento ejecutar el programa ya la hemos liao.
Esta hecho con Visual Basic 6 y cuando intento utilizar SmartCheck me salen 80000 lineas por segundo, ya que es un programa hecho con librerias de imagenes que actualizan la pantalla cada segundo mediante un control Timer de vb y localizar algo util en smartcheck se me hace imposible.
Tengo que probar desactivar el control haber que es lo que sucede.
Thanks por vuestras respuestas.

sempus

ya que esta hecho en visual basic puedes utilizar tambien el visual basic reformer, con esto destripas todos los ejecutables de visual basic,una herramientas bastante buena,por cierto es gratuito
saludos ;)
...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE

User32Error

sniff, sniff, estoy desactualizado del todo, el unico que he probado ha sido el vbdecom de un mirror de karpoff y como que me ha mandado a paseo. Tengo que renovarme y quitarme las canas de la barba, despues de tantos años sin tocar este tema como se me habra ocurrido utilizar material tan antiguo. Thanks, le voy a hechar el ojo.