Как определить запуск игр в Visual Basic

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ALev
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.08.2007 (Пт) 8:05

Как определить запуск игр в Visual Basic

Сообщение ALev » 28.08.2007 (Вт) 15:00

Можно ли средствами Visual Basic-а определить, что на компьютере запущена игра? Конечно с долей вероятности, к примеру анализируя включение полноэкранного графического режима...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.08.2007 (Вт) 15:05

Можно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 28.08.2007 (Вт) 15:25

А можно проще поступить, прошить в прогу 100-200 название экзешников популярных игр, и пробегаться по списку процессов системы, сверяясь со перечнем игр. В случае, если обнаружим совпадение, игру можно выкинуть пинком под зад с помощью TerminateProcess, и запустить юзеру Excel. :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.08.2007 (Вт) 15:28

jangle
Или убить csrss :lol:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 28.08.2007 (Вт) 16:35

Это не очень подходящий способ. Все дело в том, что ведь ехе игры можно и переименовать. В csrss к примеру :)
I don't understand. Sorry.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 28.08.2007 (Вт) 16:49

В таком случае, делаем инверсию. Определяем список разрешенных приложений (1C, Word, Excel и т.д.) и прошиваем его в программу, все что не разрешено, будет убиваться. Программа обходит список процессов, загружает VersionINFO каждого запущенного EXE, и проверяет по своей базе копирайт производителя. У игры, переименованной в csrss естественно, будет другая версия и не (c) Microsoft. Вобщем ничего сложного. :)

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 28.08.2007 (Вт) 17:34

Главное не забыть в этот список добавить саму программу :lol:
Лучший способ понять что-то самому — объяснить это другому.

ALev
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.08.2007 (Пт) 8:05

Сообщение ALev » 29.08.2007 (Ср) 8:46

Я уточню свой вопрос. Хотелось бы иметь возможность определять, что на компьютере запущена "тяжелая" игра, то есть установленная с компакт-диска. На другой софт реакции быть не должно (или желательно чтоб не было).
Программы же могут устанавливаться любые заранее не известно сколько и каких.
Моя идея - контролировать графический режим монитора, или подключение DirectX, но желательно получить конкретные программные коды.
Спасибо всем за участие в обсуждении.
Последний раз редактировалось ALev 30.08.2007 (Чт) 9:12, всего редактировалось 1 раз.

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 29.08.2007 (Ср) 9:31

ALev
А в чем проблема с играми? Если нужно сделать так чтобы пользователи работали на компах, а не дурью маялись, то план мероприятий такой.
1. Отключить и вытащить все CD и DVD Rom из будок.
2. Заблокировать USB порты (для этого конечно желательно иметь в наличие достаточное количество клав и мышей PS/2 или переходников). Естесвенно на ВИОСе должен стоять пароль. :)
3. Обязать пользователей подписать бумагу о неигрании в игры в которой прописать суровые наказания за нарушения (вплоть до выговоров и лишения премии)
4. Порезать права пользователей так, чтобы ни у одного не осталось админских прав (как правило большинство установщиков обламывает пользователя если он не админ в системе.)

Не исключено что единичные случаи нарушений будут. В этом случае с особо "умными" юзверями необходимо проводить беседу в присутствии начальника подразделения и начальника Вашего предприятия. Вполне возможно что даже прийдется уволить одного-двух за нарушение трудовой дисциплины.
Меры карательные не спорю, даже чувствую что могу вызвать бурю негодования у некоторых жителей форума. Но ИМХО они правильные, потому что если пользователь сегодня приволок на диске игруху в организацию, то не исключено, что завтра с его машины по сети поползут вирусняки и прочая зараза. И тут уже простым закрытием "игровых" процессов в системе не обойдешься. :)
Утро добрым не бывает!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.08.2007 (Ср) 9:48

gjghjc, собственно, примерно так и делается обычно. Все поползновения на игры обрубаются на корню, а особо умных застраивают на подоконник.
Весь мир матрица, а мы в нем потоки байтов!

ALev
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.08.2007 (Пт) 8:05

Сообщение ALev » 29.08.2007 (Ср) 10:52

gjghjc Нет, мне это не подходит. Задача эта применяется на домашнем компьютере, причем СКРЫТНО для его пользователя. То есть своего рода Родительский контроль, но с применением "программных" санкций.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 29.08.2007 (Ср) 11:02

