Установка этого указателя на структуру

Я переворачиваю программу и постепенно начинаю создавать пользовательскую структуру, которая, несомненно, представляет класс (например, первый DWORD указывает на виртуальную таблицу и т. д.).

Это двоичный файл Windows с некоторой реализацией COM. Некоторые методы используют соглашение о вызовах stdcall (этот вызов в стеке), некоторые методы используют соглашение о вызовах this (этот указатель на ECX).

Я хотел бы сообщить IDA, что указатель this (либо в ECX, либо в стеке) указывает на мою пользовательскую структуру, которую я проанализировал, поэтому в представлении кода я увижу ссылку на поле класса. Возможный?


ida
person Uri    schedule 25.11.2013    source источник


Ответы (1)


Эффективным способом анализа программы, основанной на таблице виртуальных функций, является изменение типов с помощью надстройки ida hexray. Шаги могут быть:

  1. Преобразуйте интересующую функцию в код C poseduo. Плагин hexray пометит этот указатель как DWORD*/int* и т. д.
  2. Измените тип этого указателя на тип структуры, который вы проанализировали (нажав «Y» на этой переменной указателя).

Но аддон hexray очень обширен.

person FSD    schedule 20.02.2014