Форум: "Начинающим";
Текущий архив: 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