Набор статей и руководств по дизассемблеру IDA


Faked ida.wll - часть 2


  • -i задает входной .IMP файл
  • -n задает созданный ранее файл с demanled names. В принципе можно легко обойтись и без него, но с ним генерируемый исходник выглядит несколько более эстетично
  • В результате после непродолжительного шуршания жесткого диска будут созданы следующие файлы с исходным кодом:

    • fish.c содержит тела функций, перехватывающих управление и вызывающих функцию протоколирования. Ничего интересного, можете заменить вызов LogIt

      на что-нибудь более подходящее.

    • init.c содержит код загрузки оригинальной DLL (переименуйте ее в _ida.wll) и инициализации всех внутренних данных, а также вызовы функций для модификации собственной таблицы экспорта.
    • rp.c содержит код функций протоколирования и синхронизации. Лог будет помещаться в файл ida.log.
    • fake.def DEF файл для создания DLL.
    • header.h содержит декларации всех используемых данных.
    • rp.h содержит декларации для rp.c

    Однако на этом сложности не заканчиваются - дело в том, что сгенерированная faked DLL с настройками по умолчанию будет грузиться с того же адреса, что и оригинальная ida.wll - похоже, что это IDA Pro не совсем нравится, поэтому необходимо изменить адрес загрузки нашей faked DLL на какой-нибудь другой, например на 0x12a40000 (цифра была взята совершенно произвольно).

    Исходники faked IDA.WLL содержатся в каталоге fake.




    Начало  Назад  Вперед



    Книжный магазин