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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Problema con CreateThread
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Problema con CreateThread  (Leído 6,859 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Problema con CreateThread
« en: 1 Septiembre 2012, 17:44 pm »

Tengo lo siguiente:
Código
  1. CREATE_THREAD PROC
  2. INVOKE CreateThread,NULL,NULL,ADDR Thread,NULL,0,NULL
  3. ret
  4.  
  5. CREATE_THREAD ENDP
  6.  
  7. Thread PROC
  8. INVOKE CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0
  9. cmp eax,NULL
  10. mov hdl_snap,eax
  11. mov inf_process.dwSize,128h
  12. INVOKE Process32First,[hdl_snap],ADDR inf_process
  13. cmp eax,TRUE
  14.  
  15. INVOKE Process32Next,[hdl_snap],ADDR inf_process
  16.  
  17.  
  18. ret
  19.  
  20. Thread ENDP

1) lpParameter [in, optional]
A pointer to a variable to be passed to the thread.

Qué parámetro introduzco para que no pase una variable al thread?, yo lo dejo con 0 pero me gustaría saber como si está bien.

2) Al intentar ensamblar esto me muestra el siguiente error:
Código:
error A2006: undefined symbol : Thread

¿Cómo soluciono esto?

Saludos


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: Problema con CreateThread
« Respuesta #1 en: 1 Septiembre 2012, 17:53 pm »

No conozco el tema de las macros de masm, pero tranquilamente puedes ahorarte la molestia de usar macros.

Código:
Thread:
INVOKE CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0
cmp eax,NULL
mov hdl_snap,eax
mov inf_process.dwSize,128h
INVOKE Process32First,[hdl_snap],ADDR inf_process
cmp eax,TRUE
 
INVOKE Process32Next,[hdl_snap],ADDR inf_process

ret
 

No se como es el tema del parametro, pero si pasa alguno, pudes solucionarlo haciendo al final un
retn 4, o add esp, 4


En línea

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

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Problema con CreateThread
« Respuesta #2 en: 1 Septiembre 2012, 18:50 pm »

Muchas gracias, pero aun así no logro solucionarlo, desconozco por que no reconoce ADDR NombredePROC

(parámetro 3).
En línea


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


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: Problema con CreateThread
« Respuesta #3 en: 1 Septiembre 2012, 20:15 pm »

pues porque no declaraste el prototipo con PROTO

Saludos
En línea

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

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Problema con CreateThread
« Respuesta #4 en: 2 Septiembre 2012, 02:11 am »

pues porque no declaraste el prototipo con PROTO

Saludos

Se ha declarado el prototipo.
En línea


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


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: Problema con CreateThread
« Respuesta #5 en: 2 Septiembre 2012, 13:57 pm »

pues cambia el orden de las funciones y pon:
Código
  1.  
  2. push NULL
  3. push NULL
  4. push NULL
  5. push offset Thread
  6. push NULL
  7. push NULL
  8. call CreateThread
  9.  

espero que se solucione

Saludos
En línea

fary


Desconectado Desconectado

Mensajes: 1.075



Ver Perfil WWW
Re: Problema con CreateThread
« Respuesta #6 en: 3 Septiembre 2012, 14:08 pm »

No hace falta poner ADDR ni offset

Código
  1. invoke CreateThread,0,0,Funcion,0,0,0

saludos.
« Última modificación: 3 Septiembre 2012, 14:24 pm por mDrinky » En línea

Un byte a la izquierda.
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Problema con CreateThread
« Respuesta #7 en: 4 Septiembre 2012, 03:04 am »

No hace falta poner ADDR ni offset

Código
  1. invoke CreateThread,0,0,Funcion,0,0,0

saludos.

También lo intenté de esa forma pero no función, la solución fue llamarlo sin utilizar la directiva INVOKE, es decir:

Código
  1. push 0
  2. push 0
  3. push 0
  4. push OFFSET SEARCH_CHEAT
  5. push 0
  6. push 0
  7. call CreateThread

Saludos y muchas gracias por su ayuda  ;-)
En línea


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


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Problema con CreateThread
« Respuesta #8 en: 4 Septiembre 2012, 05:05 am »

Lo que dice Arkangel es cierto, es por eso el error Under, que tipo de versión de masm estás usando ¿?.

Saludos,
Nox.
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
zu-zu

Desconectado Desconectado

Mensajes: 31



Ver Perfil
Re: Problema con CreateThread
« Respuesta #9 en: 4 Septiembre 2012, 23:05 pm »

Imagino que estás usando una versión vieja de MASM. El problema es que en esa versión defines la función después del código que hace referencia a ella. La solución es cambiar el orden de las funciones, aunque sería mejor que uses una versión más actualizada de MASM o en su defecto uses otro ensamblador que soporte su sintaxis.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Denegar CreateThread, CreateremoteThread
Programación Visual Basic
XP. 1 1,674 Último mensaje 4 Diciembre 2006, 19:20 pm
por sch3m4
Hilos en vb6 sin CreateThread?
Programación Visual Basic
Zzombi 4 6,157 Último mensaje 2 Febrero 2010, 15:18 pm
por Zzombi
CreateThread no se ejecuta con Ventana API creada
Programación C/C++
linkcode 1 1,501 Último mensaje 10 Junio 2015, 11:07 am
por x64core
CreateThread o CreateProcess
Programación C/C++
AlbertoBSD 4 2,707 Último mensaje 21 Septiembre 2016, 18:04 pm
por AlbertoBSD
CreateThread para Servevidor en C
Programación C/C++
AlbertoBSD 2 2,123 Último mensaje 22 Septiembre 2016, 16:22 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines