В 2004 году Blizzard представила миру игру, которая надолго войдет в историю. Они взяли Warcraft, который уже в то время был неимоверно популярен, и сделали из него полноценную online RPG (MMORPG). Тысячи фанатов собрались в одном месте на серверах Blizzard. Модель игры была следующей: есть свободно распространяемый клиент WoW и платный доступ к серверам («офф»).
Естественно, среди игроков не обошлось без людей с навыками реверс-инжиниринга, знанием сетей, клиент-серверной архитектуры и многого другого. Довольно быстро стало понятно, что хочется свой сервер, где-нибудь в локалке, с меньшим пингом, большим фаном (позвать друзей, внести свои изменения в игру и прочее). Так и родилась идея создавать свои собственные эмуляторы официального сервера WoW — многие называют их «пиратки» или «фришки».
ПЕРВЫЕ ШАГИ, РАЗРАБОТКА
Чтобы тебе была понятна суть статьи и принципы подхода к атакам, я должен немного рассказать о разработке. Долгое время в корне клиента (вплоть до версии клиента 4.х, конец 2010 года) находился текстовый файл realmlist с незатей- ливым расширением wtf (warcraft text file). Там указывался IP-адрес (домен) сервера, куда коннектиться клиенту. То есть перенаправить подключение клиента было очень просто, можно сказать любым своим друзьям: замените realmlist. wtf на кастомный — и хоп, они уже подключились к тебе.
И собирались программисты, сетевые инженеры, снифали пакеты при игре на официальном сервере (авторизация, вход в игру, сама игра), парсили кеш (клиент WoW кешировал данные о мире — предметы, мобы и прочее) и пытались воссоздать официальный сервер в своих кулуарах. За это время было много разных подходов к реализации сервера (Delphi, C#, Java, С++) и очень, очень много команд. В итоге самыми устойчивыми оказались две — проект MaNGOS и его форк TrinityCore, написанные в большинстве своем на С++.
Конечная картина такая: берется клиент, перенаправляется на свой собственный сервер, и на нем уже по мере сил эмулируется официальный. Многие данные брались из сни- фов, но и многое приходилось делать «на глаз», например — ну вот тут босс кастует пять секунд и секунду бегает по кругу. Вот такой громадный труд разработчиков, о котором можно писать отдельную статью :).
В итоге такие серверы набирали невероятную популярность, ведь их админы могли реализовать штуки, которых не было на официальных серверах (внутриигровые события, кастомные вещи, другие эффекты от заклинаний и подобное). И на многих из них был так называемый донат, где игроки могли приобрести вещи или услуги для своих персонажей. Было несколько прецедентов, когда Blizzard закрывала такие серверы. Это я о том, как в итоге далеко зашла разработка и что это не просто детские игры в реверсеров.
Ну и разумеется, в конечном счете люди начали искать способы атаки на «фришки».
WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.