2012-03-05 3 views
1

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

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

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

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

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

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

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

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

+0

Получить хорошее на этом и построить частичный веб-браузер. Вы будете наняты google, прежде чем у вас появятся изменения, чтобы завершить игру с измененным дизайном. По этой причине не так много сделано. – CodingBarfield

ответ

0

Я хотел бы начать, связывая вас с этой вики статьи: http://en.wikipedia.org/wiki/Server_emulator

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

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

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

удачи

Смежные вопросы