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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
51  Programación / Programación C/C++ / Re: ¿Cómo detectar cambios en .text? en: 1 Octubre 2014, 20:07 pm
Podrias usar VirtualProtect sobre la sección de codigo con el flag PAGE_GUARD.
Eso raisea una excepcion cada vez que se accede al codigo.

Con un handler podrias saber quien es el que esta tratando de acceder.

Las contras son que al ejecutar, tambien saltará la excepcion y que, ademas, el flag es one-shot; osea, deberas proteger nuevamente la sección despues de cada excepcion.

Saludos!
¡Perfecto!
Parece ser bastante viable. A la que vuelva a casa, lo pruebo y reporto :) La idea es muy buena.

Muchas gracias!
52  Programación / Programación C/C++ / Re: ¿Cómo detectar cambios en .text? en: 1 Octubre 2014, 19:54 pm
Pero eso sin previamente cambiar la proteccion de la memoria NO FUNCIONA; al menos siempre que estemos hablando de codigo.
Yep, he editado el mensaje (estoy desde tapatalk y no me salía tu respuesta). Fíjate.
53  Programación / Programación C/C++ / Re: ¿Cómo detectar cambios en .text? en: 1 Octubre 2014, 19:50 pm
Siempre podes comparar los bytes del binario en disco con los que estan en memoria, es basicamente lo que hace la extension !chkimg (Ext.dll, de los depuradores de Microsoft como WinDbg); aunque no te dira quien modifico que directamente. Si es una DLL va a tener que cambiar la proteccion de memoria para poder escribir y directa o indirectamente usara un servicio del S.O. via NTDLL, podrias interceptarlo ...
Lo de VirtualProtect lo he pensado y voy a probarlo, pero me da la sensación de que no será demasiado efectivo.
Si no me equivoco, VirtualProtect cambia los permisos de la página entera y no sólo de lo que le indicas (vamos, que pasar 5 o pasar 15 como longitud en bytes acaba cubriendo una página)

No conoces ninguna otra manera de interceptar las modificaciones?
p.ej.
Código:
mov eax, DAC0DEh;
mov byte ptr [eax], C3h;
Esa parte no se puede hookear de ningún modo, ya que son puras instrucciones que van directas al CPU...
54  Seguridad Informática / Seguridad / Re: Busco Grupo de Hacking 100% Etico. en: 1 Octubre 2014, 19:45 pm
El grupo esta compuesto por varias personas y muchas me han demostrado con creces superar mis conocimientos en lo que a computacion se refiere. Yo por mi parte programo en c++, java (y un poco de ensamblador) y llevo bastante tiempo con la criptografia.

Un saludo!
En un principio me parecía lo mismo de siempre, pero cuando mencionaste criptografía y asm, llamaste mi atención.

Podrías detallar un poco más?
55  Programación / Programación C/C++ / ¿Cómo detectar cambios en .text? en: 1 Octubre 2014, 18:39 pm
Buenas!

Hace tiempo que me pica la... curiosidad, y me pregunto: hay alguna manera de saber qué partes del código se están modificando por un DLL?

Es decir:
-> Tengo something.exe
-> Abro something.exe, e inyecto (LoadLibrary, o p.ej. LdrLoadDll) plugin.dll

Suponiendo que el plugin, en alguna parte, tiene este código:
Código:
*(BYTE*) 0xAABBCCDD = 0xC3; // ret a una función
Cómo puedo saber la dirección y los bytes que escribe, sin desempacar ni analizar el DLL? (es decir, en runtime)

Me han dicho que haga hook a "Virtual Instruction Bus", pero se necesita un driver para eso, y no es demasiado recomendable tocarlo a la ligera...
56  Programación / Programación C/C++ / Re: Multiplicar 2 cedenas y poner el resultado en otra cadena (lenguaje C) en: 1 Octubre 2014, 18:32 pm
Hola Blaster.
Le encontré 2 cosas que se deben cambiar.
Si el operando más a la izquierda tiene menos cifras que el de la derecha, el resultado es erróneo.
456 x 1234
La otra, si el operando más a la derecha tiene más de una cifra, el resultado también falla.-   
456 x 12
T. Collins gracias por colaborar, el inglés no es mi fuerte.-
Bueno seguiré picando código para ver si lo logro.-

Saludos.
Daniel
Si el inglés no es tu fuerte, te va a ser duro aprender a programar. Muchos recursos importantes están sólo en inglés, o son muy difíciles de encontrar en español.
57  Seguridad Informática / Análisis y Diseño de Malware / Re: ¿Todavía un motor metamorfico en malware tiene sentido hoy? en: 1 Octubre 2014, 18:29 pm
Mmmm... la solucion esta en el cifrado, y usar diferentes claves en cada copia generada del malware.. Ahora estoy del cel y cuesta un poco extender el comentario.. pero creo que te haces una idea.. desde la pc pongo mas mañana..

Saludos!!
Claro, pero aún necesitarías que el código que descifra el malware sea metamórfico.
58  Foros Generales / Foro Libre / Re: UNA DUDITA POR FAVOR QUE ALGUIEN ME AYUDE!!! en: 1 Octubre 2014, 18:27 pm
(pero como dice el dicho "con paciencia y vaselina...")
Qué mal suena eso :P
59  Programación / PHP / Re: Mostrar variable de windows en php en: 1 Octubre 2014, 18:21 pm
Ok gracias vere que se puede hacer con java.

Gracias por tu respuesta.
Java != javascript
60  Programación / Programación C/C++ / Re: Como generar numeros aleatorios pares? en: 1 Octubre 2014, 18:12 pm
Si se quiere desactivar el bit menos significativo otra opción es obtener la mascara mediante el operador de complemento a uno con la ventaja de no necesitar la inclusión de <limits.h>:
Código
  1. num = rand() % 51 & ~1;

Un saludo
Para los que no entienden el "~1":
Dado el hecho de que ~ invierte los bits (es la función inversa o complementaria en matemáticas) así:
~1001 pasa a ser 0110, ~1111 pasa a ser 0000, etc.

Entonces, sabiendo que "1" se representa así en binario:
0000 0000 | 0000 0000 | 0000 0000 | 0000 0001
(he separado los bits para que se lean fácilmente)
Su complemento es:
1111 1111 | 1111 1111 | 1111 1111 | 1111 1110

Entonces, [cualquier número] AND [máscara] es:
1101001010011011001101110001101
AND
1111111111111111111111111111110
----------------------------------------------------
1101001010011011001101110001100

Eliminando así el bit menos significativo, y haciendo que el número sea par.
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines