изменить открытый файл C ++ - PullRequest
1 голос
/ 09 февраля 2009

В Windows есть способ изменить файл / исполняемый файл, открытый другим процессом с помощью c ++?

Ответы [ 3 ]

8 голосов
/ 09 февраля 2009

Есть ли способ изменить открытый исполняемый файл в Windows?

номер

Есть ли способ изменить открытый файл в Windows, используя c ++?

Да. Если он был открыт с соответствующими правами доступа. См. http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx FILE_SHARE_WRITE

1 голос
/ 09 февраля 2009

Это может быть возможно, но, возможно, не легко достичь. Вам нужно добавить поток в процесс назначения и знать формат PE для правильного редактирования открытого файла и его изменения.
Вся информация в сети.

Удачи.

Я нашел этот бесплатный инструмент, он предлагает разблокировать файлы и папки .

0 голосов
/ 09 февраля 2009

ОС сохраняет исполняемый файл открытым для общего доступа только для чтения, пока он работает, поэтому нет возможности изменить его напрямую. Однако вы можете открыть его для чтения (если вы указали разделение чтения в вызове CreateFile) и сделать его модифицированную копию во время работы.

Я не знаю, имел ли ты это в виду, но если это твоя собственная программа, с которой ты делаешь это, ты можешь запустить новую копию и получить ее там, где остановилась предыдущая ... не просто, но не так уж и сложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...