Salut a tous !
Je développe un " driver " , permettant de cacher un processus dans le Task Manager.
Mon problème est que je n'arrive pas a envoyer un IOCTL a mon driver , avec la fonction DeviceIoControl. Cette fonction me renvoie une erreur 87,
ceux qui correspond a: ERROR_INVALID_PARAMETER.
J'ai tous vérifier plein de fois et je vois vraiment pas où je me suis trompé... :/
Donc si quelqu'un pourrais m'aider ça serait cool .
J'espère avoir bien expliqué mon problème, sinon dite le moi...
Voila le code:
Code C/C++ :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <winioctl.h>
#define sioctl_type 40000
#define ioctl_hide_process\
ctl_code( sioctl_type, 0x801, method_buffered, file_read_data|file_write_data)
int main()
{
char process[50];
//char retbuff[50];
//dword retbytes;
handle hdevice;
bool test;
printf("\nprocess: ");
scanf_s( "%s" , process , 49 );
hdevice = createfile( text(".\\processhide.sys") , generic_read | generic_write , 0 , null , open_existing , file_attribute_normal , null );
if( hdevice == invalid_handle_value )
{
printf("\nerror open device");
printf("\nerror %d", getlasterror() );
sleep( 1000 );
}
test = (bool)deviceiocontrol( hdevice , ioctl_hide_process , process , sizeof( process ) , null , 0 , &retbytes , (lpoverlapped)null );
if( test == 0 )
{
printf("\nerror deviceiocontrol");
printf("\nerror %d", getlasterror() );
sleep( 1000 );
}
closehandle( hdevice );
return 0;
}
Merci d'avance !
PS: Je code ce driver avec windows 7
Si vous voulez le code du driver , dite le moi.