【问题标题】:modify an open file c++修改打开的文件 c++
【发布时间】:2009-02-08 22:51:10
【问题描述】:

在 Windows 下有没有办法修改另一个进程使用 c++ 打开的文件/可执行文件?

【问题讨论】:

  • 你的意思是“你如何在windows中修改一个exe?”或“如何修改 Windows 中正在运行的 exe?”。如果这两者都不是,那么 sktrdie 的答案就成功了。
  • 是的,这正是我的意思,如果我不够清楚,请见谅。

标签: c++ winapi


【解决方案1】:

有没有办法在 windows 中修改打开的可执行文件?

没有。

有没有办法在 windows 中使用 c++ 修改打开的文件?

是的。如果已使用适当的共享权限打开它。见http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspxFILE_SHARE_WRITE

【讨论】:

    【解决方案2】:

    这可能是可能的,但可能并不容易实现。您需要在目标进程中注入线程并了解 PE 格式才能正确编辑打开的文件并对其进行修改。
    所有信息都在网上。

    祝你好运。

    我找到这个免费软件工具,它建议unlock files and folders

    【讨论】:

      【解决方案3】:

      只要可执行文件正在运行,操作系统就会将其保持为只读共享,因此无法直接对其进行修改。但是,您可以打开它以供阅读(如果您在 CreateFile 调用中指定阅读共享),并在它运行时制作它的修改副本。

      我不知道这是否是您的想法,但如果您正在执行此操作是您自己的程序,您可以启动新副本并让它从前一个中断的地方继续...不是直截了当,但也不是那么难。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-02
        • 1970-01-01
        • 1970-01-01
        • 2021-12-05
        • 1970-01-01
        • 2021-09-08
        相关资源
        最近更新 更多