Когда задаются адреса функции IAT формата файла PE - PullRequest
1 голос
/ 09 марта 2010

Я немного погуглил и прочитал http://en.wikipedia.org/wiki/Portable_Executable, но не могу найти, когда пишутся адреса таблицы адресов импорта. Это происходит при компиляции? Или когда исполняемый файл запускается?

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Это происходит во время выполнения. Прочитайте это .

1 голос
/ 09 марта 2010

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

MSJ столбцы Мэтта Пьетрека о формате PE - отличные ссылки.

...