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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Introducción a la programación de drivers en Windows
0 Usuarios y 4 Visitantes están viendo este tema.
Páginas: 1 2 3 4 5 6 [7] 8 Ir Abajo Respuesta Imprimir
Autor Tema: Introducción a la programación de drivers en Windows  (Leído 81,303 veces)
Distorsion

Desconectado Desconectado

Mensajes: 238


15Hz ~ 20Hz


Ver Perfil
Re: Introducción a la programación de drivers en Windows
« Respuesta #60 en: 7 Agosto 2010, 15:58 pm »

Si a alguien le interesa un visor de APIs hookeadas que funcione con win7 es el RootKit Hook analizer.
 ;D

« Última modificación: 7 Agosto 2010, 16:07 pm por Distorsion » En línea

Distorsion

Desconectado Desconectado

Mensajes: 238


15Hz ~ 20Hz


Ver Perfil
Re: Introducción a la programación de drivers en Windows
« Respuesta #61 en: 17 Agosto 2010, 16:26 pm »

Hola,
estoy intentando hacer un hook en un driver, cambiando una dirección de los MAJORS, el problema es que cuando lo hago se cuelga el sistema.

No se si es porque no obtengo bien la dirección del MAJOR o por el cambio de dirección del MAJOR o por la función propia que sustituyo con el hook.

Se que con el memoryze puedo ver las direcciones de los drivers y sus MAJORS así ya descartaría la primera posibilidad, pero no funciona con el windows 7.

Alguien sabría algún programa parecido que funcione en windows 7?

Por cierto Virtual pc más windbg y driver cargado con osrloader me peta la VM :S

He visto en codigos cosas parecidas a estas:
InterlockedExchangePointer(&Driver->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL],HookDriver);

Seria lo mismo que esto verdad:

Driver->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = HookDriver;

Saludos.
« Última modificación: 17 Agosto 2010, 17:16 pm por Distorsion » En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Introducción a la programación de drivers en Windows
« Respuesta #62 en: 19 Agosto 2010, 11:53 am »

Hola,
estoy intentando hacer un hook en un driver, cambiando una dirección de los MAJORS, el problema es que cuando lo hago se cuelga el sistema.

No se si es porque no obtengo bien la dirección del MAJOR o por el cambio de dirección del MAJOR o por la función propia que sustituyo con el hook.

Se que con el memoryze puedo ver las direcciones de los drivers y sus MAJORS así ya descartaría la primera posibilidad, pero no funciona con el windows 7.

Alguien sabría algún programa parecido que funcione en windows 7?

Por cierto Virtual pc más windbg y driver cargado con osrloader me peta la VM :S

He visto en codigos cosas parecidas a estas:
InterlockedExchangePointer(&Driver->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL],HookDriver);

Seria lo mismo que esto verdad:

Driver->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = HookDriver;

Saludos.

Aquí hay un texto sobre lo que pides (IRP Hooking): http://www.rootkit.com/newsread.php?newsid=846

En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
gil8250

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introducción a la programación de drivers en Windows
« Respuesta #63 en: 24 Agosto 2010, 00:21 am »

hola, estuve leyendo el tuto, por que estoy interesado en hacer un bypass al gameguard, para 9 dragons, ya que el gameguard hace hook al proceso del cliente, y no permite ver la memoria o modificarla , simplemente lo oculta de la lista de procesos,

una cosa es unhookear el gameguard,  pero el mismo hace chekeos para  ver si los hook estan activos,

crees que haya un manera de hacerlo y hacerle creer al gameguard que aun estan los hook activos,


gracias,  agradezco cualquier ayuda ;-)
En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Introducción a la programación de drivers en Windows
« Respuesta #64 en: 24 Agosto 2010, 12:49 pm »

hola, estuve leyendo el tuto, por que estoy interesado en hacer un bypass al gameguard, para 9 dragons, ya que el gameguard hace hook al proceso del cliente, y no permite ver la memoria o modificarla , simplemente lo oculta de la lista de procesos,

una cosa es unhookear el gameguard,  pero el mismo hace chekeos para  ver si los hook estan activos,

crees que haya un manera de hacerlo y hacerle creer al gameguard que aun estan los hook activos,


gracias,  agradezco cualquier ayuda ;-)

Ya comenté en otros posts, que Meek y yo estuvimosintentando parchear el sXe, en modo Kernel y en modo usuario, y al final la solución la encontramos en modo usuario, parcheando algunas funciones del mismo sXe, no se como funciona el GameGuard, pero supongo que se le podrá hacer lo mismo.

Un Saludo
En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
Distorsion

Desconectado Desconectado

Mensajes: 238


15Hz ~ 20Hz


Ver Perfil
Re: Introducción a la programación de drivers en Windows
« Respuesta #65 en: 2 Septiembre 2010, 16:51 pm »

Tengo un problemilla con el siguiente codigo, es sencillo pero me da un pantallazo azul  >:(
Código:

PFILE_OBJECT FileObject;

PsReferenceProcessFilePointer(PsGetCurrentProcess(),&FileObject);


PsGetCurrentProcess() me devuelve el resultado correcto y no da problemas pero al usar PsReferenceProcessFilePointer pues pantallazo azul.


Saludos.
En línea

Distorsion

Desconectado Desconectado

Mensajes: 238


15Hz ~ 20Hz


Ver Perfil
Re: Introducción a la programación de drivers en Windows
« Respuesta #66 en: 4 Septiembre 2010, 18:44 pm »

Medio solucionado.

Ahora solo me peta aveces  ;D
En línea

Distorsion

Desconectado Desconectado

Mensajes: 238


15Hz ~ 20Hz


Ver Perfil
Re: Introducción a la programación de drivers en Windows
« Respuesta #67 en: 10 Septiembre 2010, 15:23 pm »

Haber si alguien sabe echarme una mano.

Intento obtener la ruta del archivo desde un PFILE_OBJECT, entonces si hago esto:

Código:
if (IoQueryFileDosDeviceName(FileObject,&wcFilePath)==STATUS_SUCCESS)
           DbgPrint("Ruta archivo: %s .\n",wcFilePath->Name.Buffer);

Si hago esto funciona bien pero de vez en cuando me da un pantallazo azul muy bonito el IoQueryFileDosDeviceName(FileObject,&wcFilePath).

Así que intento evitar esta API y hago lo siguiente:
Código:
DbgPrint("Ruta archivo: %s .\n",FileObject->FileName.Buffer);

Y cual es mi sorpresa? Que solo imprime una barra :huh:

Haber si alguien me ayuda.

Gracias.
En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Introducción a la programación de drivers en Windows
« Respuesta #68 en: 10 Septiembre 2010, 15:44 pm »

pq es unicode, cambia el %s.
En línea

Distorsion

Desconectado Desconectado

Mensajes: 238


15Hz ~ 20Hz


Ver Perfil
Re: Introducción a la programación de drivers en Windows
« Respuesta #69 en: 10 Septiembre 2010, 18:11 pm »

Ya lo he probado con el %ws y el 'L' delante de todo y sale lo mismo :-[
En línea

Páginas: 1 2 3 4 5 6 [7] 8 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Introducción a la programación con Android « 1 2 3 »
Java
Casidiablo 29 70,988 Último mensaje 14 Diciembre 2012, 09:12 am
por R/G
Programacion con API de Windows
Programación General
ars1993 2 2,703 Último mensaje 3 Junio 2013, 17:13 pm
por ars1993
Programación drivers
Programación General
FermatsTheorem 5 5,139 Último mensaje 1 Noviembre 2017, 07:29 am
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines