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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con driver
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con driver  (Leído 6,159 veces)
Air_Dragon

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Ayuda con driver
« en: 29 Julio 2010, 21:30 pm »

Hola, estoy usando este codigo posteado por Hendrix http://foro.elhacker.net/programacion_cc/modo_kernel_listando_procesos_incluso_ocultos_por_dkom_simple-t282019.0.html;msg1390274

Lo que me pasa es que cuando lo cargo me sale pantalla azul.. y reinicio de la pc.. o sea se muere todo.. me pasa en XP, Vista y Seven.. talvez tiene algo incorrecto el Codigo, si alguien puede ayudarme le agradezco ..:)

Código:
#include <ntddk.h>
#include <ntifs.h>
 
void Salir(PDRIVER_OBJECT DriverObject)
{
    DbgPrint("Saliendo");
}
 
void HideProcess( char* input )
{
PEPROCESS PeProcess = NULL;
PLIST_ENTRY pNextEntry, pListHead;
PLIST_ENTRY BeforeProcess,Process,AfterProcess;
PeProcess = PsGetCurrentProcess();
if(!PeProcess)
return;
if(IsListEmpty(&PeProcess->ActiveProcessLinks))
return;
else
{
pListHead = &PeProcess->ActiveProcessLinks;
pNextEntry = pListHead->Flink;
 
while(pNextEntry != pListHead)
{
PeProcess = CONTAINING_RECORD( pNextEntry,EPROCESS,ActiveProcessLinks );
if(PeProcess->ActiveThreads)
{
if( !IsListEmpty( &PeProcess->ThreadListHead ) )
{
if( _strnicmp( PeProcess->ImageFileName, input ,strlen(input) ) == 0 )
{
Process = pNextEntry;
BeforeProcess = pNextEntry->Blink;
AfterProcess = pNextEntry->Flink;
BeforeProcess->Flink = Process->Flink;
AfterProcess->Blink = Process->Blink;
return;
}
}
}
PeProcess = NULL;
pNextEntry = pNextEntry->Flink;
}
}
return;
}
 
NTSTATUS DriverEntry( PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
NTSTATUS s;
int i=0;
int e = 0;
int nstruct = 0;
int cont = 0;
unsigned long pid;
PUNICODE_STRING pUnicode_NAme;
ANSI_STRING stri;
PEPROCESS eproc;
 
    DriverObject->DriverUnload=Salir;
 
DbgPrint("Escondiendo explorer.exe...");
HideProcess("explorer.exe");
DbgPrint("Trabajo terminado :)");
return  STATUS_SUCCESS;
}


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Ayuda con driver
« Respuesta #1 en: 29 Julio 2010, 21:44 pm »

¿Lo entendes? ¿Leiste el otro hilo completo?

Genera un dump o depuralo.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Air_Dragon

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Ayuda con driver
« Respuesta #2 en: 29 Julio 2010, 21:51 pm »

Si lo lei, tb me lei todo el tuto que el mismo hendrix hizo de como programar los drivers..

Evidentemente hay algo q estoy haciendo mal.. por eso posteo por aqui...

Como puedo debuguear el driver? xq cuando lo testeo con osrloader, se me cuelga todo ^^
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Ayuda con driver
« Respuesta #3 en: 29 Julio 2010, 22:08 pm »

Necesitas dos maquinas y puerto COM o firewire, tambien podes hacerlo en una maquina virtual con un puerto COM.

Busca en Google: kernel debugging windbg.


PD. No se ni como generas el codigo con las cabeceras que tiene y las estructuras indefinidas.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Air_Dragon

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Ayuda con driver
« Respuesta #4 en: 29 Julio 2010, 22:37 pm »

Voy a leer eso del debug...
uso las librerias por defecto de SDK

#include <ntddk.h>
#include <ntifs.h>



En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Ayuda con driver
« Respuesta #5 en: 29 Julio 2010, 22:43 pm »

Son del WDK (antiguo DDK) e historicamente no se usan las dos al mismo tiempo, se usa una o la otra. Desde la version de Vista del WDK se puede incluir ntifs.h y despues ntddk.h (lo que es redundante) pero haciendo lo contrario hay errores de doble definicion ...

