Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2008, 20:10   #11
One.Love
Пользователь
 
Регистрация: 13.01.2008
Сообщений: 91
По умолчанию

B_N
Я смотрю ты умные вещи знаешь?
Люди пытаются помочь, а ты их тут критикуешь.
Ну если ты знаешь как скрыть процесс из диспетчера задач, выложи код может хватит критиковать каждое первое сообщение?
One.Love вне форума Ответить с цитированием
Старый 19.02.2008, 22:26   #12
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

"скрыть процесс из диспетчера задач". Ха-Ха-Ха.
Послушайте, в Ring3 Вы ничего не добьётесь, если кто и в правду задумал виры писать, то Вам нужно работать в Rign0. От туда возможно практически всё: создавать, удалять любые процессы, даже "system: PID 4", только Winda сразу "сдохнет", забудьте Вы про всякое копирование kernel32.dll из Win 95-х, не будет она работать под XP.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 20.02.2008, 15:35   #13
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию

Глупости это все, назови в XP exe-шник winlogon и не мучайся.
Иллидан вне форума Ответить с цитированием
Старый 20.02.2008, 16:01   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Когда то надыбал пример неубиваемого юзером блокнота:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
   function CreateNoKillProcess(EXEProg:pchar):boolean;
const
 ACL_REVISION = 2;
var
 ACL      : _ACL;
 SD       : _SECURITY_DESCRIPTOR;
 SA       : _SECURITY_ATTRIBUTES;
 si       : _STARTUPINFOA;
 pinfo       : PROCESS_INFORMATION;

 begin
  result:=false;

 // Инициализация структуры ACL (Access Control List)
 // В случае удачи у нас будет ACL, не содержащая ни одного элемента
 // защиты, т.е. запрещающая доступ к объекту всем.
 if not InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)
  then; //ShowMessage('InitializeAcl'+#13#10+SysErrorMessage(GetLastError));

 //  Проверяем ACL на корректность (не обязательно)
 if not IsValidAcl(ACL) then exit;

 // Инициализация структуры SD (Security Descriptor)
 // После инициализации SD будет разрешать доступ к объекту для всех
 if not InitializeSecurityDescriptor(@SD,SECURITY_DESCRIPTOR_REVISION)
  then ;//ShowMessage('InitializeSecurityDescriptor'+#13#10+SysErrorMessage(GetLastError));

 // Добавляем к описателю безопасности наш ACL
 // Теперь SD запрещает доступ всем
 if not SetSecurityDescriptorDacl(@SD,true,@ACl,true)
  then ;//ShowMessage('SetSecurityDescriptorDacl'+#13#10+SysErrorMessage(GetLastError));

 // Опять проверка на корректность структуры
 if not IsValidSecurityDescriptor(@SD) then exit;

 // Заполняем структуру SA (Security Attributes)
 ZeroMemory(@sa,SizeOf(sa));
 sa.nLength:=SizeOf(sa);
 sa.bInheritHandle:=false;
 // Ссылка на наш дескриптор безопасности
 sa.lpSecurityDescriptor:=@SD;

 // Ну и наконец, создаем новый процесс с новыми атрибутами безопасности
 ZeroMemory(@si,SizeOf(si));
 si.cb:=SizeOf(si);
 if not CreateProcess(nil,EXEProg,@sa,@sa,false,0,nil,nil,si,pinfo)
  then ;//ShowMessage('CreateProcess'+#13#10+SysErrorMessage(GetLastError));
 result:=true

end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CreateNoKillProcess('c:\windows\notepad.exe');
end;

end.
Учесть следует что убить из диспетчера такой запуск можно только с правами админа, но всетки можно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.02.2008, 16:03   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Когда то надыбал пример неубиваемого юзером блокнота:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
   function CreateNoKillProcess(EXEProg:pchar):boolean;
const
 ACL_REVISION = 2;
var
 ACL      : _ACL;
 SD       : _SECURITY_DESCRIPTOR;
 SA       : _SECURITY_ATTRIBUTES;
 si       : _STARTUPINFOA;
 pinfo       : PROCESS_INFORMATION;

 begin
  result:=false;

 // Инициализация структуры ACL (Access Control List)
 // В случае удачи у нас будет ACL, не содержащая ни одного элемента
 // защиты, т.е. запрещающая доступ к объекту всем.
 if not InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)
  then; //ShowMessage('InitializeAcl'+#13#10+SysErrorMessage(GetLastError));

 //  Проверяем ACL на корректность (не обязательно)
 if not IsValidAcl(ACL) then exit;

 // Инициализация структуры SD (Security Descriptor)
 // После инициализации SD будет разрешать доступ к объекту для всех
 if not InitializeSecurityDescriptor(@SD,SECURITY_DESCRIPTOR_REVISION)
  then ;//ShowMessage('InitializeSecurityDescriptor'+#13#10+SysErrorMessage(GetLastError));

 // Добавляем к описателю безопасности наш ACL
 // Теперь SD запрещает доступ всем
 if not SetSecurityDescriptorDacl(@SD,true,@ACl,true)
  then ;//ShowMessage('SetSecurityDescriptorDacl'+#13#10+SysErrorMessage(GetLastError));

 // Опять проверка на корректность структуры
 if not IsValidSecurityDescriptor(@SD) then exit;

 // Заполняем структуру SA (Security Attributes)
 ZeroMemory(@sa,SizeOf(sa));
 sa.nLength:=SizeOf(sa);
 sa.bInheritHandle:=false;
 // Ссылка на наш дескриптор безопасности
 sa.lpSecurityDescriptor:=@SD;

 // Ну и наконец, создаем новый процесс с новыми атрибутами безопасности
 ZeroMemory(@si,SizeOf(si));
 si.cb:=SizeOf(si);
 if not CreateProcess(nil,EXEProg,@sa,@sa,false,0,nil,nil,si,pinfo)
  then ;//ShowMessage('CreateProcess'+#13#10+SysErrorMessage(GetLastError));
 result:=true

end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CreateNoKillProcess('c:\windows\notepad.exe');
end;

end.
Учесть следует что убить из диспетчера такой запуск можно только с правами админа, но всетки можно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.02.2008, 18:46   #16
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

да всё возможно, отсюда можно скачать пример программы, которая скрывает процесс lsass.exe. (ксати, там у меня маленькая ошибочка, типа "защита от чайников")

Последний раз редактировалось rpy3uH; 20.02.2008 в 19:09.
rpy3uH вне форума Ответить с цитированием
Старый 21.02.2008, 13:36   #17
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Два вопроса.
- Как показать этот процесс без перезагрузки системы?
или надо только удалить ловушку(hook)?

Для "приколиста", если перебрать все процессы в списке - список будет пуст, вот Юзер удивится.

From Stilet: Пользуйся кнопкой редактирования если хочеш что нибудь добавить, если твой пост последний. Нечего клонов плодить, ато закрою тему

Ок
Всё гениальное - просто!

Последний раз редактировалось Air; 21.02.2008 в 14:09.
Air вне форума Ответить с цитированием
Старый 21.02.2008, 14:11   #18
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
да всё возможно, отсюда можно скачать пример программы, которая скрывает процесс lsass.exe. (ксати, там у меня маленькая ошибочка, типа "защита от чайников")
.......Это немного расширенные модули, думаю Вы оцените.................
Вложения
Тип файла: zip Uses.zip (17.3 Кб, 170 просмотров)
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 21.02.2008, 20:16   #19
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Air Посмотреть сообщение
Два вопроса.
- Как показать этот процесс без перезагрузки системы?
или надо только удалить ловушку(hook)?
да надо удалить ловушку, для этого достаточно выгрузить DLL из своего процесса, и при выгрузке DLL библиотечная функция снимет хук. Следует отметить что пример не очень хорош и для пракического приминения, следует его немного улучшить и оптимизировать.

Цитата:
Сообщение от Air Посмотреть сообщение
.......Это немного расширенные модули, думаю Вы оцените.................
я знаю про них и они у меня есть. я написал свои эквиваленты, чтобы показать что это не копия примеров из статей с wasm.ru.
rpy3uH вне форума Ответить с цитированием
Старый 21.02.2008, 21:54   #20
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

А-а, Понятно.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MDI-приложение Технолог Общие вопросы Delphi 6 02.05.2008 20:10
приложение к facebook ffffffffff Фриланс 1 14.03.2008 18:59
Пароль на приложение Chals Общие вопросы Delphi 6 24.11.2007 21:32
MDI приложение Arsgun Общие вопросы Delphi 4 29.05.2007 12:36
Консольное приложение MAcK Общие вопросы Delphi 2 03.12.2006 18:28