关闭exe并从内存中运行

时间:2011-11-22 00:57:46

标签: c++ python

由于exe是一个存档,我希望我的程序能够将东西保存到它自己的exe文件中。不幸的是,Windows在文件运行时保持打开状态。我想在Python和/或C ++中找到一种方法来强制程序从内存运行并使文件关闭。

2 个答案:

答案 0 :(得分:3)

如果不诉诸某些危险的,坦率的,毫无意义的黑客攻击,你无法将数据保存到程序自己的代码中。所以简短的回答是“你不能这样做”。你为什么要这么做?

EXE不是“存档”。它是一组要执行的机器代码,意味着只读。它可能包含数据,但该数据供特定地点的程序使用,程序知道如何引用这些地方。

答案 1 :(得分:1)

虽然您是正确的,但您可以在EXE(可执行文件)中拥有嵌入式资源(如图像,其他文件等) - 这些资源在编译时放置在那里,PE文件经过特殊结构化以允许此操作。但是,尝试在运行时执行此操作将是一个非常错误的想法。我并不是说这是不可能的,但是有很多,更好的方式来做你正在尝试做的事情