Как я могу заставить IDA Pro «видеть» внешние ссылки на строку?

StackOverflow https://stackoverflow.com/questions/1932129

  •  20-09-2019
  •  | 
  •  

Вопрос

В настоящее время я дизассемблирую исполняемый файл Mach-O в IDA Pro.Я просмотрел и нашел интересующую меня строку, но когда я пытаюсь найти на нее внешние ссылки, ничего не найдено.Я уверен, что в исходном коде есть ссылки на строки, но IDA Pro, похоже, не может определить, как на них ссылаются.

Есть ли какие-нибудь трюки, которые можно использовать, чтобы IDA Pro увидела внешние ссылки?

Это было полезно?

Решение

Дали ли вы ему достаточно времени, чтобы он проанализировал всю программу?Если ссылка существует, может пройти некоторое время, прежде чем она найдет ее в большой программе.

Также возможно, что на него ссылаются инструкции, для которых IDA не может найти путь к потоку.Это может произойти с таблицами переходов, где IDA не может угадать размер таблицы.Причина I в IDA заключается в том, что вы просматриваете инструкции, которые требуют оценки и правильной интерпретации, и присваиваете им соответствующий тип, чтобы IDA могла выполнять большую часть работы.

Другие советы

Возможно, строка принадлежит массиву строк, и IDA Pro ссылается на первый элемент строки.

Пример:

str_table dd offset str1 ; ^xrefs: display_message(int idx)
dd offset str2
dd offset 0x1234 (if you press ctrl+o it may resolve to mystr)

mystr db "Hello world"

Итак, попробуйте найти ссылку на строки рядом с вашей строкой и посмотрите, принадлежат ли они таблице, создайте массив и т. д.

функция сценария idc add_dref() будет тот, кого вы ищете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top