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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: [1]
1  Programación / ASM / Re: (Ayuda) Programa ensamblado en modo 32 bits no se puede puede ejecutar en 64 bit en: 24 Agosto 2015, 00:05 am
He intentado esto encontrado en la web, pero nasm me da un error:

Código
  1. extern GetStdHandle
  2. extern WriteConsoleA
  3. extern ReadConsoleInputA
  4. extern ExitProcess
  5.  
  6. import GetStdHandle kernel32.dll
  7. import ExitProcess kernel32.dll
  8. import WriteConsoleA kernel32.dll
  9. import ReadConsoleInputA kernel32.dll

El error junto al comando son los siguientes:
nasm -fwin32 main.asm -o main.exe
main.asm:10: error: parser: instruction expected
main.asm:11: error: symbol `import' redefined
main.asm:11: error: parser: instruction expected
main.asm:12: error: symbol `import' redefined
main.asm:12: error: parser: instruction expected
main.asm:13: error: symbol `import' redefined
main.asm:13: error: parser: instruction expected

También he probado este comando y me sale el mismo error:
nasm main.asm -o main.exe
2  Programación / ASM / Re: (Ayuda) Programa ensamblado en modo 32 bits no se puede puede ejecutar en 64 bit en: 23 Agosto 2015, 23:53 pm
¿Y cómo puedo enlazar? Se supone que no necesito usar C Standard
3  Programación / ASM / (Ayuda) Programa ensamblado en modo 32 bits no se puede puede ejecutar en 64 bit en: 23 Agosto 2015, 23:28 pm
Hola a todos y a todas. El problema que tengo es que al ensamblar un código con NASM con la etiqueta -fwin32 no puede ser ejecutado según Windows a 64 bits. No he probado la aplicación en modo 32 bits (no tengo ningún ordenador de 32 bits), así que no sé si es problema del código.

Código
  1. STD_OUTPUT_HANDLE   equ -11
  2. STD_INPUT_HANDLE   equ -10
  3. NULL               equ 0
  4.  
  5. global start
  6. extern ExitProcess, GetStdHandle, WriteConsoleA, ReadConsoleInputA
  7.  
  8. section .data    ;message we want to display on console
  9. msg                 db "Press a key to continue...", 13, 10, 0
  10. msg.len             equ $ - msg
  11. consoleInHandle     dd 1
  12.  
  13. section .bss     ;buffers declaration
  14. buffer_out          resd 2
  15. buffer_in           resb 32
  16.  
  17. section .text
  18.    start:       ;starting point of our program
  19.        push    STD_OUTPUT_HANDLE
  20.        call    GetStdHandle   ;call to get a handle to the
  21.        push    NULL           ;specified mode (input, output...)
  22.        push    buffer_out
  23.        push    msg.len
  24.        push    msg
  25.        push    eax            ;contains the GetStdHandle result
  26.        call    WriteConsoleA  ;call to print our msg in console
  27.  
  28.    read:
  29.        push    STD_INPUT_HANDLE
  30.        call    GetStdHandle        ;new call to get input handle
  31.        push    NULL
  32.        push    1
  33.        push    buffer_in
  34.        push    eax
  35.        call    ReadConsoleInputA   ;call to detect user input
  36.                                    ;this function will wait til
  37.    exit:                           ;it detects enough keypresses
  38.        push    NULL                ;(in this case, 1)
  39.        call    ExitProcess

Este es el comando que he usado:
nasm -fwin32 main.asm -o main.exe
4  Programación / ASM / Re: [Consulta] ¿Cómo imprimir un carácter en la consola de Windows (32 bits) (NASM) en: 23 Agosto 2015, 22:10 pm
Entonces, si no tengo que usar C Standard, donde están definidos GetStdHandle?
5  Programación / ASM / [Consulta] ¿Cómo imprimir un carácter en la consola de Windows (32 bits) (NASM) en: 23 Agosto 2015, 03:17 am
Hola, muy buenas a todos y a todas. La pregunta es cómo podría imprimir un carácter en la consola de Windows, trabajando en 32 bits. No querría tener que usar ni GCC (querría usar NASM puro), ni tampoco DosBox. ¡Muchas gracias!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines