Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: oleg_alexeev   (14.03.2007 в 09:17)
>> Конечно можно. Работает ведь загруженный в память ексешник. а сам файл *.exe лежит мёртвым грузом. Можно что угодно с ним сделать.

В windows exe-файл после запуска не лежит мертвым грузом на диске, а является источником,
откуда windows будет считывать код, если он был выгружен из оперативной памяти во время
работы. Это написано у Рихтера в разделе про отображаемые на память файлы (memory-mapped
files). Логично предположить, что windows не даст туда ничего записать во время работы exe.

Я делал такую проверку -

1. открыл exe текстовым редактором и внес изменения в текст.
2. запустил exe - он вывел этот текст.
3. при запущенном exe пытаюсь открыть его редактором - не удается.

Мой exe - это стандартное GUI-приложение, скомпилированное Visual Studio.
А при каких условиях работает ваш пример ?


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: