Введение
Одно время я играл в одну довольно известную в рунете MMORPG. Потратил на нее довольно много времени, но вскоре игровой процесс мне наскучил. Однако появилось желание узнать как работает игра и попытаться сделать к ней различные прибамбасы. Первым результатом стал кривой бот, написанный на C# и умеющий бить мобов, но он тоже быстро стал неинтересен. К тому времени я наткнулся на форум, связанный со взломом игр и, в частности, тему одного талантливого программиста, который на досуге решил разобрать трафик игры. Это меня сильно заинтересовало и я решил повторить его достижение.
Вооружившись Wireshark'ом я получил несколько дампов и был, честно говоря, ошарашен содержимым. К шестнадцатеричным значениям было уже не привыкать, но вот структуры никакой вычленить было невозможно. Так как опыт в системном программировании у меня совсем небольшой, я решил воспользоваться советами профессионала (автора темы) и попросить у него наводку: в какую сторону копать. Кроме общих рекомендаций, я узнал, что трафик игры зашифрован при помощи алгоритма RC4, а данные сервера к тому же сжимаются (об этом в другой раз). Направление было задано и я начал изучать алгоритм, чтобы реализовать его на C#.