Автор
|
Тема: Забить прогу...
|
Chainick |
опубликован 02-11-2001 19:21 MSK
Как запретить запуск конкретной проги (например сапера) в вин`9х?
|
SUnteXx
|
опубликован 02-11-2001 19:26 MSK
По-извращенному, можно открыть файл на запись! А когда можно будет запускать его - закрыть! |
Kosha
|
опубликован 03-11-2001 03:40 MSK
А можно еще по-другому извратиться: залить сапера в память, а в файл залить чо-нить ненужное (калькулятор, например, или мессагу какую). Потом, когда надо, из памяти слить обратно ;-) |
Susik
|
опубликован 03-11-2001 17:13 MSK
А если надо забить не одну прогу? Тогда открывать много файлов? А память не закакается? (меня просто тоже интересует этот вопрос:) ) |
FIV2
|
опубликован 03-11-2001 18:36 MSK
TSR termine and stay resident(WINDOWS VARIANT) and one hook) |
Susik
|
опубликован 03-11-2001 19:11 MSK
А тут проблема в том, что ХУК катит тока для оконных приложений, да и некорректно завершаются (по крайней мере у меня) ДОС-процессы, когда их ТerminateProcess() делаешь. |
Kosha
|
опубликован 04-11-2001 02:31 MSK
Блин. Да зашифровать и все |
x
|
опубликован 04-11-2001 03:58 MSK
дык все просто есть 3 два варианта1.в реестре есть список загружаемых by default dll в адресное пространство любого процесса 2.просто написать затычку на dll (на ядро) 3.проверять список уже существуюших процессов (FindFirstProcess,..... так кажется=сам разберешся) |
Demo_S
|
опубликован 04-11-2001 18:44 MSK
2x поподробнее пожалуйста о пункте 1. где в реестре и что с этим можно сделать, допустим загрузилась длл в адрессное пространство процесса. запускается ли какая-нибудь функша из длл при этом? |
Susik
|
опубликован 04-11-2001 21:05 MSK
А я представляю себе так. (все относительно просто) При загрузке ДЛЛки там короче ей посылается мессага о том, что она запустилась. Ну короче в обработчик на эту мессагу пихаешь все, что угодно. В частности, можно получить ID этого процесса (GetCurrentProc() или что-то подобное) ну и делаешь с ним что хошь... По крайней мере основываясь на этом способе (присоединения ДЛЛки) я делал похожую прогу. Тока про прописывание в реестр я не знаю, поэтому это будет довольно интересно узнать. |
Susik
|
опубликован 04-11-2001 21:08 MSK
Извиняюсь. Мессага посылается не о том, что ДЛЛ запустилась :)) (бред), а о том, что она присоединилась (аттачмент ей учинили мощный). |
x
|
опубликован 05-11-2001 02:08 MSK
куда пишется в реестре я не помню=ломает меня в 2 гигах документации рыться поищи сам в реестре=kernel32 грузится всегда2 susik=какая месага?=нафига она нужна=пишешься в DllMain и все! |
Chainick
|
опубликован 05-11-2001 23:24 MSK
Млин! Я и не думал, что можно ТАК извращаться... Я уже енту проблему решил: отслеживаю заголовок окна, и если он == "Сапер", то вырубаю прогу. Вот. Конечно по-чайниковски, но работает... |
Kosha
|
опубликован 06-11-2001 00:00 MSK
А если пользователь открыл папку "Сапер"? |
Kosha
|
опубликован 06-11-2001 00:01 MSK
Намного лучше было бы отслеживать процессы и смотреть, из каких экзешников запущены.НО! Вопрос ставился не как отследить прогу и убить ее, а как НЕ ДАТЬ СИСТЕМЕ запустить прогу. Вот народ и извращается ;-) |
SUnteXx
|
опубликован 06-11-2001 10:31 MSK
>Млин! Я и не думал, что можно ТАК извращаться... Я уже енту проблему решил: отслеживаю заголовок окна, и если он == "Сапер", то вырубаю прогу. Вот. Конечно по-чайниковски, но работает... А если английская вынь и игра называеися не "Сапер", а "Minesweeper". И что ты делать будешь??? Лучше по клссу окна проверяй!
Но! Kosha был прав, вопрос был не таков! |