Хотелось бы иметь возможность определять, что на компьютере запущена "тяжелая" игра, то есть установленная с компакт-диска
Перечисляем процессы.
Определяем кол-во памяти, используемой очередным процессом. Если много - заносим в список подозрительных.
Пробегаемся по таблице импорта (можно в памяти или на диске) ЕХЕшника, смотрим что там есть "интересного", например функции DX. Если что, заносим туда же.
Перечисляем окна процесса, ищем надписи, совпадающие с заранее подготовленными шаблонами. Заносим.
И т.д. Все зависит от твоего воображения и уровня подготовки...
А я все практикую лечение травами...

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 29.08.2007 (Ср) 11:22

ALev
Ну хорошо, а чем не подходит вырезание прав у пользователя "Ребенок"??? Квоты на дисках??? Это что касается "тяжелых игр".
Может просто вести лог запущеных процессов а потом самому глазками проверять, что дитенок запускал на компе в ваше отсутствие. Я думаю что разъяснительная беседа о вреде игр в нежном возрасте будет лучше для Вас обоих, чем тупое прибитие процессов. Тем более не обидиться ли Ваш ребенок на то что у папы с мамой все работает а у него нет? Кто например помешает Вашему ребенку замочить Вашу прогу через CAD и спокойно наслаждаться "тяжелыми" играми?
Кстати видел когда-то давно прогу под названием StatWin, кажется, она умела делать все выше перечисленное.
Twister
А если дите захочет поработать с каким нибудь прожорливым приложением да еще использующим DX??
Viper Так и я не с потолка взял все написаное. Большая часть испытана на собственной шкуре (причем как шкуре пользователя так и шкуре запрещающего :) )
Вобщем мне кажется что момент тут больше воспитательно-психологический, а не программистский.
Утро добрым не бывает!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.08.2007 (Ср) 11:52

ALev писал(а):gjghjc Нет, мне это не подходит. Задача эта применяется на домашнем компьютере, причем СКРЫТНО для его пользователя. То есть своего рода Родительский контроль, но с применением "программных" санкций.

Поставьте Висту.
Там эта фича есть в составе ОС.
Изображение

ALev
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.08.2007 (Пт) 8:05

Сообщение ALev » 29.08.2007 (Ср) 12:22

tyomitch, ребята, я плотно сижу на XP...

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 29.08.2007 (Ср) 13:01

Пробегаемся по таблице импорта (можно в памяти или на диске) ЕХЕшника, смотрим что там есть "интересного", например функции DX. Если что, заносим туда же


Не прокатит в случае если игра написана на VB, здесь линковщик не создает таблицу импорта, точнее она у всех vb-экзешников одинаковая, в ней импортируется только MSVBVM60.DLL
А также, в случаях когда DX API грузятся явно через LoadLibrary/GetProcAddress

ALev
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.08.2007 (Пт) 8:05

Сообщение ALev » 29.08.2007 (Ср) 13:18

gjghjc, - еще уточню. Прошу именно програмный код, хотя кому-то, читающему эту тему возможно интересны будут и идеи.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 29.08.2007 (Ср) 14:07

gjghjc
А если дите захочет поработать с каким нибудь прожорливым приложением да еще использующим DX??
Приведи пример очень прожорливого приложения, юзаещего DX и не являющегося игрой? Маловато таких...
А я все практикую лечение травами...

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 29.08.2007 (Ср) 15:08

Twister
3DMax?
Утро добрым не бывает!

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 29.08.2007 (Ср) 15:16

Приведи пример очень прожорливого приложения, юзаещего DX и не являющегося игрой? Маловато таких...


Любой софт для 2D-3D моделирования, картография. Мы этим сейчас у себя в конторе занимаемся, пишем картографическую систему для ГУ МЧС России.

ALev
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.08.2007 (Пт) 8:05

Сообщение ALev » 29.08.2007 (Ср) 15:52

Ребята, у меня КОНКРЕТНЫЙ случай. "Дитя" уже перерос папу-программиста, и ничего не признает на компьютере кроме игр! Так что, кто сможет помочь - спасибо! А слова уже были, и много... А уж как воспользоваться этим кодом - поверьте, сделаю не тупо, чувство юмора есть.
Последний раз редактировалось ALev 30.08.2007 (Чт) 9:11, всего редактировалось 1 раз.

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 29.08.2007 (Ср) 16:10

