Попался мне в руки великий и могучий IDA 4.7 под Linux. И вскоре понадобилось мне приспособить его к новому процессору. Ну, ясное дело, надо ставить SDK. SDK, к счастью, шел в комплекте, но вот его установка... Сейчас об этом и расскажу.
Что мы имеем? В моем SDK написано, что он предназначен для ядра IDA
4.7 build 830. Система - RH9.0, криво-косо собранная по пакетам. Сам IDA
стоит в /usr/share/idapro
(далее буду называть этот путь
$IDA
). IDA SDK распакован в $IDA/idasrc
($IDASRC)
. Поехали!
В самом SDK, в файле install_linux.txt
, написано, как
его собирать. Ну... idamake.pl
для сборки под Linux
совершенно бесполезен, увы! Заставить собраться все сразу у меня так и не
получилось, но вот как собрать процессорный модуль или лоадер, я понял. Это
делается так...
Процессорные модули лежат в $IDASRC/module
. Каждый
модуль лежит в собственном каталоге, который содержит исходники и
makefile. Попробуем зайти в любой каталог (я зашел в h8) и набрать
make
. Ага! "missing separator" нам будет ответом. Все дело
в строке !include
что-то там. Это - формат borland'овского
make. Надо убрать !
, кроме того, надо помнить, что в gnu
make имя файла должно быть без кавычек. Правим. Теперь нам говорят, что
файла нет. Точно, makefile у нас для DOS-программ. Нужно в путях \
менять на /
. Правим опять... И опять нет файла! Ну
да, нужно расширение .mak сменить на .unx. Вот теперь все соберется.
Результат работы будет лежать в $IDASRC/bin/procs
. Но его
размер!!! 400 килобайт?! Это из-за наличия в файлах отладочной информации,
которая добавляется ключом -g
компилятора. Чтобы избежать
этого, лезем в файл $IDASRC/allmake.unx
и ищем там строку,
которая начинается с CFLAGS=...
В этой строке нужно убрать
ключ -g
, и размеры выходных файлов станут более
приемлемыми. Аналогичные изменения в makefile необходимо провести и для
сборки лоадеров.
Успехов!
Контакты: e-mail; Гостевая книга