воскресенье, 7 августа 2011 г.

perl inside IDA Pro

а вот например поскольку ecl встраивается куда-либо крайне непросто, то я решил обновить очередной свой античный баян
Cоотв-но эта версия работает на
  • IDA Pro 6.1 (eset rulez ! например от Спасателей Вселенной™ сроду ничо полезного не дождешься, бгг)
  • 32битном ActiveState perl 5.14
  • собирается vs2010
С немалым интересом обнаружил, что за прошедшее время появился еще один вариант subj. Я даже позаимствовал оттуда механизм перехвата layered PerlIO. Похоже что он заброшен с 2008 года. Сложно сказать какой вариант bindingа лучше - мне мой за девять с половиной лет более привычен
Впрочем и моя версия пока может рассматриваться как глубокая alpha, ибо
  • отладчик не поддерживается
  • 32bit only
  • я ее практически не тестировал - прогнал вчера с десяток своих скриптов для анализа форматов файлов - вроде бы все работают
Requirements
  • IDA Pro 6.1 & SDK от нее, расположенный в корневой директории самой IDA Pro
  • Visual Studio 2010
  • ActiveState perl 5.14 32bit
  • swig
  • мозги и прямые руки
How to build
Если вы используете другую версию IDA Pro - нужно для получения прототипов встроенных IDC ф-ций собрать plugin idc_dump и запустить его. В результате получится файл idc.out, который нужно скопировать в директорию data.
В директории data запускаем (предварительно вписав все нужные пути) all.bat
Затем собираем все с помощью предоставленного проекта на vs2010

Installation
При сборке rp_vc.plw кладется сразу в нужное место (директория plugins). Нужно взять из perl/pm ida.pm и перенести его в поддиректорию lib в директорию, где установлен сам perl


TODO
  • добавить в ida.pm всякое актуальное из idc.idc
  • сделать поддержку отладчика
  • посмотреть можно ли на этой версии perl binding писать loader/plugins/proc modules. Ильфак заявлял что на IDC это можно делать аж начиная с 5.7
  • совсем безумная мысль - прикрутить perlqt4

1 комментарий:

  1. >>совсем безумная мысль - прикрутить perlqt4
    Точно безумец! Накуя?

    ОтветитьУдалить