所以我最近学习了一些逆向工程,我真的很想更好地了解像sa-mp和mafia 2 multiplayer这样的东西是如何实际制造的。当我连接到sa-mp中的服务器时,它启动了游戏。它是否在这一点上注入了dll或其他东西来控制游戏的流程,并从城市中删除所有的npc等?我并不是真的问什么具体的东西,而只是问一个想法。我看了几个类似项目的source codes,但没有真正理解它是如何开始的。如果有人能对这些事情有所了解,我将不胜感激。
自从我发现了这些mods后,这真的是我感兴趣的事情,所以我期待着收到你的回复。
发布于 2013-05-03 17:39:02
在开发这样的软件时,需要完成的一大部分工作是逆向工程。
这包括弄清楚游戏客户端是如何工作的,以及您将如何使用它执行任务。通常要查找的内容可能包括:
之后,与目标进程交互的首选方式是编写动态库(DLL)。这样做的主要好处是,您可以与目标共享虚拟内存,因此可以取消引用指针,就像拥有所有数据一样。你可以直接读写内存,调用函数,绕道函数等。
如果你对客户端有足够的了解,你可以修改到你的想象力的极限。
在我看来,你链接的mod也创建了自己的服务器。服务器将只是一个常规的游戏服务器(使用您收集的信息构建),您可以完全控制它。客户端需要在DLL内部实现。
https://stackoverflow.com/questions/15793908
复制相似问题