Написание пользовательских сторонних клиентских эмуляторов - PullRequest
1 голос
/ 05 марта 2012

Я боролся с этим вопросом уже много лет.Я видел программы, которые эмулируют серверы, например, частные серверы World of Warcraft, и эмуляторы клиентов, например, программы для ботов.

В конечном итоге я хочу иметь возможность взять программу (которая является клиентом), переписать ее сам вC # и использовать его для своих нужд.Например, я начал с протокола IRC: я написал простой клиент, который подключался к реальному серверу IRC, и он работал совершенно автономно.Я хочу сделать это с любой программой, будь то Spotify или простая игра, такая как Terraria.

Поскольку я сам не изменил протокол IRC, я не могу взять Spotify и написатьКастомный клиент для него.Я предполагаю, что моим следующим шагом будет использование Terraria, декомпиляция и закулисный взгляд на его протокол клиент-сервер, чтобы создать автономный клиент, который ничего не рендерит, а играет в игру, отправляя сообщения.

Итак, мой вопрос: как люди продвигаются вперед и полностью изменяют программу, чтобы они могли делать с ней все, что хотят?Почему это занимает так много времени и почему это так сложно?

Если бы мне удалось это сделать, я бы смог создать собственный клиент Spotify, который транслирует музыку в прямую трансляцию и прослушивает входящие сетевые сообщения дляновые песни.

Или клиент Terraria для Android или iPhone, ... небо действительно предел, когда вы можете делать такие вещи.

Еще одна проблема, которую я имею, - этоДело в том, что я программирую на C #, есть другие языки, которые больше подходят для такого рода вещей, но я уверен, что C # может делать все что угодно, возможно, не так быстро и не так точно.Так что, скорее всего, мне придется читать сообщения в блоге, объясняющие этот материал на C ++, и конвертировать его в C #.

Заранее спасибо, Diede Apers

1 Ответ

0 голосов
/ 05 марта 2012

Я бы начал со ссылки на эту статью в вики: http://en.wikipedia.org/wiki/Server_emulator

Это объясняет, что это, скорее всего, противоречит Лицензионному соглашению с конечным пользователем, независимо от того, для чего вы планируете это сделать.

Вместо того, чтобы пытаться декомпилировать их программное обеспечение, почему бы не попытаться интерпретировать потоки TCP, используемые приложением? Вам захочется, чтобы что-то вроде wireshark или ethercap захватывало эти пакеты. Они сообщат вам, что передается программным обеспечением, его адресата и полученные ответы сервера.

Это, вероятно, займет у вас много времени - Lol

Удачи

...