Cita de: WDK
Organization of Wdm.h, Ntddk.h, and Ntifs.h
Before the Windows Vista version of the WDK, the main header files that are used driver development—Wdm.h, Ntddk.h, and Ntifs.h—contained many duplicate declarations.

Beginning with the Windows Vista version of the WDK, Wdm.h, Ntddk.h, and Ntifs.h are organized hierarchically and do not contain duplicate information. The higher-level files include the lower-level files. Each function and structure declaration appears only once.

Ntifs.h includes Ntddk.h, and Ntddk.h includes Wdm.h.

Cita de: WDK
Files that are higher in the hierarchy include files that are lower in the hierarchy. Specifically, Ntifs.h includes Ntddk.h, which includes Wdm.h. This hierarchy eliminates the duplication of contents that occurred when the files were not hierarchical.

Igual poniendo el orden correcto tampoco compila el codigo ... tal vez con un WDK mas moderno que el codigo que si defina los campos de EPROCESS ...
« Última modificación: 29 Julio 2010, 23:05 pm por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Air_Dragon

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Ayuda con driver
« Respuesta #6 en: 29 Julio 2010, 23:31 pm »

Es que a mi me compila, claro comente algunas declaraciones repetidas, xq no lo hice como posteas ahi, no me di cuenta q estaban re declaradas xq una libreria incluia otra...

Compila sin problemas, el crash de windows es cuando le doy Run al driver..

En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Ayuda con driver
« Respuesta #7 en: 29 Julio 2010, 23:38 pm »

¿Editaste los archivos del WDK para poder generar el binario? Podrias decir que version usas y pegar el contenido del archivo SOURCES para ver como lo generas.

PD. No estan redeclaradas por lo contrario actualmente, originalmente iban separadas, incluso existia el DDK (ntddk.h) y el IFS (ntifs.h).
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Air_Dragon

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Ayuda con driver
« Respuesta #8 en: 29 Julio 2010, 23:43 pm »

Version: 7600.16385.1 (creo que es la ultima)

Makefile
Código:
!INCLUDE $(NTMAKEENV)\makefile.def

Source
Código:
TARGETNAME=Protect
TARGETTYPE=DRIVER
TARGETPATH=obj


INCLUDES=..\..\inc

SOURCES = driver.c

Y el .c esta posteado arriba, me genera eso si 2 warnings..

Código:
48    NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)  
  
         driver.c(48) : warning 28101: The Drivers module has inferred that the current function is a DRIVER_INITIALIZE function: This is informational only. No problem has been detected.
Found in function 'DriverEntry'
48  

Código:
59        DriverObject->DriverUnload=Salir;   
  
         driver.c(59) : warning 28155: The function being assigned or passed should be a DRIVER_UNLOAD function: Add the declaration 'DRIVER_UNLOAD Salir;' before the current first declaration of Salir.
Found in function 'DriverEntry'
59  
 

« Última modificación: 29 Julio 2010, 23:46 pm por Air_Dragon » En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Ayuda con driver
« Respuesta #9 en: 29 Julio 2010, 23:51 pm »

Tendre que bajar la ultima version entonces ...

\winddk\6000\inc\ddk\ntifs.h(85) : error C2371: 'PEPROCESS' : redefinition; different basic types
\winddk\6000\inc\ddk\ntifs.h(86) : error C2371: 'PETHREAD' : redefinition; different basic types

driver.c(18) : error C2037: left of 'ActiveProcessLinks' specifies undefined struct/union '_KPROCESS'
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Driver de Red D5013-60002
Windows
Yosdb 0 1,466 Último mensaje 3 Septiembre 2012, 01:30 am
por Yosdb
ayuda con driver
Windows
Legnak 2 1,628 Último mensaje 19 Julio 2013, 22:26 pm
por Legnak
Ayuda con driver y mas
Windows
Mapcimus 2 1,809 Último mensaje 30 Julio 2013, 22:10 pm
por Mapcimus
Ayuda con driver usb !!
Dudas Generales
Unsighted_6x 2 2,826 Último mensaje 3 Mayo 2015, 03:36 am
por Unsighted_6x
Ayuda con driver
Software
crazyboomlol 4 1,599 Último mensaje 29 Septiembre 2018, 01:33 am
por crazyboomlol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines