Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

процеси и потоки   Найти похожие ветки 

 
bmw ©   (2007-01-05 11:09) [0]

как спрятать прцес из списка CTRL ALt DEL. или как сделать обработчик собітия которій будет ловить сообщения завершения (любово) процеса


 
Chuk & Gek ©   (2007-01-05 12:25) [1]

http://www.yandex.ru/yandsearch?text=%EA%E0%EA+%F3%E1%F0%E0%F2%FC+%EF%F0%EE%E3%F0%E0%EC%EC%F3+%E8%E7+%F1%EF%E8%F1%EA%E0+%EF%F0%EE%F6%E5%F1%F1%EE%E2+%ED%E0+Delphi+&stype=www


 
Anatoly Podgoretsky ©   (2007-01-05 13:04) [2]

> bmw  (05.01.2007 11:09:00)  [0]

В WinXP по CTRL ALt DEL список не показывается.


 
forex   (2007-01-05 13:14) [3]

>В WinXP по CTRL ALt DEL список не показывается
С каких это пор?


 
Anatoly Podgoretsky ©   (2007-01-05 13:26) [4]

> forex  (05.01.2007 13:14:03)  [3]

С давних, это доступно только на платформе 9х, на платформе НТ показывается диалог с кучей кнопок для выполнения различных операций.


 
kaZaNoVa ©   (2007-01-05 14:31) [5]

http://kladovka.net.ru/index.cgi?pid=list&rid=328

api_hide_perexvat.zip  (2730 байт)  
     

kaZaNoVa : 2006-02-06 15:23:33

Легендарная программа - перехват Windows API функций на примере знаменитой NtQuerySystemInformation - программа демонстрирует невидимость в NT-системах от штатного Диспетчера Задач. Программа написана чисто с демонстративной целью и никаких деструктивных действий не делает. Обнаружить можно с помощью Process Explorer. Главное достоинство программы - простота реализации.


 
Vasy_a   (2007-01-07 07:18) [6]

Ну, и тут вставлю свои 5 копеек..

> Легендарная программа - перехват Windows API функций на
> примере знаменитой NtQuerySystemInformation - программа
> демонстрирует невидимость в NT-системах от штатного Диспетчера
> Задач


Как бы не было досадно автору программы, но NtQuerySystemInformation только обёртка для ZwQuerySystemInformation - это раз. Два - востановить адрес оригинальной ф-ии дело - с десяток строк кода, и (кажется) на этом форуме уже приводилось.

Обнаружить можно с помощью Process Explorer. Главное достоинство программы - простота реализации.
Вах!...

Ну, и на последок - возможно не только востановить адрес оригинальной ф-ии, но ещё и выяснить, кто установил перехват (естественно, только, какая программа), что уже чревато отрыванием первичных половых признаков автору этой программы.


 
Shuhrad ©   (2007-01-07 07:36) [7]

"NtQuerySystemInformation только обёртка для ZwQuerySystemInformation"
Сколько открытий совершается на этом форуме !


 
Vasy_a   (2007-01-07 07:50) [8]


> Shuhrad ©   (07.01.07 07:36) [7]


Нижайше звиняюсь, в юзермоде они имеют одну точку входа(в смысле в ntdll.dll).
А в кернелмоде, честно говоря, сейчас лениво смотреть, но (возможно ошибаюсь) всё-таки Nt* проверяет параметры и вызывает Zw*.


 
kaZaNoVa ©   (2007-01-07 17:21) [9]

Vasy_a   (07.01.07 7:18) [6]
Как бы не было досадно автору программы, но NtQuerySystemInformation только обёртка для ZwQuerySystemInformation - это раз.


ЗАДАЧА была только скрыть от от штатного Диспетчера Задач.
что и было реализовано)

по поводу абсолютного скрытия было много наработок разного типа но полностью решить эту задачу невозможно, поэтмоу и я забросил в своё время эту затею ...


 
kaZaNoVa ©   (2007-01-07 17:24) [10]

Vasy_a   (07.01.07 7:18) [6]
выяснить, кто установил перехват (естественно, только, какая программа)

