| Hiro Protagonist |
30.08.2009 22:05 |
ыыы, за что ты её так отмучил? Тк VirtualSize < SizeOfRawData действия загрузчика не определены и зависят от реализации. Есстественно что тулзы для работы с ПЕ тупят , тк Offset = RVA - VirtualAddress + PointerToRawData, но нужно выяснить к какой секции принадлежит RVA. В данном случае непонятно как считать границы секций - можно расширить VirtualAddress до SizeOfRawData и тогда результат окажется неопределенным тк одни и теже rva будут соответствовать разным секциям(и разным оффсетам в файле, что недопустимо с точки зрения формата и загрузчик делающий так никогда такие файлы не загрузит) - так делает например HIEW 7.51 и другие утилиты не сумевшие показать импорт. Можно сделать и по другому считая что VirtualSize секции - это и есть VirtualSize (что считаю концептуально более правильным, но не все версии загрузчика так поступают), тогда никаких проблем с преобразованием адресов нет и ипорт находится - как видимо и работает peid.
|