World of Warcraft: как ломали пиратки (Теория)

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

hak wow

В  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, написанные в большинстве своем на С++.

Конечная картина такая: берется клиент, перенаправляется на свой собственный сервер, и на нем уже по мере сил эмулируется официальный. Многие данные брались из сни- фов, но и многое приходилось делать «на глаз», например — ну вот тут босс кастует пять секунд и секунду бегает по кругу. Вот такой громадный труд разработчиков, о котором можно писать отдельную статью :).

hak wow2

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

Ну и разумеется, в конечном счете люди начали искать способы атаки на «фришки».


 

WARNING

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

 

Поделитесь записью в соц. сетях:

Добавить комментарий

Неаргументированные мнения публиковаться не будут, просьба подкрепляйте свое "имхо" фактами.