Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

бык не пашет

261
30 июня 2006 года
ahilles
1.5K / / 03.11.2005
арни, у меня проблема - не передаётся значение драйверу
создаю устройство всё нормально , проверяю код операции всё норамльно, а само значение - это проблема.
(Delphi)
var
PID:DWORD;
begin
DeviceIoControl(hDriver, IOCTL_KILL_PROCESS, @PID, sizeof(PID), nil, 0, BR, nil);

(Driver)
ULONG ProcessIDForKill;

pisl = IoGetCurrentIrpStackLocation (Irp);
ProcessIDForKill = 0;
BuffSize = pisl->Parameters.DeviceIoControl.OutputBufferLength;
InpBuffSize = pisl->Parameters.DeviceIoControl.InputBufferLength;
pBuff = Irp->AssociatedIrp.SystemBuffer;
Irp->IoStatus.Information = 0;
.........
case IOCTL_KILL_PROCESS :
{
memcpy(&ProcessIDForKill,pBuff,InpBuffSize);
ns = KillProcessFromKernel(ProcessIDForKill);//она не завершает процесс наверное
//потому что значение ID неправильное
Irp->IoStatus.Information = 0;
}
break;
....
return ns;
9.5K
03 июля 2006 года
Damarus
101 / / 08.04.2006
Обьясни что за функция KillProcessFromKernel.
261
06 июля 2006 года
ahilles
1.5K / / 03.11.2005
эта функция находится в этом же драйвере и предназначена для убийства процесса - она проверена - она работает
NTSTATUS KillProcessFromKernel(ULONG ProcessID)
{
OBJECT_ATTRIBUTES OA={sizeof(OBJECT_ATTRIBUTES)};
CLIENT_ID CID = {0,0};
NTSTATUS RES;
HANDLE hProcess = 0;

//memset(&OA,0,sizeof(OA));//??????????
CID.UniqueProcess = (HANDLE)ProcessID;
//CID.UniqueProcess = (HANDLE)1424;
CID.UniqueThread = 0;
RES = NtOpenProcess(&hProcess,PROCESS_ALL_ACCESS,&OA,&CID);
if (RES != STATUS_SUCCESS)
{
// прямо сюда ставил синий экран для проверки
// где возникает ошибка
__asm{xor eax,eax mov eax,[eax]}
return RES;
}
RES = ZwTerminateProcess(hProcess,0);
if (RES != STATUS_SUCCESS)
{
// и сюда тоже ставил до сюда не доходит
__asm{xor eax,eax mov eax,[eax]}
return RES;
}
RES = ZwClose(hProcess);
return RES;
}
//-----
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог