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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  porque me sale un error al finalizar el programa?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: porque me sale un error al finalizar el programa?  (Leído 4,093 veces)
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
porque me sale un error al finalizar el programa?
« en: 31 Mayo 2012, 06:09 am »

hola

estoy estudiando asm, hice un ejemplo de messagebox en fasm, pero no se porque me sale un error al finalizar el programa, alguien sabe que podria ser?

Código
  1. format PE GUI 4.0
  2.  
  3. include 'C:\fasm\include\win32ax.inc'
  4.  
  5. push MB_YESNO
  6. push mensaje
  7. push captio
  8. push 0
  9. call [MessageBoxA]
  10. cmp eax, IDYES
  11. jne exit
  12. jmp gracias
  13.  
  14. gracias:
  15.  
  16. push MB_OK
  17. push mensaj
  18. push capt
  19. push 0
  20. call [MessageBoxA]
  21. jmp exit
  22.  
  23. exit:
  24.  
  25. push 0
  26. push [ExitProcess]
  27.  
  28. mensaje db 'mensaje', 0
  29. captio db 'exito!!', 0
  30. mensaj db 'mensaje', 0
  31. capt db 'XD', 0
  32.  
  33.  
  34. data import
  35.  
  36. library kernel32, 'KERNEL32.DLL', user32, 'USER32.DLL'
  37. import user32, MessageBoxA, 'MessageBoxA'
  38. import kernel32, ExitProcess, 'ExitProcess'
  39.  
  40. end data                                


En línea

.                                 
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: porque me sale un error al finalizar el programa?
« Respuesta #1 en: 31 Mayo 2012, 10:30 am »

push [ExitProcess]

en lugar de call.

Te recomiendo depurar con WinDbg, cuando superas unas pocas lineas se ve mas rapido depurando que leyendo el codigo.



En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: porque me sale un error al finalizar el programa?
« Respuesta #2 en: 31 Mayo 2012, 15:46 pm »

Si usas  las macros extendidas: win32ax.inc
No hace falta que pongas los import a mano.
Código
  1. format PE GUI 4.0
  2.  
  3. include 'd:\fasm\include\win32ax.inc'
  4.  
  5. .code
  6. start:
  7.  
  8.        push MB_YESNO
  9.        push mensaje
  10.        push captio
  11.        push 0
  12.        call [MessageBoxA]
  13.        cmp eax, IDYES
  14.        jne exit
  15.        jmp gracias
  16.  
  17. gracias:
  18.  
  19.        push MB_OK
  20.        push mensaj
  21.        push capt
  22.        push 0
  23.        call [MessageBoxA]
  24.        jmp exit
  25.  
  26. exit:
  27.  
  28.        push 0
  29.        call [ExitProcess]
  30. .end start
  31.  
  32. .data
  33.  
  34.        mensaje db 'mensaje', 0
  35.        captio db 'exito!!', 0
  36.        mensaj db 'mensaje', 0
  37.        capt db 'XD', 0  
  38.  


La macro ".end" se encarga de adjuntar todos los imports. Luego fasm al ensamblar solo importa los que tu hayas usado.

En línea

Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
Re: porque me sale un error al finalizar el programa?
« Respuesta #3 en: 31 Mayo 2012, 18:33 pm »

a cierto, no me di cuenta de push, gracias

Citar
Si usas  las macros extendidas: win32ax.inc
No hace falta que pongas los import a mano.

Eso no lo sabia, gracias por decirme

salu2
En línea

.                                 
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: porque me sale un error al finalizar el programa?
« Respuesta #4 en: 31 Mayo 2012, 18:38 pm »

De nadas.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
porque me sale este error « 1 2 »
Programación Visual Basic
shadow.darknesses 11 4,530 Último mensaje 20 Enero 2007, 16:29 pm
por shadow.darknesses
porque me sale este error con el reshacker
Dudas Generales
artibano 0 2,417 Último mensaje 26 Junio 2011, 13:09 pm
por artibano
Porque me sale error con esto? {C}
Programación C/C++
Anastacio 4 3,221 Último mensaje 16 Febrero 2012, 19:49 pm
por Anastacio
[ASP.NET] ¿Porque me sale el siguiente error? (tags)
.NET (C#, VB.NET, ASP)
Ila26 0 1,779 Último mensaje 3 Marzo 2014, 16:21 pm
por Ila26
Porque me sale error al querer imprimir el contenido de la pila
Programación C/C++
andresjr22 6 3,466 Último mensaje 1 Agosto 2016, 01:06 am
por andresjr22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines