所以我最近研究了一些逆向工程,我真的很想更好地了解像sa-mp和黑手党 2 多人游戏这样的东西是如何制作的。当我连接到 sa-mp 中的服务器并启动游戏时。它此时是否注入了一个dll或其他东西来控制游戏的流程并从城市等中删除所有的NPC?我并没有真正要求任何真正具体的东西,而只是这个想法。我查看了一些类似项目的源代码,但并没有真正了解这一切是如何开始的。我很感激知道这些事情的人可以启发我。
自从我发现这些模组以来,这确实是我感兴趣的事情,所以我期待收到您的来信。
所以我最近研究了一些逆向工程,我真的很想更好地了解像sa-mp和黑手党 2 多人游戏这样的东西是如何制作的。当我连接到 sa-mp 中的服务器并启动游戏时。它此时是否注入了一个dll或其他东西来控制游戏的流程并从城市等中删除所有的NPC?我并没有真正要求任何真正具体的东西,而只是这个想法。我查看了一些类似项目的源代码,但并没有真正了解这一切是如何开始的。我很感激知道这些事情的人可以启发我。
自从我发现这些模组以来,这确实是我感兴趣的事情,所以我期待收到您的来信。
开发此类软件时需要完成的大部分工作是逆向工程。
这包括弄清楚游戏客户端是如何工作的,以及你将如何使用它来执行任务。通常要寻找的东西可能包括:
之后,与目标进程交互的首选方式是编写动态库 (DLL)。这样做的主要优点是您与目标共享虚拟内存,因此能够像拥有所有数据一样取消引用指针。可以直接读写内存,调用函数,绕行函数等。
如果您对客户有足够的了解,您可以将其修改到您想象的极限。
在我看来,您链接的 mod 也创建了自己的服务器。该服务器将只是一个常规游戏服务器(使用您收集的信息构建),您可以完全控制它。客户端需要在 DLL 中实现。