unstoppable exe

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 26.12.2005 (Пн) 21:55

Yurio
:lol:
Прикол: при обновлении действительно исчезает, НО если UTK запустьшь опять то он увидит скрытый hiddenproc. Явно, что сабклассишь всё и вся :D
Изображение

ProgSoldier
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 24
Зарегистрирован: 24.12.2005 (Сб) 0:17
Откуда: Украина

Сообщение ProgSoldier » 26.12.2005 (Пн) 21:59

Или стартани ДЛЛкой. Пропиши в AppInit_DLLs. Тогда и безнопасном режиме ты:
1. Не удалишь (поскольку она загружена)
2. Не KILLнешь (т. к. ДЛЛка цепляется на другие проги, и при попытке её завершения - завершается прога-киллер)
Если страуса пугать с частотой 50 раз в секунду, то его можно использовать как отбойный молоток

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 26.12.2005 (Пн) 22:53

если UTK запустьшь опять то он увидит скрытый hiddenproc

Только если перед этим сначала килльнуть HiddenProc (кнопка "Quit"), а потом запустить его вновь (и не нажимать кнопку "Hide Me"). Я не прав?

И повторяю: 1) никакого сабклассинга нет; 2) работает с разными диспетчерами задач.

to ProgSoldier
Сам проверял, что пишешь, или это все теория?

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.12.2005 (Вт) 0:05

Yurio писал(а):Только если перед этим сначала килльнуть HiddenProc (кнопка "Quit"), а потом запустить его вновь (и не нажимать кнопку "Hide Me"). Я не прав?

Почти прав.
Твоя прога (особенно предыдущей версии) после того, как нажать Hide Me еще некоторое время видна и UTK при запуске успевает ее обнаружить.
Если еще раз нажать "Обновить" - действительно исчезает.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.12.2005 (Вт) 11:27

VVitafresh
Ждал после нажатия Hide Me целую минуту, но при запуске UTK его всё равно было видно. Сдаётся мне, что просто удаляется поле listbox'а.
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.12.2005 (Вт) 11:37

Ну вот утилитка, которая просто список показывает. Как видишь тут HiddenProc никуда не исчезает :) А если в UTK встроить добивание исчезнувших элементов (элемент исчез а мы по его PID'у TerminateProcess'ом :) ), то HiddenProc в ауте. А вообще щас прикручу фичу для отлова "невидимок"
Вложения
TaskList.rar
(3.35 Кб) Скачиваний: 42
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.12.2005 (Вт) 12:32

Вот, прикрутил. Теперь "невидимки" отображаются отдельно, а прога называется UTK2.
З. Ы. Видит и Phantom'a и HiddenProc.
Вложения
UTK2.rar
(8.36 Кб) Скачиваний: 51
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 27.12.2005 (Вт) 12:57

Yurio

Есть такая утилитка: PEiD, в ней есть свой таскменеджер. Он тоже показывает HiddenProc, и что немаловажно, тоже убивает этот HiddenProc.

P.S.
А для какой надобности во все запущенные процессы запихивать msvbvm60.dll ?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.12.2005 (Вт) 13:04

А Phantom'a он видит? HiddenProc, то понятно пришибает из списка уже увиденный процесс, а вот с Phantom'ом проблем больше (я его PID путём шаманских плясок искал).
Изображение

HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Сообщение HotKitten » 27.12.2005 (Вт) 13:26

xenomorph писал(а):
все ваши проги мой taskmanager убивает

... а можно на него одним глазком? 8-)

win2k taskmanager
а что ваши не убивают???
а еще есть утилита WinKiller 2.0 она даже winlogon и csrss.exe убивает
Изображение

ProgSoldier
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 24
Зарегистрирован: 24.12.2005 (Сб) 0:17
Откуда: Украина

Сообщение ProgSoldier » 27.12.2005 (Вт) 15:05

to ProgSoldier
Сам проверял, что пишешь, или это все теория?

Проверял.
А чё тут странного?
Запусти RegMon и увидишь - при каждом запуске ЛЮБОЙ проги - цепляет ветку App_InitDLLs (и другие некоторые - KnownDLLs, напр.)
Если страуса пугать с частотой 50 раз в секунду, то его можно использовать как отбойный молоток

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.12.2005 (Вт) 16:26

ProgSoldier писал(а):Пропиши в AppInit_DLLs.

Ага, а потом её кто-нибудь оттудова также выпишет...
Да и на DLL, написанную на VB управление передаваться не будет.
Изображение

ProgSoldier
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 24
Зарегистрирован: 24.12.2005 (Сб) 0:17
Откуда: Украина

Сообщение ProgSoldier » 27.12.2005 (Вт) 16:31

keks-n писал(а):
ProgSoldier писал(а):Пропиши в AppInit_DLLs.

Ага, а потом её кто-нибудь оттудова также выпишет...


Ну дык таймер поставить можно. Или ч/з сабклассинг-если значение меняется - тады переписываем параметр, как должно быть угодно нам.
Если страуса пугать с частотой 50 раз в секунду, то его можно использовать как отбойный молоток

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.12.2005 (Вт) 16:36

ProgSoldier
Знаешь, есть такое харошее изречение:
На всякую жутко хитрую задницу всегда найдётся ещё более хитрая.

Это я знаешь к чему? К тому что щас тута изобретут что-то оч. страшное, а через месяц какой-нить программер Вася это дело легко кильнёт.
Изображение

