Frage

Derzeit bin ich Auseinanderbauen eines Mach-O ausführbare Datei in IDA Pro. Ich habe durchgemacht und fand die Saite mich interessiert, aber wenn ich versuche xrefs, um es zu finden, kann keine finden. Ich bin sicher, dass die Saiten im ursprünglichen Code verwiesen wird, die IDA Pro scheint nicht der Lage sein, um herauszufinden, wie auf sie verwiesen wird.

Gibt es irgendwelche Tricks, die durchgeführt werden können, erhalten IDA Pro die xrefs zu sehen?

War es hilfreich?

Lösung

Haben Sie es genügend Zeit für sie das gesamte Programm analysiert haben? Wenn es eine Referenz ist, kann es einige Zeit dauern, bis sie es in einem großen Programm findet.

Es ist auch möglich, dass es durch Anweisungen verwiesen wird, für die IDA kann nicht einen Strömungspfad finden. Dies kann mit Sprungtabellen vorkommen, wo IDA nicht in der Lage ist, die Größe der Tabelle zu erraten. Der Grund für die I in IDA ist, dass man sich den Anweisungen, die Notwendigkeit Urteil und die richtige Auslegung und stellte sie in den entsprechenden Typ so IDA die meiste Arbeit tun können.

Andere Tipps

Es ist möglich, dass die Zeichenfolge gehören zu einem String-Array und das erste Element der Strings Bezug von IDA Pro.

Beispiel:

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"

Also, versuchen Bezug auf Strings in der Nähe der Zeichenfolge zu finden, und sehen, ob sie zu einer Tabelle gehören, einen Array erstellen, etc ...

idc Skriptfunktion add_dref() wäre diejenige, die Sie suchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top