一个新发布的游戏已经提供了服务器文件,这些文件目前没有配置IP地址/端口以进行绑定的选项。不幸的是,这限制了每台机器运行多个应用程序实例的能力,因为它是硬编码到端口"12345“。
许多年前,我使用c++和十六进制编辑器来更改这样的硬编码值,尽管这些知识早已被遗忘,但是是否有可能通过编写一个二级应用程序在运行时更改该值来改进这一点呢?
发布于 2013-08-07 06:07:11
您仍然可以使用十六进制编辑器来更改硬编码常量。
另一种方法是使用由任何合适的操作系统提供的调试api。在Windows中,它是WriteProcessMemory函数。
它看起来是这样的-启动应用程序在调试模式下运行修改后的应用程序。更改需要常量,然后运行它。
当然,修改后的应用程序可能使用反调试技术--在这种情况下,解决方案并不简单。
在这两种情况下,您都必须知道这个值在内存中的位置(可执行文件)。这样,就必须提供一些逆向工程。
注意,在最后一个问题编辑之后:所有这些答案都是针对本机可执行文件的。对于托管代码,它可能更复杂。
https://stackoverflow.com/questions/18095012
复制相似问题