Идентифицировать файл (предположительно фортрановская либа)
Судя по строкам dosx,_lf_exitdos и rminit - это либа для защищенного 32-битного режима dos. А Compaq Fortran комплирует под windows. Тебе нужен тот досовый компилятор фортрана, каким была скомпилена эта либа, либо ее исходники.
То есть отконвертить ее без исходников во что-нибудь удобоваримое не получится?
Получится если юзать дизассемблер (не уверен, что IDA этот формат поймет... т.е. фактически реверснуть и написать либу заново. Возможно, некоторые процедуры удастся скопировать из дизассемблера без изменений - код, слава богу, 32-битный.
Возможно, некоторые процедуры удастся скопировать из дизассемблера без изменений - код, слава богу, 32-битный.
А это как? Ассемблерными вставками в С?
Форматы вызовов при этом нужно знать заранее?
Лучше всего (чтобы си случайно не притащил свой рантайм в прогу на фортране + в асме легче управлять добавлением подчеркивания к именам функции и конвенциями вызова) создать отдельный ассемблерный модуль, который компилируется и линкуется к основной программе. Можно использовать любой современный ассемблер - fasm, nasm, yasm - ida все равно не умеет правильно экспортировать ни в один из них .
Сунул в IDA - этa либa файл имеет формат OMF. Тебе какие функции и модули из нее нужны? Если не все, то можно реверснуть только нужные.
Тебе какие функции и модули из нее нужны?Мне нужны 3: INDPRI, LAFD и BJB2M1
Оставить комментарий
durka82
Подкинули проект на фортране, который должен компилироваться и работать.Но он выдает ошибки линковки.
Сказали, что это все есть в либе , которая приложена к проекту, и что раньше (когда-то давно) все компилировалось и работало.
Либа действительно есть, но вот подключаться в Compaq Fortran 6.6 не хочет - говорит, что она какая-то неправильная
Команда выдает пустой список, а выдает сообщение .
Что это за либа такая и можно ли ее как-то подключить/починить?