Элементы этого массива имеют параметр Size. Он что,не соответствует действительности? Столкнулся с тем,что обработка секций с исключением всех блоков из DataDirectory тем не менее портит системную информацию (в моем случае таблицу импортов) Неужели необходимо еще для каждого элемента разбираться с внутренней структурой,на который он указывает? А зачем тогда этот Size ?
хм... о каком ты поле говоришь ... вот не пойму.. решил даже доку клянуть и вижу что нема такой штуки... смотрим : Optional Header начинаеться с поля magic / 18h Word Magic 1Ah Byte Link Major 1Bh Byte Link Minor 1Ch DWord Size of Code 20h DWord Size of Init Data 24h DWord Size of UnInit Data 28h DWord Entry point RVA 2Ch DWord Base of Code RVA 30h DWord Base of Data RVA 34h DWord Image Base 38h DWord Object align 3Ch DWord File align 40h Word OS Major 42h Word OS Minor 44h Word USER Major 46h Word USER Minor 48h Word SubSys Major 4Ah Word SubSys Minor 4Ch DWord Reserved 50h DWord Image Size 54h DWord Header Size 58h DWord File CheckSum 5Ch Word SubSystem 5Eh Word DLL Flags 60h DWord Stack Reserve Size 64h DWord Stack Commit Size 68h DWord Heap Reserve Size 6Ch DWord Heap Comit Size 70h DWord Loader Flags 74h DWord Num of RVA and Sizes этим заканчиваеться Optional Header о каком DataDirectory ты говоришь ?
Вот с 78h и начинается массив ) 74h DWord │ Num of RVA and Sizes 78h DWord Export Table RVA 7Ch DWord Export Data Size 80h DWord Import Table RVA 84h DWord Import Data Size 88h DWord Resource Table RVA 8Ch DWord Resource Data Size 90h DWord Exception Table RVA 94h DWord Exception Data Size 98h DWord Security Table RVA 9Ch DWord Security Data Size A0h DWord Fix Up's Table RVA A4h DWord Fix Up's Data Size A8h DWord Debug Table RVA ACh DWord Debug Data Size B0h DWord Image Description RVA B4h DWord Description Data Size B8h DWord Machine Specific RVA BCh DWord Machnine Data Size C0h DWord TLS RVA C4h DWord TLS Data Size C8h DWord Load Config RVA CCh DWord Load Config Data Size D0h 08h Reserved D8h DWord IAT RVA DCh DWord IAT Data Size E0h 08h Reserved E8h 08h Reserved F0h 08h Reserved F8h Total Structure size
SomeOne_TT не знаю, размер этот есть точный размер описываемой полем RVA структуры. Только вот структуры эти для разных 16 элементов DataDirectory различны и иъх количество тоже , и , естественно, имеют разные размеры,но, размеры насколько я помню, были всегда верны. Только вот понять не могу, какого ты на них споткнулся, структуры ведь чётко описан, вот с ними и работай, а не с размерами
Да. Так и приходится делать. Рекомендую всем,кто столкнется с этой проблемой использовать замечательную утилитку PEview, которая показывает,где находятся эти директории и что в них лежит
Кста, эта штука может криво отображать содержимое директории ресурсов в некоторых специфических случаях.. я как-то изрядно репу почесал, пока не догадался сам адреса пересчитать