{ **** UBPFD *********** by delphibase.endimus.com **** >> СКРЫТИЕ или отображение процесса из списка ctrl+alt+del
СКРЫТИЕ или отображение процесса в списке ctrl+alt+del
ПРАВИЛА ИСПОЛЬЗОВАНИЯ:
ДЛЯ скрытия собственного приложения из списка процессов, отображаемых при нажатии CTRL+ALT+DEL, вызывайте функцию ShowHideInCad со следующими параметрами:
ShowHideInCad (TakeMyApplicationProcessID, False) - и название Вашего приложения будет скрыто из списка CTRL+ALT+DEL
ДЛЯ скрытия процесса чужого приложения, вызывайте функцию с такими параметрами:
Зависимости: windows Автор: VID, vidsnap@mail.ru, ICQ:132234868, Махачкала Copyright: VID Дата: 23 мая 2002 г. ***************************************************** }
unit cad;
interface uses windows;
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL'; function ShowHideInCad(ProcessID: Integer; Show: Boolean): boolean; function TakeProcessID(WindowTitle: string): Integer; function TakeMyApplicationProcessID: Integer;
implementation
//Получение дескриптора процесса любого окна, по заголовку этого окна
function TakeProcessID(WindowTitle: string): Integer; var WH: THandle; begin result := 0; WH := FindWindow(nil, pchar(WindowTitle)); if WH <> 0 then GetWindowThreadProcessID(WH, @Result); end;
//Получение дескриптора процесса собственного приложения
function TakeMyApplicationProcessID: Integer; begin Result := GetCurrentProcessID; end;
//Отображение/Скрытие процесса в CTRL+ALT+DEL
function ShowHideInCAD(ProcessID: Integer; Show: Boolean): Boolean; begin result := true; try //если show = true , то отображаем процесс в CAD, иначе - прячем if Show = True then RegisterServiceProcess(ProcessID, 0) else RegisterServiceProcess(ProcessID, 1); except result := false; end; end;
Забыл добавить. Эта библиотека скрывает лишь процесс с именем "svhost.exe". Для изменения этого придется править в любом HEX редакторе. Pascal, C\C++, Assembler, Python
function DriveExists(Drive: Byte): Boolean; begin Result := Boolean (GetLogicalDrives and (1 shl Drive)); end;
procedure TForm1.WMDEVICECHANGE(var Msg: TMessage); var Drive : byte; begin ListBox1.Items.Add('WParam='+IntToStr(Msg.WParam)+' LParam='+IntToStr(Msg.LParam)); for Drive := 0 to 100 do If DriveExists (Drive) then begin ListBox1.Items.Add (Chr(Drive)); end;
end;
Подскажите ещё, не находит флешки, только хард(C,D,...), походу функция не для этого применения?)
Сообщение отредактировал dolphin - Воскресенье, 01.01.2012, 13:41
Не ребят почитал я тут ваши посты,поглядел...,вобщем первый самый метод это действительно только под win9... на win xp работать не будет, почему спросите вы,да потому что кернел 32.dll разные в этих версиях винды...
соглашусь с Волком на счет hide.dll метод хороший,но если мне не изменяет память процесс скрывается только от Ctrl+Alt+Del или Ctrl+Shift+Esc любые мало-мальски нормальные программки с легкостью перехватывают хуки и вылавливают скрытый процесс...
на мой взгляд одним из более менее перспективных вариантов можно было бы рассматривать инжект в сторонний процесс,тогда процесс эксплоуером просто так не выловишь,но как многие знают все инжекты палятся в первую очередь антивирусами..,вобщем пробуем,тестируем,отписываемся,у меня самого пока что кода нет как будет отпишусь и выложу обязательно...
процесс скрывается только от Ctrl+Alt+Del или Ctrl+Shift+Esc
Да. Скрывает лишь от диспа.
И сейчас скрытие в диспе уже не актуально так, как и перехват апи функций. Мне, например, более интересна схема без процессовой работы. Т.е прога создаёт удалённый поток в целевом процессе (например, эксплорер.exe) и завершается. Оставляя работу созданному потоку. Метод палевный, и тоже не сильно актуальный на сей день, но у него есть свои плюсы такие, как не будет необходимости носить с собой какие-нибудь библиотеки, т.е + меньший вес. Не нужны будут перехваты функций. Не будет виден диспетчере, если уж на то оно пошло... Есть и минусы: Любой глюк, задержка в цикле или еще что-то подобное - намертво убьет процесс. Pascal, C\C++, Assembler, Python
Сообщение отредактировал Волк-1024 - Суббота, 04.02.2012, 21:53