этой "программой" вполне может быть и тот же Explorer  (привет DLL"ам) - что тогда скажите:))))  ?  

хотя при полном включенном аудите систему все находится ... но не об этом речь ..)


 
kaZaNoVa ©   (2007-01-07 17:52) [11]

Vasy_a   (07.01.07 7:18) [6]
p.s. информация к размышлению))
угадай как работает вот это: (на sp2 может не работать ...()

program loader;
{$IMAGEBASE $70000000}
uses
 Windows,Messages;

Var
hProcess, hTh: THandle;
MemPtr: Pointer;
PID,ExitCode,Size,BytesWritten,ThreadID: Cardinal;

function ThreadF1(dwEntryPoint: Pointer): longword; stdcall;

begin
LoadLibrary("kernel32.dll");
LoadLibrary("user32.dll");
while true do
MessageBox(0,"Maliska, ti super !", "Vay!!", MB_SYSTEMMODAL);
Result:=0;
end;

function Main1(dwEntryPoint: Pointer): longword; stdcall;
begin
CreateThread(nil,0,@ThreadF1,dwEntryPoint,0,ThreadID);
Result:=0;
end;

begin
GetWindowThreadProcessId(FindWindow("Progman", nil), @PID);  //;)
if PID = 0 then Exit;

MemPtr:= Pointer(GetModuleHandle(nil));

Size := PImageOptionalHeader(Pointer(integer(MemPtr) + PImageDosHeader(MemPtr)._lfanew + SizeOf(dword) + SizeOf(TImageFileHeader))).SizeOfImage;

hProcess := OpenProcess(PROCESS_CREATE_THREAD or PROCESS_VM_OPERATION or PROCESS_VM_WRITE,true,PID);

if hProcess = 0 then Exit;

BytesWritten:=0;
VirtualFreeEx(hProcess,MemPtr, 0, MEM_RELEASE);
 MemPtr := VirtualAllocEx(hProcess,MemPtr, Size , MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE );

 if MemPtr <> nil then
 begin
   if WriteProcessMemory(hProcess, MemPtr,MemPtr, Size, BytesWritten) then
   begin
   hTh := CreateRemoteThread(hProcess, nil, 0,@Main1,MemPtr, 0, ThreadID);
     if hTh <> 0 then
     begin
       if (WaitForSingleObject(hTh,INFINITE) = WAIT_OBJECT_0) and
         GetExitCodeThread(hTh, ExitCode) then CloseHandle(hTh);
     end;
   end ;
 //  VirtualFreeEx(hProcess, MemPtr, 0, MEM_RELEASE);  //?
 end;
 CloseHandle(hProcess);
end.


 
Riply ©   (2007-01-07 23:17) [12]

>[9] kaZaNoVa ©   (07.01.07 17:21)
>по поводу абсолютного скрытия было много наработок разного типа
Привет !
Помня твое пристрастие к "сокрытиям", делаю предложение,
"от которого ты не сможешь отказаться" (с)Крестный отец
Давай поиграем "в прятки" ?
Ты будешь прятаться у меня на компьютере, а я тебя искать.
Условия такие:
1. Все происходит в "Юзер моде". (Большее я не потяну:( )
2. Для прятанья и поиска используются только собственно - лапно
   написанные модули. (например, я не имею права использовать даже TaskMgr).
3. Твоя задача (будь ты процессом, DLL - кой или сервисом)
   стать невидимым и переодически, любым образом, сообщать
   о том, что ты жив :)) Переодичность я могу менять.
4. Моя - найти тебя и способ "убиения" :)
   Разумеется рестарт тебя не убивает :)
5. Все "пряталки" имеют доступные Install и Uninstall.
   После Uninstall - а все в первозданном виде, как будто ничего и не было :)
6. Не допускается изменение (временное в т. ч.) никаких системных файлов, настроек и т. п.
   (кроме прописывания себя туда, откуда собрался стартовать)
7. Любая (самая незначительная) ошибка системы в результате твоих действий
    - твой проигрыш. P.S. Надеюсь до краха не дойдет. :)
Я смогу посвящать "пряткам" примерно час в день.


 
kaZaNoVa ©   (2007-01-07 23:55) [13]

Riply ©   (07.01.07 23:17) [12]
1. Все происходит в "Юзер моде". (Большее я не потяну:( )

забавно) думаю у меня немного шансов)

а по теме как там автор решил проблему?


 
kaZaNoVa ©   (2007-01-07 23:58) [14]

Riply ©   (07.01.07 23:17) [12]
3. Твоя задача (будь ты процессом, DLL - кой или сервисом)

я пишу дллку, гружу в эксплорер через реестр ... простой юзер не найдет 99%....

но через что-то типа VMware + прога сканирования реестра и  файлов= мою прогу находят мгновенно .... бесмысленный спор)


 
kaZaNoVa ©   (2007-01-07 23:59) [15]


> DLL - кой или сервисом)

хороший сервис из юзер-режима) сразу виден уровень автора))


 
Riply ©   (2007-01-08 00:27) [16]

>забавно) думаю у меня немного шансов)
Тогда упростим задачу - будем прятаться от конкретной программы
>но через что-то типа VMware + прога сканирования реестра и
>файлов= мою прогу находят мгновенно
Но, чтобы это использовать, надо сначала написать :)
> .... бесмысленный спор)
Спора никакого нет. Есть предложение просто поиграть в игру,
которая (надеюсь) принесет какие-то познания :)
>сразу виден уровень автора))
Значит тебе проще будет прятаться, а мне сложнее искать :)
P.S. Я не хочу никому ничего доказывать.
Очень вероятно, что я проиграю. Но все равно - интересно.


 
Riply ©   (2007-01-08 00:41) [17]

P.S. Играют же люди в "CrackMe", а здесь будет "FindMe" :)


 
kaZaNoVa ©   (2007-01-08 01:00) [18]

Riply ©   (08.01.07 0:27) [16]
Тогда упростим задачу - будем прятаться от конкретной программы

именно эту задачу я успешно решил в   [5], какие будут предложения?)) :crazy: (еще был код, который прятался от процесс-эскплорера но глюкавый)


 
Riply ©   (2007-01-08 01:13) [19]

> [18] kaZaNoVa ©   (08.01.07 01:00)
>именно эту задачу я успешно решил в   [5], какие будут предложения?))
Сейчас попробую. О результатах доложу.
P.S. Может мне понадобиться некоторое время.


 
Riply ©   (2007-01-08 03:46) [20]

Никак не могла заставить pro.exe от меня спрятаться.
Вижу его и все тут :)) Пока не сообразила, что надо
загружать NtQuerySystemInformation статически.
При динамической загрузке Hide.dll ее не перехватывает.
Т.е. можно считать, что не спятались :)
С меня осталось получение имени виновника перехвата :)


 
kaZaNoVa ©   (2007-01-08 07:48) [21]

Удалено модератором


 
Riply ©   (2007-01-08 08:44) [22]

> [21] kaZaNoVa ©   (08.01.07 07:48)
>вариант [5] прячется от штатного Диспетчера
Ну..., так не интересно.
Ты бы еще от калькулятора спрятался :)
Ну не писать же мне перехват к TaskMng
с подменой подмененной SQI на настоящую, чтобы он увидел pro.exe :)
(Ищ ты какая фраза получилась :))
Давай так: я даю путь к exe, которым буду искать,
а ты волен пытаться его обмануть как угодно.
>очень интересно, как ..))))
Базируясь на разработках Игоря Шевченко, в частности на HsPeImage.pas.
Грубо, суть такова:
по адресу перехваченной функции пытаемся найти DLL - ку,
осуществившую перехват, ну и попутно вызвать "настоящую" функцию.


 
kaZaNoVa ©   (2007-01-08 09:41) [23]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.046 c
15-1168179242
Rouse_
2007-01-07 17:14
2007.01.28
Пардон, но срочно нужно.


5-1147638855
Лев
2006-05-15 00:34
2007.01.28
Нужна компонента типа TMemo но с возможностью простейшего формата


2-1168269424
Влад
2007-01-08 18:17
2007.01.28
Большие числа.


1-1164191499
Uran
2006-11-22 13:31
2007.01.28
Проблеммы с кирилицей.


1-1164969759
Medved_
2006-12-01 13:42
2007.01.28
Текст в ячейках Stringrid и память