У меня есть несколько вопросов относительно структуры Portable Executable.
Я нашел отличное начало благодаря паре хорошо написанных статей здесь и здесь; однако у меня все еще нет ответа.
Я полагаю, и пожалуйста, поправьте меня, если я ошибаюсь, что данные в определенном разделе структуры PE загружаются и выполняются операционной системой. Например, возьмем разделы .text
и .data
.
Судя по тому, что я прочитал, раздел .data
содержит какие-то инструкции, а раздел .text
содержит фактические данные для запуска.
Мне любопытно узнать, возможно ли хранить данные файла в разделе .text и динамически перемещать его в раздел .text
, который затем автоматически (загружает/запускает/запускает) данные файла, которые сейчас находятся в .text
раздел.
Если вы не понимаете, о чем я спрашиваю, позвольте мне перефразировать.
- Где (в каком разделе) хранятся основные данные файла?
- Как мне перемещать данные между разделами на С#? Я предполагаю, что мне придется использовать указатели для этого.
- Правильно ли я думаю, что такая функция вообще будет работать?