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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Simbolo no resuelto por el linker.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Simbolo no resuelto por el linker.  (Leído 3,874 veces)
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Simbolo no resuelto por el linker.
« en: 28 Febrero 2021, 01:03 am »

Hola.

Estaba buscando una forma de obtener la linea de comandos desde un programa escrito para MASM con la funcion GetCommandLineA de kernel32.lib, pero el linker no resuelve el simbolo:

Citar
POLINK: error: Unresolved external symbol '_GetCommandLineA'.

Lei sobre las convenciones de llamada en un articulo mencionado por @Eternal Idol: http://unixwiz.net/techtips/win32-callconv.html#decor pero la verdad no estoy seguro de en que esta afectando esto aqui.

El codigo:

Código
  1. .686p
  2. .model flat, stdcall
  3.  
  4. includelib \masm32\lib\msvcrt.lib
  5. includelib \masm32\lib\kernel32.lib
  6.  
  7. printf proto C, :dword
  8. exit proto C, :dword
  9.  
  10. extern stdcall GetCommandLineA: proc
  11.  
  12. t macro i:vararg
  13. local s
  14. const segment
  15. s db i, 0
  16. const ends
  17. exitm <offset s>
  18. endm
  19.  
  20. .data?
  21. db ?
  22.  
  23. .data
  24. db ?
  25.  
  26. .code
  27.  
  28. start:
  29. call main
  30. invoke exit, 0h
  31.  
  32. main proc
  33.  
  34. call GetCommandLineA
  35.  
  36. ret
  37. main endp
  38.  
  39. end start


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


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


Ver Perfil WWW
Re: Simbolo no resuelto por el linker.
« Respuesta #1 en: 28 Febrero 2021, 01:20 am »

Código
  1. extern stdcall GetCommandLineA@0: proc
  2. ...
  3. call GetCommandLineA@0
  4.  


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
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Simbolo no resuelto por el linker.
« Respuesta #2 en: 28 Febrero 2021, 14:17 pm »

No puede ser... eso habia intentado pero con proto e invoke. ¿Por que no funciona con proto e invoke?

Código
  1. GetCommandLineA@0 proto stdcall

Citar
POLINK: error: Unresolved external symbol '_GetCommandLineA@0@0'.

En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


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


Ver Perfil WWW
Re: Simbolo no resuelto por el linker.
« Respuesta #3 en: 28 Febrero 2021, 17:49 pm »

Pero lo es, con PROTO e INVOKE no hace falta explicitar el decorado.


Código
  1. GetCommandLineA PROTO STDCALL
  2. ...
  3. invoke GetCommandLineA
« Última modificación: 28 Febrero 2021, 17:55 pm por Eternal Idol » 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
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Simbolo no resuelto por el linker.
« Respuesta #4 en: 28 Febrero 2021, 19:35 pm »

Pues tienes razon... me estoy acordando de los tropiezos de aprender una nueva forma de programacion.

Gracias por tu ayuda y atencion.
Saludos.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


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


Ver Perfil WWW
Re: Simbolo no resuelto por el linker.
« Respuesta #5 en: 28 Febrero 2021, 22:05 pm »

De nada  ::)
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
Problemas con el linker
GNU/Linux
El_Java 3 3,213 Último mensaje 3 Julio 2012, 18:46 pm
por Foxy Rider
Linker en VC++
Programación C/C++
eleon 0 1,438 Último mensaje 24 Julio 2012, 15:16 pm
por eleon
Problema con linker script
Programación General
Khronos14 4 3,146 Último mensaje 6 Septiembre 2012, 15:16 pm
por Khronos14
SDL: ERROR EN LINKER
Programación C/C++
Puntoinfinito 2 2,671 Último mensaje 12 Noviembre 2012, 20:30 pm
por NeoB
Problema linker VS (C++ y SDL)
Programación C/C++
Bob1098 3 3,627 Último mensaje 13 Agosto 2016, 17:08 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines