РуЛиб - онлайн библиотека > Шпигорь Илья > Программирование игр > Боты для компьютерных игр

Читаем онлайн «Боты для компьютерных игр»


Боты для компьютерных игр

 


Илья Шпигорь

 

Эта книга продается по адресу http://leanpub.com/video-game-bots

Эта версия была опубликована 16.02.2021

*   *   *   *   *

Это книга с Leanpub book. Leanpub позволяет авторам и издателям участвовать в так называемом Lean Publishing - процессе, при котором электронная книга становится доступна читателям ещё до её завершения. Это помогает собрать отзывы и пожелания для скорейшего улучшения книги. Мы призываем авторов публиковать свои работы как можно раньше и чаще, постепенно улучшая качество и объём материала. Тем более, что с нашими удобными инструментами этот процесс превращается в удовольствие.

*   *   *   *   *

© 2019 - 2021 Илья Шпигорь

Оглавление


Об автореБлагодарностиПредисловиеКлассификация ботов
Задачи ботовИгровое приложениеВиды ботовВыводы
Кликеры
Инструменты для разработкиВнедрение данных на уровне ОСПерехват устройств выводаПример кликера для Lineage 2Методы защиты от кликеров
Внутриигровые боты
Инструменты для разработкиОрганизация памяти процессаДоступ к памяти процессаПример бота для Diablo 2Методы защиты от внутриигровых ботов
Внеигровые боты
Инструменты для разработкиСетевые протоколыПерехват трафикаПример бота для NetChessМетоды защиты от внеигровых ботов
Специальные техники
Эмуляция устройств вводаПерехват данных на уровне ОС
Заключение

Guide


Begin Reading

Об авторе

Илья Шпигорь — разработчик программного обеспечения и поклонник открытого ПО. Имеет большой опыт работы со встраиваемыми системами и информационной безопасностью.

Сейчас работает над системами безопасности Ethernet сетей для автомобилей. До этого занимался системами обнаружения вторжений, авиасимуляторами для профессиональных пилотов и системами управления кораблями. Также участвовал в разработке эмулятора Wine и дистрибутива ALT Linux.

Илья интересуется автоматизацией процессов и исследованием возможностей новых языков программирования. В свободное время исследует уязвимости ПО и современные технологии ИИ.


Благодарности

Хочу поблагодарить всех, кто принимал участие в написании этой книги. Прежде всего спасибо Светлане Залогиной, которая первая увидела черновики и помогала мне с корректировкой стиля. Без неё эта книга никогда бы не была написана.

Спасибо Данилу Богданову и Эмилю Шайхилисламову, которые указали мне на технические ошибки и предложили несколько отличных идей.

Спасибо Руслану Пясецкому за то, что посвятил меня в тонкости криптографических алгоритмов.

Спасибо Алексею Пыльцыну за помощь с корректурой перевода книги на русский язык и переносом её на платформу Leanpub.

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


Предисловие

Однажды, играя в любимую компьютерную игру, вы обнаруживаете, что без конца повторяете одни и те же действия. Возможно, этот процесс напомнит вам работу на старом ручном станке. Вы должны установить заготовку в зажим. Затем периодически жать ногой на педаль, чтобы сверло вращалось. Потянув рукоятку, вы направляете его на заготовку. Снова и снова вы повторяете эти действия для изготовления каждой детали. Но постойте. Мы живем в XXI веке, и человечество научилось автоматизировать простые, рутинные действия несколько десятилетий назад. Примерно такие мысли возникли у меня, когда я играл в компьютерную игру.

Я решил поискать возможности автоматизировать игровой процесс. С этой целью было просмотрено множество форумов и сайтов. К сожалению, большинство приложений, которые я нашел, содержало вредоносный код. Были программы без вирусов, но они отказывались работать как надо. В процессе моих поисков встретилось несколько подозрительных личностей со странными никнеймами, которые предлагали купить у них приложения способные (по их словам) решить все мои проблемы. Но мне показалось опрометчивым приобретать что-то без каких либо гарантий. Намного позже я понял, почему эти люди скрывали свои имена. В конце концов эти поиски не увенчались успехом.

Следующим моим шагом стала попытка написать программу автоматизации (называемую бот) самому. К сожалению, я столкнулся с серьезной нехваткой информации о подходах к решению этой задачи. Это показалось мне странным, учитывая что боты часто применяют сложные алгоритмы и используют методы из различных областей информационных технологий. Кроме того, разработка ботов имеет длинную историю и возникла отнюдь не вчера. Энтузиасты-одиночки и профессиональные программисты исследовали и применили множество решений для эффективной автоматизации игрового процесса. Почему же никто из них не горит желанием поделиться своим опытом?

Эта книга – моя попытка исправить существующее положение вещей. В ней вы найдете полную