【问题标题】:Writing custom third party client emulators编写自定义第三方客户端模拟器
【发布时间】:2012-03-22 22:00:55
【问题描述】:

多年来,我一直在为这个问题苦苦挣扎。我见过模拟服务器的程序(例如魔兽世界专用服务器)和客户端模拟器(例如机器人程序)。

最终,我希望能够编写一个程序(即客户端),自己用 C# 重写它,并将其用于我自己的需要。例如,我从 IRC 协议开始:我编写了一个连接到真实 IRC 服务器的简单客户端,它完全独立工作。我想用任何类型的程序来做到这一点,可能是 Spotify 或像泰拉瑞亚这样的简单游戏。

由于我自己没有反转 IRC 的协议,因此我无法使用 Spotify 并为其编写自定义客户端。我想我的下一步是使用泰拉瑞亚,对其进行反编译并在幕后查看它的客户端服务器协议,以便创建一个独立的客户端,该客户端不渲染任何东西,但通过发送消息来玩游戏。

所以我的问题是:人们如何继续并反转一个程序,以便他们可以用它做任何他们想做的事情?为什么需要这么长时间,为什么这么难?

如果我能够做到这一点,我将能够制作一个自定义 Spotify 客户端,将音乐流式传输到实时流中,并收听传入的网络消息以获取新歌曲。

或者是安卓或 iPhone 的泰拉瑞亚客户端,......当你能够做这种事情时,天空才是真正的极限。

我遇到的另一个问题是我使用 C# 进行编程,还有其他语言更适合这种事情,但我确信 C# 可以做任何事情,但可能没有那么快或那么准确。所以很可能我将不得不阅读用 C++ 解释这些内容并将其转换为 C# 的博客文章。

提前致谢, 死神

【问题讨论】:

  • 擅长这一点并构建一个部分网络浏览器。在你做出改变来完成你的逆向工程游戏之前,你会被谷歌录用。这就是为什么没有做很多事情的原因。

标签: c# emulation reverse-engineering network-protocols


【解决方案1】:

首先,我将链接到您的此 Wiki 文章:http://en.wikipedia.org/wiki/Server_emulator

它确实说明这很可能违反最终用户许可协议,无论您打算做什么。

与其尝试反编译他们的软件,不如尝试解释应用程序使用的 TCP 流? 你会想要像 wireshark 或 ethercap 这样的东西来捕获这些数据包。他们将向您提供软件正在传输的内容、其目的地以及收到的服务器回复。

这可能会花费你很长时间 - 哈哈

祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 2014-04-29
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    相关资源
    最近更新 更多