elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Codigo asm, ensambla pero falla.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Codigo asm, ensambla pero falla.  (Leído 2,138 veces)
Rozor

Desconectado Desconectado

Mensajes: 270


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Codigo asm, ensambla pero falla.
« en: 15 Septiembre 2007, 12:59 pm »

Los dos ensamblan pero no funcionan.



Código:
.386
.MODEL FLAT, STDCALL
.STACK
.DATA

 txt db "owned you", 0
 cap db "p**a", 0



.CODE

 Inicio:

          xor eax, eax
          xor ebx, ebx
          pop ebx
          mov ebx, eax
          push eax
          mov ebx, 1141211ah
          sub ebx, 11010110h
          push ebx
          xor ebx, ebx
          mov ebx, 11412111h
          sub ebx, 11010101h
          sub ebx, 00000010h
          push ebx
          push eax
          xor eax, eax
          mov eax, 7e3d058ah
          call dword ptr [eax]
          pop eax
          pop ebx
          leave
          ret

end Inicio





Código:
.386
.MODEL FLAT, STDCALL
.STACK
.DATA

 txt db "owned you", 0
 cap db "p**a", 0



.CODE

 Inicio:

          push 00h
          push offset cap
          push offset txt
          push 00h
          mov eax, 7e3d058ah
          call dword ptr [eax]
          pop eax
          pop ebx
          leave
          ret

end Inicio


Gracias
En línea

out in the streets they call it murder....
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Codigo asm, ensambla pero falla.
« Respuesta #1 en: 15 Septiembre 2007, 13:44 pm »

Claro, porque estás intentando acceder a una librería que tu programa todavía no ha cargado con Import Table. Me imagino que estás intentando acceder a MessageBoxA en user32.dll..

Carga primero la librería user32.dll.

PD. Por cierto, es posible que si pones una dirección fija (7E3D058A) sólo funcione bien en tu ordenador.

Editado después:
Y llamas mal a la API: Sólo con que pongas Call EAX ya compilará bien.

Éste código te funcionará bien:
Código:
.386
.model flat, stdcall



include kernel32.inc
includelib kernel32.lib

.stack
.data
txt db "owned you", 0
cap db "p**a", 0
librery db "user32.dll", 0

.code
Inicio:
          invoke LoadLibrary, addr librery
  push 00h
          push offset cap
          push offset txt
          push 00h
          mov eax, 7e3d058ah
          call eax
          pop eax
          pop ebx
          leave
          ret
         
end Inicio
« Última modificación: 15 Septiembre 2007, 13:53 pm por karmany » En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Codigo asm, ensambla pero falla.
« Respuesta #2 en: 15 Septiembre 2007, 13:51 pm »

Estas intentando llamar a alguna API???

Bueno, supongo que lo sabes, ya que se que te enteras bastante de esto, pero te lo recuerdo, que con direcciones harcodeadas solo funcionara en tu PC ;)

Otra es que necesitaras cargar la libreria donde se encuentra esa API, si no esta cargada es normal que pete...

Un Saludo :)

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
Rozor

Desconectado Desconectado

Mensajes: 270


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: Codigo asm, ensambla pero falla.
« Respuesta #3 en: 15 Septiembre 2007, 14:31 pm »

Si, lo hice por que vi en un tuto o code no recuerdo bien, pero al principio ponia

extern ExitProcess:PROTO
...
...
...



Pero tampoco funciono y la llamada a la api tambien lo vi.
En línea

out in the streets they call it murder....
Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Codigo asm, ensambla pero falla.
« Respuesta #4 en: 15 Septiembre 2007, 15:16 pm »

Como te dijo Karmany y despues yo, para llamar a X api tienes que asegurarte de que la libreria de la API este cargada, si no esta cargada la puedes cargar tu mismo con loadLibrary, y con GetProccAddress puedes sacar la dirección de la API y asi llamarla. Si no quieres cargar ninguna libreria, para asi ahorrar "espacio" en disco, puedes leerte algun tuto sobre como hacer Shellcodes universales, que al fin y al cabo se trata de sacar primero la dirección en memoria del Kernel, luego, una vez tenemos esa dirección, sacar la de LoadLibrary y la de GetProccAddres, y una vez con eso ya podemos cargar cualquier libreria y usar cualquier api.

Es solo un ejemplo  ;)

En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
en que falla este codigo java
Java
JulCesa 3 2,863 Último mensaje 20 Noviembre 2011, 05:29 am
por RyogiShiki
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines