Kernel injector??
By: Hell_Demon
You'll probably need an injector with kernel priviledges since hackshield hides crossfire from alot of stuff
You'll probably need an injector with kernel priviledges since hackshield hides crossfire from alot of stuff
How does one obtain 'kernel priviledges' ?
Do you mean kernel acces?
Couse I know how to create a driver and execute code inside the kernel:
Actualy, I've a question regarding the code too
I'm trying to create an iodevice, so that I can communicate with my driver from user mode (IoCreateDevice)
But the function fails, I don't know with wich error message, since returing a value is for some reason not possible...
Can anyone spot an error??
Code:
#include "ntddk.h"
const WCHAR deviceNameBuffer[] = L"\\Device\\SCHiM";
PDEVICE_OBJECT g_Device;
NTSTATUS OnStubDispatch(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp )
{
Irp->IoStatus.Status = STATUS_SUCCESS;
IoCompleteRequest(Irp, IO_NO_INCREMENT );
DbgPrint("Function called, communication successfull");
return STATUS_SUCCESS;
}
VOID OnUnload( IN PDRIVER_OBJECT DriverObject )
{
DbgPrint("OnUnload called\n");
}
NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ){
NTSTATUS ntStatus;
int i;
UNICODE_STRING deviceNameUnicodeString;
// Set up our name and symbolic link.
RtlInitUnicodeString (&deviceNameUnicodeString, deviceNameBuffer );
// Set up the device.
ntStatus = IoCreateDevice ( DriverObject, 0, &deviceNameUnicodeString, 0x00001234, 0, TRUE, &g_Device );
DbgPrint("Status: Loaded");
DbgPrint(" Divice is: %x",ntStatus); //this doesn't work for some reason
DriverObject->DriverUnload = OnUnload;
for(i=0;i< IRP_MJ_MAXIMUM_FUNCTION; i++ ) //loop through messages received...
{
DriverObject->MajorFunction[i] = OnStubDispatch; //if got messages shove them to the function
}
return STATUS_SUCCESS;
}
So before trying and figuering it all out myself I thougt I would ask before going on another os killing spree
