Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Хук на TerminateProcess


Автор: z01b 16.7.2007, 15:59
Помогите плз сделать хук на TerminateProcess, было бы хорошо с сырцами.

Автор: MetalFan 16.7.2007, 16:31
тебе в "работу" чтоль. или в центр помощи.
здесь тебе ничего писать не будут, а разве что подскажут как и помогут ошибки найти ;)

Автор: z01b 16.7.2007, 17:02
ну хоть примерчик ))

Автор: Rennigth 16.7.2007, 17:04
http://forum.vingrad.ru/topic-88052.html

Автор: z01b 16.7.2007, 17:27
Код
library Hook;
uses
  Windows, AdvApiHook, NativeAPI;
  var
  TrueZwTerminateProcess:Function (ProcessHandle:dword;
                            ExitStatus:dword):NTStatus;stdcall;
  //
  function NewZwTerminateProcess (ProcessHandle:dword;
                            ExitStatus:dword):NTStatus;stdcall;
  var
  pid: DWORD;
  MyHandle: DWORD;
  begin
  pid:=GetProcessId('Explorer.EXE'); //так для примера :)
  MyHandle:=OpenProcess(PROCESS_ALL_ACCESS, false,pid);
  if MyHandle = ProcessHandle
  then
 MessageBox(0, 'Нашёлся :)', 'Проверка', MB_ICONINFORMATION or MB_OK)
 else
 TrueZwTerminateProcess(ProcessHandle, ExitStatus);
end;
procedure LibraryProc (Reason : integer);
begin
  case Reason of
    DLL_PROCESS_ATTACH : //событие присоединения к процессу
      begin
         //ставим хук
       HookProc('ntdll.dll', 'ZwTerminateProcess', @NewZwTerminateProcess, @TrueZwTerminateProcess);
      end;
    DLL_PROCESS_DETACH :
//Отсоединение от процесса
// снимаем хук
    begin
     UnhookCode(@TrueZwTerminateProcess);
    end;
  end;
end;
begin
  DllProc := LibraryProc;
  DllProc (DLL_PROCESS_ATTACH);
end.

Для этого нету  AdvApiHook ((( , есть у когонить?

Автор: Rennigth 16.7.2007, 17:54
Забираем с wasm-а
http://www.wasm.ru/article.php?article=apihook_1

Добавлено через 26 секунд
где-то там есть, в какомто архиве.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)