ProgSoldier
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 24
Зарегистрирован: 24.12.2005 (Сб) 0:17
Откуда: Украина

Сообщение ProgSoldier » 27.12.2005 (Вт) 16:46

keks-n писал(а):К тому что щас тута изобретут что-то оч. страшное, а через месяц какой-нить программер Вася это дело легко кильнёт.


Через месяц, мож-быть и того Васю перехитришь... :D
Если страуса пугать с частотой 50 раз в секунду, то его можно использовать как отбойный молоток

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 27.12.2005 (Вт) 21:12

Такс, пора отделять мух от котлет :)

Ждал после нажатия Hide Me целую минуту, но при запуске UTK его всё равно было видно.

Минута, час, сутки - не важно. HiddenProc остается в списке твоей программы только потому, что у нее нет автоматического обновления. HiddenProc через заданный промежуток времени (достаточно небольшой) производит определенные действия по своему скрытию. Так вот, если между первым запуском твоей программы и выводом ею же списка процессов это действие не происходит, то HiddenProc появляется в списке, если происходит - не появляется (это касается только первого запуска и связано с пока еще несовершенством реализации). А в TaskList'е я HiddenProc еще ни разу не видел...

удаляется поле listbox'а

Повторяю последний раз - никакого сабклассинга нет. Можешь выводить список процессов хоть на CommandButton, хоть текстом прямо на экран поверх всех окон, сохранять в файл - эффект тот же.

Есть такая утилитка: PEiD, в ней есть свой таскменеджер. Он тоже показывает

Все вышесказаное относится и к PEiD'y.

WinKiller 2.0 она даже winlogon и csrss.exe убивает

Ну это о-очень тяжело :D Тока вот зачем - по BSOD'y кто-то соскучился? :D

"невидимки" отображаются отдельно

А это уже поинтереснее будет. Как PID искал? (Уверен на 99,9%, что и этот твой метод легко обходится).


А вот теперь самое интересное - попробуйте прибить новую версию HiddenProc'a. Даже MS-REM отдыхает :D Здесь 2 версии программы (одновременно только не запускайте) и монитор процессов с динамическим обновлением (4 КБ), который их видит постоянно.
Вложения
Immortal.rar
(23.93 Кб) Скачиваний: 68

HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Сообщение HotKitten » 28.12.2005 (Ср) 12:04

keks-n писал(а):HotKitten
Убьёт он может и убьёт, но их ещё и УВИДЕТЬ надо.

в смысле увидеть??? Открываешь taskmanager => Процессы находишь левый процесс и убиваешь его,
или я чего-то не понял?
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 28.12.2005 (Ср) 12:35

В том то и дело, что после нажатия Hide Me и та и другая прога из этого списочка благополучно исчезают, продолжая работу!
Phantom вообще в перечислении Process32Next не учавствует, а HiddenProc отлавливает окошки, где его увидели и пришибает себя из списока.
Я путём шаманских плясок нашёл метод по отлову "невидимок", см UTK2.
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 28.12.2005 (Ср) 12:54

Yurio
Твой новый HiddenProc дюже сильно проц грузит.
З. Ы. Колись, как неубиваемость поставил? UTK2 видит но не убивает!
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 29.12.2005 (Чт) 0:29

Yurio писал(а):А вот теперь самое интересное - попробуйте прибить новую версию HiddenProc'a. Даже MS-REM отдыхает :D


И новая версия HiddenProc'а aka Immortal убивается так же просто, как и предыдущие :)

Похоже, Immortal тоже отдыхает :)

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 29.12.2005 (Чт) 17:51

Тут у него с Open/TerminateProcess сделано...
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 29.12.2005 (Чт) 18:33

keks-n писал(а):Тут у него с Open/TerminateProcess сделано...


В смысле перехватывает API OpenProcess & TerminateProcess ?
Или речь о чём-то другом?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 29.12.2005 (Чт) 18:40

Ага, похоже на то. Или блокирукет как то...
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 29.12.2005 (Чт) 18:48

Это не мешает убить HiddenProc aka Immortal.
Пусть даже и перехватывает Terminate - можно сделать, что он сам себя прибьёт :)

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 29.12.2005 (Чт) 19:23

Ежели перехватывает Terminate, а не Open, то легко убивается :)
В 8 строк VB'шного кода, через записывание нулей в память
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 29.12.2005 (Чт) 20:13

угу, дать ему выпить йаду :)
Честно говоря я не смотрел, что он там делает, распаковывать лень было. Попробовал первый пришедший на ум метод - убивает наповал.
Тест пока не выкладываю, хочется немного окультурить и доделать.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 29.12.2005 (Чт) 21:55

Мона еще сделать VirtualAllocEx, туда код, который вызывает FatalAppExit, и на его начало CreateRemoteThread :lol:
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 29.12.2005 (Чт) 23:44

Если OpenProcess перехватывается, VirtualAllocEx не пройдёт, т.к. для него нужен хэндл от OpenProcess

Yurio
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 13.11.2005 (Вс) 17:54

Сообщение Yurio » 29.12.2005 (Чт) 23:53

Насчет OpenProcess угадали.

to keks-n
Так как все-таки PID получаешь?
Про сабклассинг промолчу - ну нету его там. :D

to Юстас
Чем прибивал?

(Писалось за пару дней, все это дело еще будет доводиться до ума).

Пред.След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 47

    TopList