在Windows下有没有办法使用c ++修改由另一个进程打开的文件/可执行文件?
答案 0 :(得分:8)
有没有办法在Windows中修改打开的可执行文件?
没有
有没有办法使用c ++修改Windows中的打开文件?
是。如果已使用适当的共享权限打开它。请参阅http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx FILE_SHARE_WRITE
答案 1 :(得分:1)
有可能但也许不容易实现。您需要在目标进程中注入线程并知道PE格式以正确编辑打开的文件并进行修改
所有信息都在网上。
祝你好运。
我发现这个免费软件工具,建议unlock files and folders。
答案 2 :(得分:0)
只要操作系统正在运行,操作系统就会将可执行文件打开以进行只读共享,因此无法直接修改它。但是,您可以打开阅读(如果您在CreateFile
调用中指定了读取共享),并在其运行时对其进行修改后的副本。
我不知道这是不是你的想法,但是如果这是你自己的程序,那么你就可以开始新的副本并让它在上一个停止的地方继续...不是直截了当,但也不是那么困难。