【发布时间】:2012-03-22 22:00:55
【问题描述】:
多年来,我一直在为这个问题苦苦挣扎。我见过模拟服务器的程序(例如魔兽世界专用服务器)和客户端模拟器(例如机器人程序)。
最终,我希望能够编写一个程序(即客户端),自己用 C# 重写它,并将其用于我自己的需要。例如,我从 IRC 协议开始:我编写了一个连接到真实 IRC 服务器的简单客户端,它完全独立工作。我想用任何类型的程序来做到这一点,可能是 Spotify 或像泰拉瑞亚这样的简单游戏。
由于我自己没有反转 IRC 的协议,因此我无法使用 Spotify 并为其编写自定义客户端。我想我的下一步是使用泰拉瑞亚,对其进行反编译并在幕后查看它的客户端服务器协议,以便创建一个独立的客户端,该客户端不渲染任何东西,但通过发送消息来玩游戏。
所以我的问题是:人们如何继续并反转一个程序,以便他们可以用它做任何他们想做的事情?为什么需要这么长时间,为什么这么难?
如果我能够做到这一点,我将能够制作一个自定义 Spotify 客户端,将音乐流式传输到实时流中,并收听传入的网络消息以获取新歌曲。
或者是安卓或 iPhone 的泰拉瑞亚客户端,......当你能够做这种事情时,天空才是真正的极限。
我遇到的另一个问题是我使用 C# 进行编程,还有其他语言更适合这种事情,但我确信 C# 可以做任何事情,但可能没有那么快或那么准确。所以很可能我将不得不阅读用 C++ 解释这些内容并将其转换为 C# 的博客文章。
提前致谢, 死神
【问题讨论】:
-
擅长这一点并构建一个部分网络浏览器。在你做出改变来完成你的逆向工程游戏之前,你会被谷歌录用。这就是为什么没有做很多事情的原因。
标签: c# emulation reverse-engineering network-protocols