Русский / Russian English / Английский

Сейчас на форуме: (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Вопросы новичков —› КАК ПАТЧИТЬ ПЛАГИНЫ ПОД IDA PRO v7.2
Посл.ответ Сообщение

Ранг: 6.0 (гость)
Статус: Участник

Создано: 22 марта 2020 22:18 New!
Цитата · Личное сообщение · #1

Добрый день участники форума.
Использовал Ida pro 6.8, и с ней плаги Keypatch работал на ура. Плагин для патчинга.
Теперь перешел на Ida pro 7.2 - плагин перестал работать.

Есть ли возможность патчинга плагинов к версии ниже 7.0 - чтобы они работали для 7.2 версии?
Скину ссылку на плагин - https://github.com/keystone-engine/keypatch/

И что конкретно нужно патчить в плагине чтобы он заработал на 7.2 версии?
спасибо за внимание



Ранг: 134.1 (ветеран)
Статус: Участник
realist

Создано: 22 марта 2020 22:55 New!
Цитата · Личное сообщение · #2

Используй встроенный в иду Edit > Patch Program или хекс редактором



Ранг: 249.3 (наставник)
Статус: Участник

Создано: 22 марта 2020 23:45 · Поправил: cppasm New!
Цитата · Личное сообщение · #3

Поддержку Ida 7.x вроде же добавили: --> Link <--
Нет?

И зачем что-то патчить, если есть исходники и IDA SDK?
Либо просто собери, либо допили и собери.
Это будет проще чем бинарь патчить.



Ранг: 6.0 (гость)
Статус: Участник

Создано: 23 марта 2020 00:56 New!
Цитата · Личное сообщение · #4

в 7,2 не отображается и не работает,
средства ida Edit > Patch Program или хекс редактор хороши но плагин облегчает сильно
попробую на гитхаб написать может поправят



Ранг: 423.7 (мудрец)
Статус: Участник

Создано: 23 марта 2020 01:19 · Поправил: dosprog New!
Цитата · Личное сообщение · #5

AXLLOW пишет:
КАК ПАТЧИТЬ ПЛАГИНЫ ПОД IDA PRO v7.2


А кричать-то зачем?

| Сообщение посчитали полезным: kp0m


Ранг: 26.1 (посетитель)
Статус: Участник

Создано: 23 марта 2020 10:18 New!
Цитата · Личное сообщение · #6

Что б девочка из соседнего двора услышала




Ранг: 267.7 (наставник)
Статус: Участник

Создано: 23 марта 2020 10:30 New!
Цитата · Личное сообщение · #7

В экспорте плугина есть адрес структуры plugin_t
Code:
  1. class plugin_t
  2. {
  3. public:
  4.   int version; // Should be equal to IDP_INTERFACE_VERSION
  5.   int flags; // Features of the plugin:
  6. #define PLUGIN_MOD  0x0001      // Plugin changes the database.
  7.                                 // IDA won't call the plugin if
  8.                                 // the processor prohibited any changes
  9.                                 // by setting PR_NOCHANGES in processor_t.
  10. #define PLUGIN_DRAW 0x0002      // IDA should redraw everything after calling
  11.                                 // plugin
  12. #define PLUGIN_SEG  0x0004      // Plugin may be applied only if the
  13.                                 // current address belongs to a segment
  14. #define PLUGIN_UNL  0x0008      // Unload the plugin immediately after
  15.                                 // calling 'run'.
  16.                                 // This flag may be set anytime.
  17.                                 // The kernel checks it after each call to 'run'
  18.                                 // The main purpose of this flag is to ease
  19.                                 // debugging of new plugins.
  20. #define PLUGIN_HIDE 0x0010      // Plugin should not appear in the Edit, Plugins menu
  21.                                 // This flag is checked at the start
  22. #define PLUGIN_DBG  0x0020      // A debugger plugin. run(arg) should put
  23.                                 // the address of debugger_t to *arg
  24.                                 // See idd.hpp for details
  25.   int (idaapi* init)(void); // Initialize plugin
  26. #define PLUGIN_SKIP  0  // Plugin doesn't want to be loaded
  27. #define PLUGIN_OK    1  // Plugin agrees to work with the current database
  28.                         // It will be loaded as soon as the user presses the hotkey
  29. #define PLUGIN_KEEP  2  // Plugin agrees to work with the current database
  30.                         // and wants to stay in the memory
  31.   void (idaapi* term)(void); // Terminate plugin. This function will be called
  32.                         // when the plugin is unloaded. May be NULL.
  33.   void (idaapi* run)(int arg); // Invoke plugin
  34.   char *comment; // Long comment about the plugin
  35.                         // it could appear in the status line
  36.                         // or as a hint
  37.   char *help; // Multiline help about the plugin
  38.   char *wanted_name; // The preferred short name of the plugin
  39.   char *wanted_hotkey; // The preferred hotkey to run the plugin
  40. };

Сначала глядишь то ли что надо в поле version, потом бряк в метод init и смотришь что ему не дает PLUGIN_OK вернуть. Но как бы да, довольно странная мера, если можно сконпелировать под новый сдк и проблем с совместимостью точно быть не должно.

| Сообщение посчитали полезным: AXLLOW, Scorpion13

 eXeL@B —› Вопросы новичков —› КАК ПАТЧИТЬ ПЛАГИНЫ ПОД IDA PRO v7.2

Видеокурс ВЗЛОМ