в общем, можно ли с помощью fasm организовать экспорт из ДЛЛ не только по имени, но и по ординалу (указать ординал явно)? не устраивает последовательная нумерация, из 118 имен нужно чтобы вместо 117го было 151, вместо 118 - 500 в .def-файлах vc можно указать ординал после имени, наподобие Код (Text): EXPORTS accept @ 1 bind @ 2 closesocket @ 3 connect @ 4 getpeername @ 5 getsockname @ 6 __WSAFDIsSet @ 151 WEP @ 500 или как подправить ординалы экспортируемых функций в скомпиленной длл? всякие PE Tools, Lord PE не помогли, или я криворук (после изменения NameOrdinal начинаются глюки, экспорт пропадает, появляется какой-то noname экспорт, ...) я так понимаю, NumberOfFunctions в директории экспорта не совпадает с максимальным значением ординала)
я бы написал в фасме свой макрос export как-то так Код (Text): macro export dllname,[label,string,ordinal] { common local module,addresses,names,count count = 0 forward count = count+1 common dd 0,0,0,RVA module,1 dd count,count,RVA addresses,RVA names,RVA ordinal addresses: forward dd RVA label common names: forward local name dd RVA name common ordinal: forward dw ordinal common module db dllname,0 forward name db string,0 common }
наверн метка ordinal и параметр макроса ordinal должны иметь разные имена вобщем надо скомпилить и проверить