Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ida.final.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6 Mб
Скачать

Inf_filetype

Это поле содержит короткое целое, хранящее тип дизассемблируемого файла. Видимо не используется IDA, поскольку может безболезненно модифицироваться произвольными значениями, что не нарушает работоспособности.

Так же следует учитывать, что в версии 3.84 функция возвращает неверные значения. Дело в том, что IDC.IDC не был изменен, тогда как были расширены типы файлов, начиная с середины таблицы, от чего все типы «посыпались».

MS-DOS exe файл стал определятся как программный файл PalmPilot, что хотя и не нарушало работоспособности IDA, но не позволяло определить тип текущего файла.

В IDC.IDC содержится ссылка на файл ‘core.hpp’. На самом деле это опечатка и нужно смотреть ‘ida.hpp’, входящий в IDA SDK. Там мы обнаружим прелюбопытную структуру, описывающую типы поддерживаемых файлов.

Сравнив ее с IDC.IDC можно обнаружить различие, которое показано ниже:

f_EXE_old,

FT_EXE_OLD

f_COM_old,

FT_COM_OLD

f_BIN,

FT_BIN

f_DRV,

FT_DRV

f_WIN,

FT_WIN

f_HEX,

FT_HEX

f_MEX,

FT_MEX

f_LX,

FT_LX

f_LE,

FT_LE

f_NLM,

FT_NLM

f_COFF,

FT_COFF

f_PE,

FT_PE

f_OMF,

FT_USER

f_SREC,

FT_OMF

f_ZIP,

FT_SREC

f_OMFLIB,

FT_ZIP

f_AR,

FT_OMFLIB

f_LOADER,

FT_AR

f_ELF,

FT_LOADER

f_W32RUN,

FT_ELF

f_AOUT,

FT_W32RUN

f_PRC,

FT_AOUT

FT_PRC

FT_EXE

FT_COM

FT_AIXAR

Что бы функция возвращала правильный результат, необходимо исключить тип FT_USER и перенумеровать остаток списка.

Расшифровка всех значений приведена ниже:

FT_EXE_OLD

MS DOS EXE файл

FT_COM_OLD

MS DOS COM файл

FT_BIN

Двоичный файл (дамп ROM например)

FT_DRV

MS DOS драйвер (drv или sys)

FT_WIN

New Executable (NE)

FT_HEX

Intel Hex Object File

FT_MEX

MOS Technology Hex Object File

FT_LX

Linear Executable (LX)

FT_LE

Linear Executable (LE)

FT_NLM

Netware Loadable Module (NLM)

FT_COFF

Common Object File Format (COFF)

FT_PE

Portable Executable (PE)

FT_USER

Файл, загруженный посредством загрузчика IDP

FT_OMF

Object Module Format

FT_SREC

R-records

FT_ZIP

ZIP file (никогда не бывает загружен в базу IDA)

FT_OMFLIB

Библиотека OMF Модулей

FT_AR

ar library

FT_LOADER

Файл загружен посредством LOADER DLL

FT_ELF

Executable and Linkable Format (ELF)

FT_W32RUN

Watcom DOS32 Extender (W32RUN)

FT_AOUT

Linux a.out (AOUT)

FT_PRC

PalmPilot программный файл

FT_EXE

MS DOS EXE File

FT_COM

MS DOS COM File

FT_AIXAR

AIX ar library

Пример использования:

Message("%d \n",

GetShortPrm(INF_FILETYPE)

);

23

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]