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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 72
301  Programación / Programación C/C++ / Re: ERROR_INVALID_ADDRESS al usar VirtualAllocEx con una dirección fija en: 1 Septiembre 2010, 00:03 am
Necesito usarlo con una dirección fija, me da igual cual pero es necesario que sea fija. En la documentación de la MSDN dice que es perfectamente posible, y ese parámetro no tendría sentido si no fuera así, pero buscando no encuentro más que gente con el mismo problema e hilos a los que no se llega a una solución. Si esa memoria está reservada, el proceso no la está utilizando aparentemente para nada, intente hacer VirtualFree pero sigue sin funcionar  :-\.

Al ejecutar VirtualQuery VirtualAlloc falla siempre, incluso cuando ésta me devuelve MEM_FREE  :-\.

Saludos



Edito:

Hice ésto para ver si me quedaba algo más claro que pasaba, pero sólo logró confundirme más  :xD:
Código
  1. #pragma comment(linker,"/NODEFAULTLIB")
  2. #pragma comment(linker,"/ENTRY:main")
  3.  
  4. #include <Windows.h>
  5.  
  6. int main()
  7. {
  8. MEMORY_BASIC_INFORMATION Buffer;
  9. VirtualQuery((LPVOID)0x00400000,&Buffer,sizeof(MEMORY_BASIC_INFORMATION));
  10.  
  11. switch(Buffer.State)
  12. {
  13. case MEM_COMMIT:
  14.  
  15. MessageBoxA(0,"MEM_COMMIT","Info",MB_ICONINFORMATION);
  16.  
  17. if(!VirtualFree((LPVOID)0x00400000,0x1000,MEM_DECOMMIT))
  18. {
  19. MessageBoxA(0,"Error al desencomendar memoria",0,MB_ICONERROR);
  20. }
  21. else
  22. {
  23. MessageBoxA(0,"Memoria Desencomendada","Info",MB_ICONINFORMATION);
  24.  
  25. if(!VirtualFree((LPVOID)0x00400000,0,MEM_RELEASE))
  26. {
  27. MessageBoxA(0,"Error liberar memoria",0,MB_ICONERROR);
  28. }
  29. else
  30. {
  31. MessageBoxA(0,"Memoria Reservada Liberada","Info",MB_ICONINFORMATION);
  32. }
  33. }
  34. break;
  35.  
  36. case MEM_RESERVE:
  37.  
  38. MessageBoxA(0,"MEM_RESERVE","Info",MB_ICONINFORMATION);
  39.  
  40. if(!VirtualFree((LPVOID)0x00400000,0,MEM_RELEASE))
  41. {
  42. MessageBoxA(0,"Error liberar memoria",0,MB_ICONERROR);
  43. }
  44. else
  45. {
  46. MessageBoxA(0,"Memoria Reservada Liberada","Info",MB_ICONINFORMATION);
  47. }
  48. break;
  49.  
  50. case MEM_FREE:
  51. MessageBoxA(0,"Memoria Libre","Info",MB_ICONINFORMATION);
  52. break;
  53. }
  54.  
  55.  
  56. if(!VirtualAlloc((LPVOID)0x00400000,0x1000,MEM_RESERVE|MEM_COMMIT,PAGE_EXECUTE_READWRITE))
  57. {
  58. MessageBoxA(0,"Error al reservar memoria en 0x00400000",0,MB_ICONERROR);
  59. return 0;
  60. }
  61.  
  62. MessageBoxA(0,"Memoria Reservada correctamente en 0x00400000","Éxito",MB_ICONINFORMATION);
  63.  
  64. return 0;
  65. }
  66.  
302  Programación / Programación C/C++ / ERROR_INVALID_ADDRESS al usar VirtualAllocEx con una dirección fija en: 31 Agosto 2010, 17:37 pm
Bueno, pues la duda es lo que dice el título, estoy intentando usar VirtualAlloc o VirtualAllocEx, me da igual, para reservar memoria en una dirección de memoria fija, en concreto en 0x0040000 (teniendo el base address de mi ejecutable en 00300000). Levo días buscando la razón del error pero no encuentro nada que me sirva, ejecutando lo siguiente:

Código
  1. #pragma comment(linker,"/NODEFAULTLIB")
  2. #pragma comment(linker,"/ENTRY:main")
  3.  
  4. #include <Windows.h>
  5.  
  6. int main()
  7. {
  8. //CHAR MSG[1024];
  9. //SYSTEM_INFO SystemInfo;
  10. //GetSystemInfo(&SystemInfo);
  11.  
  12. //wsprintfA(MSG,"%s%X%s%X","MinimumApplicationAddress: ",SystemInfo.lpMinimumApplicationAddress,"\nMaximumApplicationAddress: ",SystemInfo.lpMaximumApplicationAddress);
  13. //MessageBoxA(0,MSG,"Info",MB_ICONINFORMATION);
  14.  
  15. if(!VirtualAllocEx(GetCurrentProcess(),(LPVOID)0x00400000,0x1000,MEM_RESERVE|MEM_COMMIT,PAGE_EXECUTE_READWRITE))
  16. {
  17. MessageBoxA(0,"Error al reservar memoria en 0x00400000",0,MB_ICONERROR);
  18. return 0;
  19. }
  20.  
  21. MessageBoxA(0,"Memoria Reservada correctamente en 0x00400000","Éxito",MB_ICONINFORMATION);
  22.  
  23. return 0;
  24. }
  25.  

Ojo, linkear el ejecutable con una dirección base diferente de 0x00400000 o en su defecto cambiar la dirección fija a reservar.

Éste código, en mi PC Win7 32bits reserva memoria bien sólo a veces, otras veces falla devolviendo last_error ERROR_INVALID_ADDRESS. Viendo con olly me dice que la dirección no está en uso incluso cuando falla, pero el error es como sí la dirección estuviera ya reservada  :-\.

Gracias por adelandato  :P
303  Foros Generales / Foro Libre / Re: Abandono el foro en: 29 Agosto 2010, 00:53 am
Si por culpa de que nadie respondió a tu pregunta has conseguido llegar a una solución por ti mismo, recibiste la mejor ayuda posible  ;).

Saludos
304  Foros Generales / Foro Libre / Re: Bot para Sala de Poker en: 29 Agosto 2010, 00:39 am
En el supuesto de que alguien invirtiera tanto tiempo en hacerlo, ganaría con el más de lo que puedes pagar  :P.
305  Seguridad Informática / Análisis y Diseño de Malware / Re: [Mini-Tutorial] Camuflar un Troyano correctamente. en: 12 Agosto 2010, 13:58 pm
Citar
« Respuesta #30 en: 25 Enero 2008, 03:25 »

Más de dos años desde la última respuesta, no revivas temas tan antiguos.

Saludos
306  Programación / Programación Visual Basic / Re: [RETO] Comprobar si un numero dado es un numero de la suerte en: 11 Agosto 2010, 02:09 am
¿Pero sólo se puede en VB o puedes medir mi código en ASM?

Saludos
307  Foros Generales / Foro Libre / Re: En un mundo de sueños, cualquier cosa es posible (imagen) en: 11 Agosto 2010, 02:00 am
Bueno, en resumen absolutamente todo esta controlado, nada es aleatorio. Excepto el pensamiento humano.

Código:
http://es.wikipedia.org/wiki/Relaci%C3%B3n_de_indeterminaci%C3%B3n_de_Heisenberg

Citar
Las partículas, en mecánica cuántica, no siguen trayectorias definidas. No es posible conocer exactamente el valor de todas las magnitudes físicas que describen el estado de movimiento de la partícula en ningún momento, sino sólo una distribución estadística. Por lo tanto no es posible asignar una trayectoria a una partícula. Sí se puede decir que hay una determinada probabilidad de que la partícula se encuentre en una determinada región del espacio en un momento determinado.

Si el tema se va para cuántica a Constance le va a dar algo  :xD .

Saludos

308  Programación / Programación Visual Basic / Re: [RETO] Comprobar si un numero dado es un numero de la suerte en: 11 Agosto 2010, 01:12 am
¿Como medimos el tiempo?  :huh: Interesante propuesta, me pongo a ello  ;D.

Saludos
309  Seguridad Informática / Análisis y Diseño de Malware / Re: Direccion sección en: 9 Agosto 2010, 01:30 am
Es delito preguntar? aparte no han sido solo unas horas, nadie nace sabiendo

Lo que te dijo ctlon te lo dijo por tu bien (más fácil hubiera sido responderte), y yo respaldo su consejo, te lo digo por experiencia, tanto por "preguntón" como por "respondón". Si intentas afrontar los problemas por ti mismo y pensando "no lo dejaré hasta que lo comprenda" sí aprenderás realmente, en cambio la gente que al mínimo problema que encuentra pide ayuda realmente no está progresando, solventa el problema en ese momento pero no vive el proceso de aprendizaje necesario para llegar a esa solución.

Saludos  ;)
310  Seguridad Informática / Análisis y Diseño de Malware / Re: Añadir algoritmo en sección en: 8 Agosto 2010, 14:20 pm
Lo metes en la nueva sección, tiene que ser un código en ASM en formato shellcode, que no dependa de una IAT ni de una sección data. Luego cambias en EntryPoint hacia donde metiste tu código y listo.

Código:
http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2008_taller_de_formato_pe_by_ferchu-t208278.0.html

Mírate el Capitulo III: Agregando una sección con codigo.

Saludos
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 72
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines