Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> взаимодействие программ с играми 
:(
    Опции темы
ShadowC
Дата 30.8.2011, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 23.6.2011

Репутация: нет
Всего: нет



Здравствуйте,собственно вопрос заключается вот в чем,как наладить связь между программой и игрой,что бы моя программа могла получать данные из игры,не знал в каком разделе создать этот вопрос,но так как пишу я на C++ то решил создать тут,хотя не исключено что методики общие для большенства языков
PM MAIL   Вверх
JackYF
Дата 30.8.2011, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(ShadowC @  30.8.2011,  18:19 Найти цитируемый пост)
что бы моя программа могла получать данные из игры

Для этого игра должна их предоставлять каким-либо образом.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
SilverSoft
Дата 31.8.2011, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 30.8.2011

Репутация: нет
Всего: нет



ну или перехватывать их, читать из памяти и т.д. и т.п.
PM MAIL   Вверх
ShadowC
Дата 31.8.2011, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 23.6.2011

Репутация: нет
Всего: нет



Цитата(JackYF @ 30.8.2011,  20:05)
Цитата(ShadowC @  30.8.2011,  18:19 Найти цитируемый пост)
что бы моя программа могла получать данные из игры

Для этого игра должна их предоставлять каким-либо образом.

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

Это сообщение отредактировал(а) ShadowC - 31.8.2011, 08:13
PM MAIL   Вверх
xvr
Дата 31.8.2011, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(ShadowC @  30.8.2011,  19:19 Найти цитируемый пост)
как наладить связь между программой и игрой

А игра у вас - не программа?

Ищите в Google по ключевому слову IPC (вот тут например: Inter-process communication - Wikipedia, the free encyclopedia)

PM MAIL   Вверх
ShadowC
Дата 31.8.2011, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 23.6.2011

Репутация: нет
Всего: нет



Цитата(xvr @ 31.8.2011,  10:05)
Цитата(ShadowC @  30.8.2011,  19:19 Найти цитируемый пост)
как наладить связь между программой и игрой

А игра у вас - не программа?

Ищите в Google по ключевому слову IPC (вот тут например: Inter-process communication - Wikipedia, the free encyclopedia)

спс,информация по делу,если тебе несложно мог бы ты посоветовать какой метод подходит для мморпг,ну и если их много,то какой более эффективный и менее палевный?
PM MAIL   Вверх
bsa
Дата 31.8.2011, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(ShadowC @  31.8.2011,  11:32 Найти цитируемый пост)
какой более эффективный и менее палевный? 

А! Читер!
Не важно какой метод. Важно что засекают по использованию нестандарных возможностей. Причем, делают это на стороне сервера. А потом, IPC - это штатный способ общения процессов. Т.е. процессы должны поддерживать этот механизм и, соответственно, там будет стоять контроль.
Чтобы обмануть игру необходимо напрямую внести изменения в ее данные/код. А это уже делается через специфичные вызовы конкретной системы.
P.S.: если у тебя появились мысли ломать игру, то она значит тебе надоела. Найди более достойное занятие.
PM   Вверх
ShadowC
Дата 31.8.2011, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 23.6.2011

Репутация: нет
Всего: нет



Цитата(bsa @ 31.8.2011,  11:39)
Цитата(ShadowC @  31.8.2011,  11:32 Найти цитируемый пост)
какой более эффективный и менее палевный? 

А! Читер!
Не важно какой метод. Важно что засекают по использованию нестандарных возможностей. Причем, делают это на стороне сервера. А потом, IPC - это штатный способ общения процессов. Т.е. процессы должны поддерживать этот механизм и, соответственно, там будет стоять контроль.
Чтобы обмануть игру необходимо напрямую внести изменения в ее данные/код. А это уже делается через специфичные вызовы конкретной системы.
P.S.: если у тебя появились мысли ломать игру, то она значит тебе надоела. Найди более достойное занятие.

есть такие вещи в играх которые делать иногда лень,ну или просто нет на это времени,например фармить реагенты там разные,а играть нормально хочется,поэтому приходится использовать ботов,а если уж использовать ботов,то явно не из инета качать,потому что качество оставляет желать лучшего... да и к тому же,все что требуется знать программе количество здоровья/маны понимать игровую систему координат,уметь распознавать объекты - мобы,травы,камни и прочие объекты с которыми можно контактировать - это посути та информация которую сервер предоставляет пользователю потому что она общая для всех.
P.S. я разумеется непрофи,но мне кажется что можно подсоединится к каналу передачи данных и управлять потоком этих данных в своих интересах 

Это сообщение отредактировал(а) ShadowC - 31.8.2011, 11:58
PM MAIL   Вверх
newbee
Дата 31.8.2011, 12:01 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 3
Всего: 19



Цитата(bsa @  31.8.2011,  12:39 Найти цитируемый пост)
Не важно какой метод. Важно что засекают по использованию нестандарных возможностей. Причем, делают это на стороне сервера. 
 На стороне сервера невозможно отследить, целится квакер сам или с помощью программы, смотрит ли он сквозь стены и т.д., примеров много. Чтобы пресекать это, в сетевые игрушки встраивают механизмы предупреждения таких читов. Читы стараются обходить эти механизмы, механизмы в свою очередь... ну и так далее, как обычно.
Цитата(bsa @  31.8.2011,  12:39 Найти цитируемый пост)
P.S.: если у тебя появились мысли ломать игру, то она значит тебе надоела. Найди более достойное занятие. 
Что недостойного в ломании игрушки? Это может серьезно поднять программерские скиллы и просто стать мотивацией к получению знаний.

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

Добавлено через 5 минут и 56 секунд
Цитата(ShadowC @  31.8.2011,  12:56 Найти цитируемый пост)
есть такие вещи в играх которые делать иногда лень,ну или просто нет на это времени,например фармить реагенты там разные,а играть нормально хочется,поэтому приходится использовать ботов,а если уж использовать ботов,то явно не из инета качать,потому что качество оставляет желать лучшего... да и к тому же,все что требуется знать программе количество здоровья/маны понимать игровую систему координат,уметь распознавать объекты - мобы,травы,камни и прочие объекты с которыми можно контактировать - это посути та информация которую сервер предоставляет пользователю потому что она общая для всех.
P.S. я разумеется непрофи,но мне кажется что можно подсоединится к каналу передачи данных и управлять потоком этих данных в своих интересах 

Вот оно что. Тогда нужно ломать (изучать) протокол общения игрушки с сервером. То есть, грубо говоря, клиент с сервером посылают друг другу сообщения, нужно понять, какое сообщение за что отвечает. Потом на основе этого протокола делаешь своего клиента, который будет прокачивать твоего персонажа. То есть твоя программа будет полностью прикидывать игрой. Тут подойдет любой язык программирования, а не разметки. Долгая, однообразная и скучная работа.


--------------------
You're face to face
With man who sold the world
PM   Вверх
boostcoder
Дата 31.8.2011, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



жуть какая smile 
а свою игрушку закодить, чтоб все в ней устраивало тебя...не? ;)
PM WWW   Вверх
ShadowC
Дата 31.8.2011, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 23.6.2011

