Alertar con una string en ensamblador usando ollydbg

Iniciado por Borito30, 5 Marzo 2017, 14:25 PM

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

Borito30

#10
Cita de: MCKSys Argentina en  6 Marzo 2017, 13:57 PM
Abre el programa modificado con Ollydbg y ejecuta las instrucciones paso a paso con F7.

Con eso deberías poder saber cuál es el error.

Saludos!
Hola gracias por vuestra ayuda tengo una duda porque cuando lo ejecuto (presiono f9) me cambia de sector o no sé. A ver quero decir estoy el codigo empezaría por las lineas:

00980F31

Y cuando lo ejecuto me cambia a un código diferente o lineas diferentes o un fichero diferente no entiendo las direcciones ahora empiezan por 77..:

77A570F4

Y una vez en este sector no puedo volver a buscar lo que puse. Tengo otra vez que abrirlo.

Ejecute con f7 si no estoy equivocado es para ejecutar cada linea y ver que linea falla?

En mi caso creo que al modificar el entry point el programa deja de arrancar a lo mejor tengo que buscar otro sitio donde hacer el salto o ejecutar la alerta? Disculpa soy muy novato con esto. gracias de nuevo!
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)

tincopasan

es que está saltando a otra dirección, normalmente una dll o módulo que utilice el programa, si te fijas dice donde se encuentra en la parte de desensamblado, además tendrías que tener más claro que tipo de instrucción estás viendo, si es un llamado a una parte externa del exe usas F8 sino F7

MCKSys Argentina

Cuando cargas el exe deberías estar en el EP del programa, osea, el jmp que haz ensamblado.
Si no es así, has reventado algo en el exe.

Saludos!

PD: Ten en cuenta que los programas de windows (calc, notepad, explorer, etc) se autorelocan, osea, se comportan como una dll, por lo que tienen información de relocacion. Si corrompes la misma, tendrás problemas (ya esa la tabla o los destinos de la misma).
MCKSys Argentina

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


Borito30

#13
Probe a no alterar el estado del programa, i chequee las recolocaciones. Pero aún así no me muestra nada intente ejecutar el fichero no modificado pero no hizo. Tambien no afectar al curso del programa pero no hace nada.

Antes de nada cuando copio todo y lo guardo como ejecutable me sale un aviso:



Apartir de ahí ya no hace nada intente tambien como el video me sale la alerta le doy si guardo y no hace nada.

Los cambios que hice:





:xD alguien hizo algo parecido con el notepad y le funciono? yo intente todo recolocaciones no afectar al curso del programa de todo!

Tuve tambien cuidado porque cuando llamas a veces puede que te redirija a otro sitio.

CitarComo dice sys hace recolocaciones por lo que puede que se dañe. Ya que cambia las ubicaciones. .
El fichero lo cambie de sitio no se si eso le afecta.


Me estoy viendo este video:
[youtube=300,200]https://www.youtube.com/watch?v=80bjkJcCQO4[/youtube]

El tio consigue hasta arrancar la calculadora  :o
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)

MCKSys Argentina

El 1er mensaje te sale porque estas pisando el destino de una relocacion. Lo que hallas colocado ahi, será pisado nuevamente al momento de cargar el exe.

Saludos!
MCKSys Argentina

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


Borito30

#15
Cita de: MCKSys Argentina en  6 Marzo 2017, 19:23 PM
El 1er mensaje te sale porque estas pisando el destino de una relocacion. Lo que hallas colocado ahi, será pisado nuevamente al momento de cargar el exe.

Saludos!
Una pregunta tu entiendes que signfica esta regla me sale mucho cuando por ejemplo creo primero las instrucciones y después pongo el texto el ascii hago un analisis y me sale mucho de estas lineas es decir todos los db 00 se convierten en esto se como solucionarlo pero no se a que hace referencia estas instrucciones:


También si me podrías recomendar algun libro o alguno que tu conozcas para aprender mucho sobre cracking porque veo cursos programando en ASM lo cual creo que también le servirá a uno para entender mejor funcionan pero a lo mejor hay otros para crackear o cambiar el comportamiento de los programas ya programados como con ollydbg ida etc¿? conoces alguno bueno? y sobre todo para entender instrucciones que creo que sabiendo programar en ASM las comprendería la mayoría?


Tambien tengo que decir que funcionar funciona lo que pasa que no puedo incluir a mi código un:
CALL MessageBoxA

Ya que sino devuelve error. El código actual que puse y parece que no corrompe el funcionamiento de notepad hace el salto perfectamente claro que no puedo mostrar un mensaje y por otro lado también ir probando break points que debería intentarlo.

Imagenes del codigo que si funciono (no puedo alertar con messagebox):





:-X´

Puedo poner el error tiene algo que ver con shell32.dll solo me sale cuando pongo messagebox o cualquier funcion como la siguiente :
CALL MessageBoxA
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)

MCKSys Argentina

Si buscas una guía, revisa el FAQ de Ing. Inversa (link en mi firma). Ahí encontrarás todo lo necesario para comenzar.

Para llamar a una API, debes ver si la misma está en la IAT del programa. Si no lo está, debes resolver su dirección antes de poder llamarla.

Saludos!
MCKSys Argentina

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