Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как забить на КиллПроцесс!??? [D5, Win95/98]


XM-AD ©   (2001-10-22 11:48:00) 

Мастаки! Помогите решить проблему! Вобщем есть одна паразитирующая программуля, которая вырубает любой процесс по его АйДи... Программа, которую вырубают, ничего сделать боле не успевает и тихо, но быстро умирает... :( Подскажите, как перехватить вызов килл-ера на мой АйДи и показать ему БОЛЬШОЙ и ЖИРНЫЙ кукиш???


paul_shmakov   (2001-10-31 17:51:00) [1]

Это как можно "в NT можно править керналь"??? Как раз в win9x можно. Только не через VirtualProtect(Ex)... Он не позволит изменять защиту на станицах ядра.
Win9x вообще не знает про "copy on write".


Ketmar   (2001-10-29 22:33:00) [2]

2paul_shmakov:
да. мелкомягкие как всегда облажались с переносимостью кода :-( а вот SleepyHead, между прочим, клялся-божился, что Мой код ВЕЗДЕ работать будет. вредина-обманщик :-) Я ж ему поверил...
а как в ring0 попасть - Я нашел в исходниках cih"а :-)
только вот ни разу не понимаю логики - почему в NT можно править керналь, а в 9x - низзя? вроде бы наоборот оно логичней... кстати, а если атрибуты защиты страницы поменять Virtual"ом? нету времени эксперементировать, к сожалению... не проканает? hotfix говорил, что не проканает, если Я не ошибаюсь.
то есть получается, что NT умеет делать copy on write на кернале, а 9x - не умеет? странно это... впрочем, с чего бы это Я хочу от некрософта логики? :-)

жыз
все больше убеждаюсь: пингвин рулит! только пока никак не могу разобраться с эльфами - как там пришпандерить линковку библиотек во время загрузки... что-то ребята с этим намуд(р)или. или Я торможу безбожно...

Satanas Nobiscum! 29-Oct-XXXVI A.S.


paul_shmakov   (2001-10-29 12:48:00) [3]

2 Ketmar:
именно dll injecting. мне эта фишка тоже очень не нравится, но сколько я не рою, ничего другого, более грамотного не нахожу. только под win9x можно без этого - выделяешь память выше 2Гб (чтобы всем процессам доступна была), записываешь туда функции перехватчики, меняешь первые байты перехватываемых функций прямо в загруженной kernel32.dll (как поменять атрибут защиты я в bo2k нашел - вызовом к ring0 через VXDCall).
И никаких dll, отладки и т.п. Но это работает только под win9x, что не особо интересно :(


Ketmar   (2001-10-27 21:51:00) [4]

все. уже вижу. таки DLL injecting. #%$%$#%#!! :-(((

Satanas Nobiscum! 27-Oct-XXXVI A.S.


Ketmar   (2001-10-27 21:50:00) [5]

2BadDude:
спасибо. буду штудиовать. если пойму, напишу дополнение к статье.
вот только боюсь Я, что там используется техника DLL injecting, которую Я так хотел похе... сорри, проигнорировать :-) хотелось же делать все "по документации". ну вот кто Мне скажет, какого черта M$ нифига не следует документации, которую сама же и пишет? точнее, какого черта она оставляет "дырки" в документации, которые можно истолковать как нравится? :-((( ненавидю! :-)

Satanas Nobiscum! 27-Oct-XXXVI A.S.


BadDude   (2001-10-25 20:00:00) [6]

2Ketmar
я читал твою статью про использование DebugApi. мне вообще она показалась интересной, но далеко не идеальной... :)
для меня же образцовым примером использования DebugApi стал листинг из книги "Windows"95 Programming Secrets", автор Matt Pietrek. Здесь автор приводит универсальный код - работает на всем семействе win32, причем именно работает, да к тому же без всяких драйверов и тому подобного занудства :), см. далее
2XM-AD сходи на www.wheaty.net, там есть реально работающий пример про отлов вызова функций в системе (см. мой пред. совет), а еще на cmp.phys.msu.su/ntclub
надеюсь этого хватит. изучай :)


Dennis S   (2001-10-25 10:36:00) [7]

Уж не знаю, в струю или нет...

2XM-AD:
Если тебе нужно, чтобы эта паразитирующая программуля все-таки висела в трае, тогда, наверное, тебе есть смысл состряпать копию данного паразита один к одному, с одной малинькой разницей - конкретно твою прогу он даже светить не будет в списке...

Надеюсь, как вариант, идея пойдет!


33   (2001-10-25 02:17:00) [8]

И еще третью программу, которая следит, чтобы не убили первые две.


Ketmar   (2001-10-24 23:36:00) [9]

2BadDude:
apispy под 9x - задача нетривиальная. Мне вот сообщили, что мой перехватчик ни разу не работает :-( следовательно, надо лезть в ring0 и там веселиться, а это ой как нудно...

2XM-AD:
оставляя в стороне вопрос допустимости таких действий, по существу можно сделать так: две программки. одна - монитор, другая - твоя. обе следят друг за другом. если монитор заметил, что твою убили - он ее перезапускает. если твоя заметила, что помер монитор - перезапускает монитор. гарантия не 100-процентная, но зато позволяет избавиться от извратов и низкоуровневого ковыряния в маздайке.

Satanas Nobiscum!


Anatoly Podgoretsky   (2001-10-24 13:58:00) [10]

XM-AD © (22.10.01 17:01)

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


BadDude   (2001-10-24 13:10:00) [11]

решение одно - написть apispy, который отлавливает в системе вызов OpenProcess и исходя из параметров функции разрешать или запрещать ее выполнение


XM-AD   (2001-10-22 17:01:00) [12]

Потому что она выполняет еще ряд нужных функций....... а прибивание процесса применимо и к другим вредным созданиям программистов....


Anatoly Podgoretsky   (2001-10-22 15:34:00) [13]

Почему?


XM-AD   (2001-10-22 15:11:00) [14]

Кого отключить? Прогу-киллера что ли?? Если да, то вариант не проходит.....


Anatoly Podgoretsky   (2001-10-22 12:43:00) [15]

Если это не противоречит корпортивной политике, то найди ее в реестре и заблокируй.


Наверх

Титульная страница Поиск, карта сайта Написать письмо