Репутация: нет
Всего: нет



ну хорошо,а каким образом понять как игра получает информацию от сервера?
PM MAIL   Вверх
Чoо
Дата 31.8.2011, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 22.9.2009

Репутация: 4
Всего: 4



может трафик сперва пропустить через снифер? user posted image


--------------------
user posted image

OS: Debian Squeeze (kernel 3.8.2)
IDE: qtCreator 1.3.1; Eclipse SDK 3.5.2
PM MAIL   Вверх
shara
Дата 31.8.2011, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: 2
Всего: 2



Цитата(ShadowC @  31.8.2011,  11:26 Найти цитируемый пост)
ну хорошо,а каким образом понять как игра получает информацию от сервера? 

Как как, из сети конечно же... через сокет..  smile 

Вообще все просто. Прикинувшись клиентом хакаемой MMORPG, конектишься к серверу. Запрашиваешь и получаешь от него данные об игре (к примеру кто что делает и кто где находится). Затем, неким мистическим образом, эти данные обрабатываешь (читай: взаимодействуешь с игровым миром). После чего формируешь некий ответ и отправляешь его обратно на сервак. Повторять сей процесс до тех пор пока твой эльф не прокачается до 99 левела  smile 
Но есть тут одна проблемка... тебе прийдется практический полностью повторить логику валидного клиента игры, чтобы смогти корректно прочитать(пропарсить) данные от сервера, обработать их и сформировать понятный серверу ответ. Я думаю не сложно догадаться что нахрапом, за одну ночь, такого ты сделать не сможешь. Я тут полностью согласен с newbee.  smile 

Еще кстати есть вариант. Написать имитатор человека за компом. т.е. программу которая будет имитировать нажатия клавишь и йорзанья мышью также как это делает настоящий человек геймер. Только тут другая проблема, тебе нужно как-то будет извлекать из игры (из запущенного клиента) данные о том, "А что собсно вокруг меня в игровом пространстве происходит??". Я ОЧЕНЬ сомневаюсь что игра предоставляет дружественный интерфейс для этих целей  smile Скорей даже наоборот, геймдевы борются с таким ботами как могут.

З.Ы.
В качестве домашнего задания
есть еще такая интересная штука  ArtMoney. Попробуй на досуге разобраться как она работает, хотя бы в самых общих чертах.


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.