Pergunta

Atualmente, estou desmontando um executável Mach-O no IDA Pro. Passei e encontrei a corda em que estou interessado, mas quando tento encontrar XREFs, ninguém pode ser encontrado. Tenho certeza de que as strings são mencionadas no código original, mas o IDA Pro parece não conseguir descobrir como são referenciadas.

Existem truques que podem ser executados para obter o IDA Pro para ver o XREFS?

Foi útil?

Solução

Você já deu tempo suficiente para ter analisado todo o programa? Se houver uma referência, pode levar algum tempo até encontrá -lo em um programa grande.

Também é possível que seja referenciado por instruções para as quais a IDA não consegue encontrar um caminho de fluxo. Isso pode acontecer com mesas de salto onde a IDA não consegue adivinhar o tamanho da tabela. A razão para o I Na IDA, você olha para as instruções que precisam de julgamento e interpretação adequada e as definem para o tipo apropriado para que a IDA possa fazer a maior parte do trabalho.

Outras dicas

É possível que a string pertence a uma matriz de string e o primeiro elemento da string seja referência pelo IDA Pro.

Exemplo:

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"

Então, tente encontrar referência a strings próximas à sua corda e veja se elas pertencem a uma mesa, crie uma matriz, etc ...

Função de script IDC add_dref() Seria o que você está procurando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top