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
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  error A2009: syntax error in expression
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: error A2009: syntax error in expression  (Leído 4,168 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
error A2009: syntax error in expression
« en: 30 Agosto 2012, 04:44 am »

Hola a todos, intentando ensamblar ML me muestra el siguiente error:

error A2009: syntax error in expression

esto es mostrado en la siguiente línea:
Código
  1. inf_process  PROCESSENTRY32 <>

declaro la estructura de la siguiente manera:

Código
  1. PROCESSENTRY32 STRUCT
  2. dwSize DWORD ?
  3. cntUsage DWORD ?
  4. th32ProcessID DWORD ?
  5. th32DefaultHeapID DWORD PTR ?
  6. th32ModuleID DWORD ?
  7. cntThreads DWORD ?
  8. th32ParentProcessID DWORD ?
  9. pcPriClassBase SDWORD ?
  10. dwFlags DWORD ?
  11. szExeFile BYTE ?
  12. PROCESSENTRY32 ENDS

¿Alguna idea del motivo de este error?, saludos.


En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: error A2009: syntax error in expression
« Respuesta #1 en: 30 Agosto 2012, 10:57 am »

creo que deberias revisar bien, además ProcessEntry32 es ya definida en los includes

por cierto estas ocupando radasm?


En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: error A2009: syntax error in expression
« Respuesta #2 en: 31 Agosto 2012, 00:38 am »

EDIT:

Código
  1. th32DefaultHeapID DWORD PTR ?

 por:

Código
  1. th32DefaultHeapID DWORD ?

pero aun así la función que estoy usando no retorna bien, sospecho que es por causa de STRUCT.

Solucionado, estaba intentando utilizar la función Process32First el cual debía inicializar el valor dwSize de la estructura antes de poder llamarla, adjunto la estructura:

Código
  1. PROCESSENTRY32 STRUCT
  2. dwSize               DWORD    ?
  3. cntUsage             DWORD    ?
  4. th32ProcessID         DWORD    ?          
  5. th32DefaultHeapID     DWORD    ?
  6. th32ModuleID         DWORD    ?          
  7. cntThreads           DWORD    ?
  8. th32ParentProcessID   DWORD    ?  
  9. pcPriClassBase       DWORD    ?        
  10. dwFlags               DWORD    ?
  11. szExeFile             BYTE   MAX_PATH DUP(?)  
  12. PROCESSENTRY32 ENDS
  13.  
« Última modificación: 31 Agosto 2012, 02:27 am por .:UND3R:. » En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: error A2009: syntax error in expression
« Respuesta #3 en: 31 Agosto 2012, 16:08 pm »

Siempre puedes reserver la cantidad de bytes que ocupa la estructura, y luego pasar el puntero a eso.

Total, a la api poco le importa si tienes o no definidas las estructuras, mientras este reservado el espacio necesario.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines