| Автор
| Сообщение |
|
|
|
Цитата |
|
У меня следующая проблема, пытаюсь сделать прогу для игры, суть проги выгрузка запреённых програм при игре на определённом сервере.
Суть проблемы, программкито я выгружаю но стоит выгрузить мою прогу и можно опять запускать запрещёные программы.
Поискав в инетнете документаию толком ничего не нашёл только сообщения на форумах типа "Запуск просецца от системы и тд".
И з этого следует 2 вопроса, как поставить прецесу что его владелец система но запускается из под пользователя с группой Администраторы.
и 2й вопрос как отключить возможность выгрузки процесса когда вледелец просесса этотже пользователь но при выгрузке ему просто пишет откзанно в доступе. К примеру возмём игру Lineage II, клиент запускает пользователь, игра грузит ещё свой один из модулей, скрин http://img225.imageshack.us/img225/5706/podprocess9tn.jpg
он отключает доступ на выгрузку для себя и потом для игры, скрин http://img225.imageshack.us/img225/4140/otkaz6xa.jpg
Вот собственно и вопрос как это сделать, причём на скрине 2м видно что оба процессы запущенны под моим пользователем.
Или может можно какнибудь отлавливать сообщения на закрытие процесса хуком и запускать в это время свою копию? |
|
| В начало |
|
 |
|
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
1.
//Запуск просецца от системы
либо сервис, либо ломать систему ))
2.
Ну, а горазде проще, запускать игру в отдельном потоке твоего приложения. и пусть попробуют снять ))))) _________________ Сила дурака в том, что умный перед ним бессилен. |
|
| В начало |
|
 |
|
|
|
Цитата |
|
1 яже скрины положил там от юзера запущено приложение н оничём не выгружается ти таском ни другими программами.
Как сделать сервис неснемаемым какие ему параметры нада, а то под админом я его снять могу.
2
хмм а примерчика нету? =)
Добавлено спустя 2 минуты 46 секунд:
кстати по второму пункту даже убив процесс с игрой останутся изменения в файлах котоырй делает патчер и уже подключатся к серверу одим из запрещённых приложений
Добавлено спустя 1 минуту 11 секунд:
А нельзяли ставить хук на ProccesTerminate? а то чтото по инте облазил толком не нашёл |
|
| В начало |
|
 |
 aka57
Я живу тут....

Возраст: 28
Знак зодиака: 
Зарегистрирован: 03.07.2003
Сообщения: 1287
|
|
|
Цитата |
|
Сервис изначально убить можно (проделывал не раз, чем заставлял систему жутко задуматься). А вот, к примеру, Касперский неубиваем. Прав, дескать, не хватает... Значит можно все таки
p.s. Запускать игрушку в процессе своей программы imho гуд. |
|
| В начало |
|
 |
|
|
|
Цитата |
|
так как запустит ьпримерчики есть? +)
а можно запустить свою прогу внутри другой например винлогона типа внедрится туда =) или дллку туда внедрить и чтоб она осталась поле кила моей проги |
|
| В начало |
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
| Цитата: | | У меня следующая проблема, пытаюсь сделать прогу для игры, суть проги выгрузка запреённых програм при игре на определённом сервере. |
а если поиграться политиками безопастности на компе? там есть возможность запретить запуск определенных прог. _________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
|
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
to Susanin
Для меня, как самомого тупого модератора, задай вопрос заново.
Только, перед нажатием на кнопку "отправить", тщательно проверь свое "сочинение" на ошибки. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|
|
|
Цитата |
|
Мне надо сделать так чтобы к моему процессу небыло доступа, тоесть как это сделано в множестве программ. Когда пытаешся выгрузить процесс выдается что в доспуте отказанно, как я догадываюсь всё заключается в секюрити параметрах при CreateProcess, только толком ничего я по секюрити параметрам найти немагу.
Либо мне нада както отслеживать TerminateProcess
ПЫ не злись у меня двойка в школе по русскому была =) |
|
| В начало |
|
 |
|
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
| Цитата: | | как я догадываюсь всё заключается в секюрити параметрах |
Сначала я подумал врятил, но позже решил, что возможно и так. Это можно проверить на программе, которая не позволяет себя закрыть из таск менеджера.
Вот определение функции:
| c: | BOOL CreateProcess( PCTSTR pszApplicationName, PTSTR pszCommandLine, PSFCURITY_ATTRIBUTES psaProcess, PSECURITY_ATTRIBUTES psaThiead, BOOL bInheritHandles, DWORD fdwCreate, PVOID pvEnvironment, PCTSTR pszCurDir, PSTARTUPINFO psiStartInfo, PPROCESS_INFORMATION ppiProcInfo);
|
Здесь интересен параметр PSFCURITY_ATTRIBUTES psaProcess
| c: | typedef struct _SECURITY_ATTRIBUTES { DWORD nLength, LPVOID lpSecurityDescriptor; BOOL bInherttHandle; } SECURITY_ATTRIBUTES;
|
Далее, советую посмотреть 3-5 главы Рихтера (см. "Полезные ссылки по ВинАПИ"). _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|
|
|
Цитата |
|
| Где это сиё чудо найти? =) |
|
| В начало |
|
 |
|
|
|
Цитата |
|
Можно через реестр!
Список разрешенных для запуска программ:
Для огpаничения запускаемых пpогpамм надо откpыть pаздел HKEY_CURRENT_USER\ SOFTWARE\Microsoft\ Windows\CurrentVerson\Policies\Explorer и создать там ключ RestrictRun типа DWORD со значением 0х00000001. Затем тут же надо создать подpаздел с аналогичным именем RestrictRun и в нем пеpечислить список РАЗРЕШЕHHЫХ к запуску пpогpамм для текущего пользователя. Записи в этом подpазделе пpонумеpовываются, начиная с 1, и содеpжат стpоки с путями (необязательно) и именами пpиложений. Файлы должны быть с pасшиpением. Hапpимеp, Word.exe, Excel.exe...
Для сбpоса огpаничения на запуск пpогpамм надо установить значение ключа RestrictRun в 0
Инфо из конференции aboutwin.pp.ru
Ключики в реестре удобно править программно (соответствующие API) при старте игры! Восстанавливать при закрытии!
Необходимо блокировать через реестр Task Manager, cmd, regtools, win keys!
А вообще то дело грязное и бесполезное
______________________
Напоследок- http://www.wasm.ru/article.php?article=apihook_2
Убийство Касперского! |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
| Цитата: | | Где это сиё чудо найти? =) |
Смотри заголовки самых верхних топиков форума "ВинАПИ" _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|
|
|
Цитата |
|
Процесс можно завершить любой.... И системный тоже...
Надо всего-то включить привилегию SeDebugPrivilege
А можно еще так сделать... Завершают программку твою - вылетает игрушка....
Реализовать можно так:
1. Из игрушки периодически проверяем наличие программульки в памяти...
2. При завершении программульки - убиваем игрушку....... Без сохранения....
 |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
ТАк человеку же надо было просто запретить закрытие своей программы какими-либо посторонними методами, например из диспетчера задач. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|