PE файл раздела RVA расчет
В настоящее время я просматриваю таблицу разделов PE-файла, как из необработанных данных на диске, так и через пару PE-анализаторов. Я немного смущен тем, как некоторые адреса интерпретируются.
Например. Из необработанного образа PE на диске я вижу это:
.text virtualSize: 0x1A0F71 virtualAddress: 0x1000 rawSize: 0x1A1000
Однако при использовании некоторых анализаторов PE (LordPE, pedump.me) я вижу это:
.text virtualSize: 0x114d41 virtualAddress: 0x1000 rawSize: 0x114e00
Я не уверен, как эти значения интерпретируются. Это как-то связано с выравниванием и базовым адресом изображения?
Любой вклад будет оценен.
Спасибо
2 ответа
Это требует экстрасенсорной отладки, размер раздела не зависит от RVA. Хрустальный шар говорит, что вы на самом деле смотрите на два разных файла. А ваши утилиты PE dumper - это 32-битные программы, которые вы запускаете в 64-битной операционной системе.
Вы должны понимать перенаправитель файловой системы. 32-разрядный процесс будет перенаправлен из c:\windows\system32 в c:\windows\syswow64 и из файлов c:\program в файлы c:\program (x86). Так что ваши утилиты PE dumper могут вместо этого открывать 32-битную версию исполняемого файла. И да, секция.text будет существенно меньше.
Скопируйте файл в каталог, на который перенаправление не влияет, например в папку "Документы".