ALev
Только без обид. jangle ведь уже предложил вариант со списком РАЗРЕШЕННЫХ приложений. Только вот если Ребенок перерос папу программиста то ему наверное не трудно будет найти твою программу и подкрутить в ней например эту таблицу разрешенных приложений. Это первое, второе РАЗДЕЛИ ты учетки на домашнем компьютере. Я сделал именно так, но не из-за того что у меня кто-то бесконтрольно игрался, а для того чтобы мою папочку не замочили случайно потому как и мама (любительница всяких шариков и Lines) и сестра (учеба в универе) сидели за той же машиной что и я. А мне ой как не хотелось терять всю свою библиотеку исходников. При этом естесвенно права админа были только у меня.
Дите не хочет заниматься ничем толковым?? Пароль на БИОС и опломбировать системник чтобы батарейки не вытягивало. И к компу вообще не подпускать. А всякие проги которые будут отлавливать используется ли DX или нет это я считаю от лукавого. Согласен в качестве умственно зарядки можно поизвращаться с отловом таких приложений но если есть другие варианты решений, то зачем изобретать велосипед?
Утро добрым не бывает!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.08.2007 (Ср) 17:00

Не прокатит в случае если игра написана на VB, здесь линковщик не создает таблицу импорта, точнее она у всех vb-экзешников одинаковая, в ней импортируется только MSVBVM60.DLL
А также, в случаях когда DX API грузятся явно через LoadLibrary/GetProcAddress


Ну тогда смотреть на таблицу экспорта. Она в любом случае окажется в АП процесса при загрузки библы.

Twister
Google Maps :wink:
Stellarium...
Много таких. Вон, keks-n'овский FLSkin юзает DX :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.08.2007 (Ср) 17:29

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.08.2007 (Ср) 17:53

Я сделал именно так, но не из-за того что у меня кто-то бесконтрольно игрался, а для того чтобы мою папочку не замочили случайно потому как и мама (любительница всяких шариков и Lines) и сестра (учеба в универе) сидели за той же машиной что и я. А мне ой как не хотелось терять всю свою библиотеку исходников. При этом естесвенно права админа были только у меня.


Продвинутый одноклассник в школе подскажет взять реаниматор с ERD Commander-ом, и плакали Policy...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.08.2007 (Ср) 18:48

тогда только E-token поможет с интеграцией в систему логина ОС через его SDK + физическая защита компа методом safelock на задней стенке к стене

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

Сообщение VVitafresh » 29.08.2007 (Ср) 21:00

Хакер писал(а):Продвинутый одноклассник в школе подскажет взять реаниматор с ERD Commander-ом, и плакали Policy...

Если включена закгрузка только с HDD и стоит пароль на BIOS, то плакали всякие ERD Commander'ы и прочие LIVE CD.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.08.2007 (Ср) 21:01

Если включена закгрузка только с HDD и стоит пароль на BIOS


Кто мешает убрать?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение VVitafresh » 29.08.2007 (Ср) 21:17

При наличии физического доступа никто, наверное.

Но если уж до такого доходит то технические меры вообще бесполезны. Нельзя же комп в землю закопать. Тут больше воспитательный и дисциплинарный момент играет роль.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

ALev
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.08.2007 (Пт) 8:05

Сообщение ALev » 30.08.2007 (Чт) 7:33

У меня ситуация реально сложнее чем вы описываете.
На домашнем компьютере стоят разные программные конфигурации для папы и сына, самостоятельные операционные системы.
Сын у себя АДМИНИСТРАТОРОМ, но у папы есть доступ к его паролям и ресурсам.
ЯВНЫЙ контроль не подходит - ребенок все равно имеет возможность устанавливать любые программы.
Я уже и так с ним "борюсь" программно, но пока независимо от того какая программа у него запущена. У него уже сейчас появился СТИМУЛ начать копаться и разбираться в своей системе. Но технологии применяемые мною тоже не слабые - по примеру троянских вирусов.
Сечас я подготавливаю заготовки на будущее, потому что тот режим в котором он сейчас у меня находится - очень жесткий.
Но и совсем уж делать "полный облом" не хочется - найдет чем заняться и вне дома, а интересы-то...

След.

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

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

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

    TopList