Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 是否可以在执行过程中更改.exe文件?_C_File_Exe - Fatal编程技术网

C 是否可以在执行过程中更改.exe文件?

C 是否可以在执行过程中更改.exe文件?,c,file,exe,C,File,Exe,例如:我做了一个游戏,在游戏结束时我得到了一个分数。我可以用一个新文件保存分数。但是有没有可能在我的游戏.exe文件中分配一些空间,这样我就没有多余的文件了?是的,你可以,但不能像以前那样多,你不应该 这很糟糕,因为: AV软件将发现变化并将其标记为可能的病毒感染 您将错误地使windows预取无效(可能会减慢应用程序加载) 您需要在具有管理员权限的情况下运行应用程序(一个坏主意)才能获得对exe的写入权限 它打破了事物的预期布局和分布。Windows希望有地方可以放置这种东西,使用它 是的,这

例如:我做了一个游戏,在游戏结束时我得到了一个分数。我可以用一个新文件保存分数。但是有没有可能在我的游戏.exe文件中分配一些空间,这样我就没有多余的文件了?

是的,你可以,但不能像以前那样多,你不应该

这很糟糕,因为:

  • AV软件将发现变化并将其标记为可能的病毒感染
  • 您将错误地使windows预取无效(可能会减慢应用程序加载)
  • 您需要在具有管理员权限的情况下运行应用程序(一个坏主意)才能获得对exe的写入权限
  • 它打破了事物的预期布局和分布。Windows希望有地方可以放置这种东西,使用它

  • 是的,这是可能的,但请不要这样做。可执行文件不用于存储与应用程序无关的信息。病毒可能会一直这样做。当然,如果文件安装正常,用户访问控制将在windows系统>=vista上阻止此操作。你可能会接到很多客户的支持电话,他们的病毒扫描程序抱怨修改了exe文件,因此担心你的exe是病毒。此外,您可能有一个包含所有选项的唯一文件。如果您的目标是没有可见的文件,那么您应该使用Windows的应用程序设置路径,您应该在其中存储这样的文件,而不让这些文件显示在用户的文件管理器中。或者,您可以将评分存储在注册表中。你挑吧。将它们存储在exe中,是最糟糕的选择:-P(当然,除非你这样做是为了一般的黑客活动和学习目的。)这不是一个完全正确的问题的答案:-/@Nikos我认为“不,你不应该”是一个答案,因为他用论点来证实它。@remyabel是的,但仍然缺少答案。学习如何修改exe文件实际上是一项推荐的学习活动。你学到了很多关于操作系统的东西。@Nikos在运行时反汇编exe并更改分数要比修改exe容易得多,依我看,这在很大程度上挫败了OP的努力。也许他可以有一个“游戏文件”,它以某种方式对数据进行加密,当通过exe读取时,数据会被解密。这将减少作弊和更改分数的麻烦。@remyabel无论您如何存储分数,您都可以使用作弊引擎(www.cheatengine.org)并在内存中修改分数。存储不重要。