Autor
|
Tema: Introducción a la programación de drivers en Windows (Leído 32,579 veces)
|
angelrobi
Desconectado
Mensajes: 25
rapcet01
|
muy buno el manual y hasta pronto amigos,.-.--.-.-.-.--
|
|
|
|
|
En línea
|
saludos
|
|
|
Nork
Desconectado
Mensajes: 195
|
Tengo un problema al intentar cargar los symbols: SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols lkd> SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols Couldn't resolve error at 'RV*c:\websymbols*http://msdl.microsoft.com/download/symbols' La carpeta C:\websymbols la tengo creada 
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
ve a File -> Symbol file path y coloca eso hay. Luego dentro del deputador mete estos comandos: .symfix .reload Y listo 
|
|
|
|
|
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
|
|
|
|
|
traviatØ
Desconectado
Mensajes: 156
|
Hola 1 salu2, me preguntaba si la programacion de drivers a la que se refiere en este post, aplica o es valida, en windows xp sp1 sp2 ... windows vista etc en varias versiones, es decir no importa la version de windows? bueno supongo que claro no debe de 'aplicar' para versiones muy antiguas.. salu2s
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
Siempre que no uses nada "harcodeado" te va a funcionar. En el ejemplo del DKOM, tienes que mirar que las direcciones de las diferentes ramas de la estructura eprocess sean en la dirección adecuada, las direcciones cambian según versión  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
|
|
|
EREBOR
Desconectado
Mensajes: 1
|
Buenos dias!! Hoy me e puesto con el manual, bueno lo e intentado ya que nada mas empezar dice: " Para compliar lo que tienen que hacer es crear una carpeta y dentro meter el codigo (main.c por ejemplo) y un archivo SOURCE y un MAKEFILE."Bueno ahora mi duda xD, seguro que parecerá mu novata pero estoy empezando jejeje, el SOURCE y el MAKEFILE ambos los cree a partir de un .txt en el cual meti los comandos y luego el SOURCE lo pase a .list y el MAKEFILE a .def, estos tampoco sabia como crearlos pero buscando un poco en google descubri que se podia hacer asi...Pero lo que no encuentro es como meter el codigo main.c en la carpeta... Gracias!!! Y perdon por las molestias!! 
|
|
|
|
|
En línea
|
|
|
|
|
Karcrack
|
@EREBOR En este mismo post hice un script en VBS para ahorrarnos todo ese trabajo  Seguramente te sirva  Saludos 
|
|
|
|
|
En línea
|
|
|
|
|
|
|
|
escabe
Desconectado
Mensajes: 34
|
He estado siguiendo con mucho interés este hilo y me ha parecido muy bueno. Doy las gracias sinceras a Hendrix por su trabajo y darme la oportunidad de aprender a programas drivers. He hecho prácticas con el Hook a ZwOpenProcess y me a funcionado bien. Saludos. PD: Quisiera aportar al hilo otra forma de conseguir un Hook, por ejemplo a la misma API mencionada: VOID Hook() { _asm cli ZwOpenProcessIni =(PZwOpenProcess)(SYSTEMSERVICE(ZwOpenProcess)); (PZwOpenProcess)(SYSTEMSERVICE(ZwOpenProcess)) = NewZwOpenProcess; _asm sti }
VOID UnHook() { _asm cli (PZwOpenProcess)(SYSTEMSERVICE(ZwOpenProcess)) = ZwOpenProcessIni; _asm sti }
// SYSTEMSERVICE es la macro que se describe en este hilo Saludos.
|
|
|
|
« Última modificación: 19 Enero 2009, 21:10 por escabe »
|
En línea
|
|
|
|
|
Zzombi
|
He estado siguiendo con mucho interés este hilo y me ha parecido muy bueno. Doy las gracias sinceras a Hendrix por su trabajo y darme la oportunidad de aprender a programas drivers. He hecho prácticas con el Hook a ZwOpenProcess y me a funcionado bien. Saludos. PD: Quisiera aportar al hilo otra forma de conseguir un Hook, por ejemplo a la misma API mencionada: VOID Hook() { _asm cli ZwOpenProcessIni =(PZwOpenProcess)(SYSTEMSERVICE(ZwOpenProcess)); (PZwOpenProcess)(SYSTEMSERVICE(ZwOpenProcess)) = NewZwOpenProcess; _asm sti }
VOID UnHook() { _asm cli (PZwOpenProcess)(SYSTEMSERVICE(ZwOpenProcess)) = ZwOpenProcessIni; _asm sti }
// SYSTEMSERVICE es la macro que se describe en este hilo Saludos. me funciono perfecto!! gracias escabe
|
|
|
|
|
En línea
|
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
El enlace del DebugView está roto. Dejo un enlace a continuación: http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx Saludos 
|
|
|
|
« Última modificación: 26 Agosto 2010, 00:42 por Horricreu »
|
En línea
|
|
|
|
Distorsion
Desconectado
Mensajes: 206
15Hz ~ 20Hz
|
Muy buen texto, me ha entrado el gusanillo. Mi pregunta es si ai por aí alguna lista de las apis que se pueden llamar en modo kernel para encontrar equivalentes a las de modo usuario, por ejemplo encontrar la equivalente a GetProcessId(). Gracias por la aportación 
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
Muy buen texto, me ha entrado el gusanillo. Mi pregunta es si ai por aí alguna lista de las apis que se pueden llamar en modo kernel para encontrar equivalentes a las de modo usuario, por ejemplo encontrar la equivalente a GetProcessId(). Gracias por la aportación  Pues no lo se, hay una lista de API's para modo kernel aquí: http://jedi-apilib.sourceforge.net/native/NativeList.htmlY para lo que tu pides, puedes desensamblar la API con el WinDbg para ver las llamadas a API's del kernel y sus parámetros. 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
|
|
|
|
|