Исправление исполняемого файла PE - PullRequest
4 голосов
/ 11 февраля 2010

Допустим, я загрузил исполняемый файл PE в память и присвоил ему структуры dos, nt headers и теперь я хочу узнать его фактическое (не VA) смещение + размер сегмента .text / code, как мне это сделать? Есть ли Win32 API для поиска смещения начала .text или, возможно, указатель из структуры который указывает на начальное смещение этого сегмента

спасибо.

Ответы [ 3 ]

2 голосов
/ 11 февраля 2010

IMAGE_FILE_HEADER и IMAGE_OPTIONAL_HEADER содержат часть этой информации. Вы можете получить их с помощью функции GetNTHeaders (). Оттуда вы можете получить первый заголовок раздела с IMAGE_FIRST_SECTION (pNtHeaders). Заголовки разделов являются последовательными и содержат остальную информацию, которая вас интересует. Заголовок файла содержит количество разделов.

1 голос
/ 12 мая 2010

Попробуйте использовать PE File Format DLL для получения информации. Полный исходный код поставляется с не-GPL обремененным, так что вы можете использовать его в своем коммерческом проекте просто отлично.

Также доступен (с источником) PE File Explorer , чтобы показать вам, как использовать DLL. про

1 голос
/ 11 февраля 2010
...