RVA (относительный виртуальный адрес) каталога импорта в таблице каталогов должен быть действительным.Возможно, ваше преобразование в физическое смещение не работает.Конечно, это делается путем обхода таблицы разделов, чтобы найти содержащий раздел.Затем вычтите начальный RVA этого раздела из целевого RVA.Затем просто добавьте физическое смещение сечения к этому результату.Это даст вам позицию в файле каталога импорта.Преобразования в и из RVA в физические смещения могут быть необходимы часто, если вы работаете с файлом на диске.При работе с образом в памяти иногда утилиты защиты изменяют или уничтожают части PE-заголовка в памяти, чтобы предотвратить сброс.
Как только вы попадете в каталог импорта, у вас все еще остается много работы.Быстрый Google показал лучшее объяснение, чем я мог бы написать здесь: http://sandsprite.com/CodeStuff/Understanding_imports.html
Я являюсь автором теперь «классического» PECompact, PEBundle (теперь прекращено) и других утилит для манипуляции PE.1006 *