Приветствую Вас Гость | RSS

Меню сайта

Категории раздела
Мои статьи [11]
Видео [3]

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Мои статьи

Неубиваемый процесс

 

 

 

  1. function ZwSetInformationProcess(cs1:THandle; cs2:ULONG; cs3:Pointer; cs4:ULONG):ULONG; stdcall; external 'ntdll.dll';
  2.  
  3. function Non_Killable(Process: String; BSOD: Bool): ULONG;
  4. var
  5.   Val        : ULONG;
  6.   ProcessEntry  : TProcessEntry32;
  7.   hSnapshot  : THandle;
  8.   ProcessHandle : THandle;
  9.   ProcessID  : DWORD;
  10. begin
  11.   case BSOD of
  12.     True  : Val := $FFFFFFFF;
  13.     False : Val := $8000F129;
  14.   end;
  15.   hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  16.   ProcessEntry.dwSize := SizeOf(ProcessEntry32);
  17.   while Process32Next(hSnapshot, ProcessEntry) do
  18.   begin
  19.     if Process = ProcessEntry.szExeFile then
  20.     begin
  21.       ProcessID := ProcessEntry.th32ProcessID;
  22.       ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, True, ProcessID);
  23.       CloseHandle(hSnapshot);
  24.     end;
  25.   end;
  26.   Result := ZwSetInformationProcess(ProcessHandle, $21, @Val, SizeOf(Val));
  27. end;
  28. non_killable('Project1.exe', False); //Sin BSOD
  29. non_killable('Project1.exe', True); //Con BSOD
  30.  
  31. Importar "Pauscal.prp"
  32. Proc GetCurrentProcess():Entero, "Kernel32.dll"
  33. Proc ZwSetInformationProcess(p1,p2,p3,p4:EnteroSig):Entero, "ntdll.dll"
  34. Var Val:EnteroSig
  35. Val = &8000F129 ' &FFFFFFFF ' BSOD
  36. ZwSetInformationProcess(GetCurrentProcess(),&21,Val@,Long(Val))
  37. Repetir
  38. Pausar(1000)
  39. PorSiempre
  40.  
  41.  
Категория: Мои статьи | Добавил: Mitiay (28.05.2014)
Просмотров: 658 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
  Мой сайт   Главная   Регистрация   Вход  
Форма входа

Поиск

  • Есть вопросы?
  • Друзья сайта


    Разработка программного обеспечения
    Copyright MyCorp © 2024 Бесплатный хостинг uCoz