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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [93] 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 ... 123
921  Programación / Programación C/C++ / Re: Duda en: 23 Septiembre 2012, 18:37 pm
Hola mDrinky, gracias por el dato, esto me viene bien por que estoy empezando con ASM.

Solo dije eso porque for se suele utiliza para bucles definidos, ya sabes iniciación de la variable, condición, incremento o decremento, por eso me parecio más correcto para un bucle infinito usar while. Como genera lo mismo ya veo que no es importante.

P.D: GCC me genero exactamente lo mismo.

Un saludo

Sí, en realidad casi nadie en C usaría un for para hacer un bucle infinito. De hecho queda asta feo, no?. Pero cosas como estas demuestran que no siempre un código bonito en C pueda funcionar mejor que un código feo  :D

un saludo!
922  Programación / Programación C/C++ / Re: Duda en: 23 Septiembre 2012, 13:57 pm
Hola

No programo en C++ ni en Windows, para hacer una pausa o "bloquear" la ejecución tienes la función sleep, el tiempo se define en segundos.

Un saludo

P.D: Yo no pondria un for, lo dejaria así:

Código:
while (1) {

//codigo

}

En code::blocks (y me supongo que mas compiladores) da lo mismo poner una cosa que otra porque genera el mismo código ensamblador:

Con while:

Código
  1. MOV DWORD PTR SS:[ESP+C],0
  2. MOV DWORD PTR SS:[ESP+8],0
  3. MOV DWORD PTR SS:[ESP+4],0
  4. MOV DWORD PTR SS:[ESP],0
  5. CALL <JMP.&USER32.MessageBoxA>
  6. SUB ESP,10
  7. JMP SHORT bucle_wh.0040132E
  8.  


Con for:

Código
  1. MOV DWORD PTR SS:[ESP+C],0
  2. MOV DWORD PTR SS:[ESP+8],0
  3. MOV DWORD PTR SS:[ESP+4],0
  4. MOV DWORD PTR SS:[ESP],0
  5. CALL <JMP.&USER32.MessageBoxA>
  6. SUB ESP,10
  7. JMP SHORT bucle_wh.0040132E
  8.  

El equivalente en C

While:

Código
  1. #include <windows.h>
  2.  
  3. int main()
  4. {
  5.    while(1)
  6.    {
  7.        MessageBoxA(0,0,0,0);
  8.    }
  9.  
  10.    return 0;
  11. }
  12.  

for:

Código
  1. #include <windows.h>
  2.  
  3. int main()
  4. {
  5.    for (;;)
  6.    {
  7.        MessageBoxA(0,0,0,0);
  8.    }
  9.  
  10.    return 0;
  11. }
  12.  

saludos!
923  Foros Generales / Foro Libre / Re: ¿Cómo hace mi amigo? en: 15 Septiembre 2012, 08:17 am
Tiene el pene como el de un caballo.
924  Seguridad Informática / Análisis y Diseño de Malware / Re: FormGrabber Firefox en: 15 Septiembre 2012, 01:46 am
Soy yo o le a dado ahora a todo el mundo por hacer FormGrabber  :rolleyes:
925  Programación / Programación C/C++ / Re: puntero a funcion en: 13 Septiembre 2012, 14:38 pm
Corroboro que es bastante interesante y útil, una pena que por lo visto no sea tan fácil en C++. Alguien podría dejar alguna info para hacer lo equivalente en C++?

Saludos

En C++ es exactamente igual. Solo que funciones estandart usas las de C++ envez de las de C.

saludos.
926  Programación / ASM / Re: Derechos de acceso y API Hooking en: 13 Septiembre 2012, 08:59 am
Ya lo arregle, el error de daba por ahí como bien dice Zero, pero la que fallaba era VirtualProtectEx  :P. Ya he terminado mi juguete!



saludos.
927  Programación / ASM / Re: Derechos de acceso y API Hooking en: 12 Septiembre 2012, 16:20 pm
Pues ni idea , estuve buscando por google pero nada de nada. Una pregunta ese código está en fasm ¿no?

Sí, con el lo ensamblo.
928  Programación / ASM / Re: Derechos de acceso y API Hooking en: 12 Septiembre 2012, 15:56 pm
Hola Avesudra, con el -1 en esa API se indica que es el mismo proceso, no lo pone en la msdn, pero es asi  :rolleyes:

saludos.
929  Programación / ASM / Derechos de acceso y API Hooking en: 12 Septiembre 2012, 11:53 am
Que hay gente  :P

Bueno mi problema es el siguiente, en mi programa realizo dos hook a dos funciones, si realizo un hook solo me va perfecto pero si realizo los dos a la vez falla alguno. Llevo como 2 horas intentando ver el fallo he intentado todo lo que se me a ocurrido pero me sigue sin funcionar... el código es este:

Código
  1.        invoke VirtualProtectEx,-1,[Procesar],6,PAGE_EXECUTE_READWRITE,addr oPerm
  2.  
  3.        mov eax,[Procesar]
  4.  
  5.        mov byte[eax],0x68      ; push
  6.        inc eax
  7.        mov dword[eax],mProcesar     ; direccion
  8.        add eax,4
  9.        mov byte[eax],0xC3     ; ret
  10.  
  11.        invoke VirtualProtectEx,-1,[Imprimir],6,PAGE_EXECUTE_READWRITE,addr oPerm
  12.  
  13.        mov eax,[Imprimir]
  14.  
  15.        mov byte[eax],0x68      ; push
  16.        inc eax
  17.        mov dword[eax],mImprimir     ; direccion
  18.        add eax,4
  19.        mov byte[eax],0xC3     ; ret  

echando un ojo desde OllyDbg me percate de que es la API VirtualProtectEx la que no da bien los permisos y falla al hookear pero no consigo saber porque... de igual forma seguro que a alguno de vosotros le a pasado lo mismo y sabe porque es.

un saludo!!
930  Programación / Programación C/C++ / Re: puntero a funcion en: 4 Septiembre 2012, 17:53 pm
Pero si es un array de char , ¿que menos que pueda ser modificado no?No lo entiendo :xD además si a mi me funciona , me deberia echar para atras por no poder escribir ¿no? Es curioso...

Tambien depende de como compile y en que sección se pongan las variables... estamos entrando ya en el formato PE.

saludos.
Páginas: 1 ... 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [93] 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 ... 123
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines