首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改可执行文件中的硬编码值

更改可执行文件中的硬编码值
EN

Stack Overflow用户
提问于 2013-08-07 05:02:42
回答 1查看 449关注 0票数 1

一个新发布的游戏已经提供了服务器文件,这些文件目前没有配置IP地址/端口以进行绑定的选项。不幸的是,这限制了每台机器运行多个应用程序实例的能力,因为它是硬编码到端口"12345“。

许多年前,我使用c++和十六进制编辑器来更改这样的硬编码值,尽管这些知识早已被遗忘,但是是否有可能通过编写一个二级应用程序在运行时更改该值来改进这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-07 06:07:11

您仍然可以使用十六进制编辑器来更改硬编码常量。

另一种方法是使用由任何合适的操作系统提供的调试api。在Windows中,它是WriteProcessMemory函数。

它看起来是这样的-启动应用程序在调试模式下运行修改后的应用程序。更改需要常量,然后运行它。

当然,修改后的应用程序可能使用反调试技术--在这种情况下,解决方案并不简单。

在这两种情况下,您都必须知道这个值在内存中的位置(可执行文件)。这样,就必须提供一些逆向工程。

注意,在最后一个问题编辑之后:所有这些答案都是针对本机可执行文件的。对于托管代码,它可能更复杂。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18095012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档