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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


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

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Error Process32Next
« en: 15 Septiembre 2013, 22:19 pm »

Hola a todos, Process32Next siempre me retorna 0, ¿A qué se debe?:

Código
  1. .386
  2. option casemap:none
  3. .model flat,stdcall
  4. include c:\masm32\include\windows.inc
  5. include c:\masm32\include\kernel32.inc
  6. include c:\masm32\include\user32.inc
  7. includelib c:\masm32\lib\kernel32.lib
  8. includelib c:\masm32\lib\user32.lib
  9.  
  10. DlgProc PROTO,
  11. hWnd:HWND,
  12. uMsg:UINT,
  13. wParam:WPARAM,
  14. lParam:LPARAM
  15.  
  16. .const
  17.  
  18. .data
  19. DlgName byte "IDD_DLG1",0
  20. processName byte "calc.exe",0
  21.  
  22. .data?
  23. hInstance HINSTANCE ?
  24. CommandLine LPSTR ?
  25. hThread HANDLE ?
  26. processInf PROCESSENTRY32 <>
  27.  
  28. .code
  29. FindProcess PROC
  30. LOCAL hSnapshot:HANDLE
  31.  
  32. invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0
  33. mov hSnapshot,eax
  34. invoke Process32First,hSnapshot,addr processInf
  35. invoke Process32Next,hSnapshot,addr processInf
  36. invoke GetLastError
  37. ret
  38.  
  39. FindProcess ENDP
  40.  
  41. start:
  42. invoke GetModuleHandle,NULL
  43. mov hInstance,eax
  44. invoke GetCommandLine
  45. mov CommandLine,eax
  46. invoke DialogBoxParam,hInstance,ADDR DlgName,NULL,ADDR DlgProc,NULL
  47. invoke ExitProcess,eax
  48. DlgProc PROC hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
  49. .IF uMsg == WM_INITDIALOG
  50. mov processInf.dwSize,sizeof PROCESSENTRY32
  51. invoke CreateThread,NULL,0,ADDR FindProcess,NULL,0,0
  52. mov hThread,eax
  53. push eax
  54. .ELSEIF uMsg == WM_CLOSE
  55. invoke EndDialog,hWnd,NULL
  56. .ELSE
  57. mov eax,FALSE
  58. ret
  59. .ENDIF
  60. mov eax,TRUE
  61. ret
  62. DlgProc ENDP
  63. END start


En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


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


Ver Perfil WWW
Re: Error Process32Next
« Respuesta #1 en: 15 Septiembre 2013, 23:38 pm »

Process32First function retorna el mismo error:

Remarks
The calling application must set the dwSize member of PROCESSENTRY32 to the size, in bytes, of the structure.


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
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Error Process32Next
« Respuesta #2 en: 15 Septiembre 2013, 23:46 pm »

En la línea 50 lo he puesto:
Código:
mov processInf.dwSize,sizeof PROCESSENTRY32

¿Será esta línea la causante?, saludos.
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


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


Ver Perfil WWW
Re: Error Process32Next
« Respuesta #3 en: 16 Septiembre 2013, 01:13 am »

Al contrario, como no tengo el dialogo llamaba directamente a FindProcess, ahora poniendola antes de Process32* funciona. Depura el codigo con WinDbg.
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:  

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