Ghidra + IDA kann keine Zeichenfolge erkennen, Radare2 jedoch

Jan 15 2021

Ich bin neu im Reverse Engineering und versuche Ghidra, IDA (Freeware) und Radare2 mit einem einfachen CrackMe. Das Problem ist, dass sowohl Ghidra als auch IDA keinen String erkennen konnten, während Radare2 (Using Cutter GUI) den Namen herausfinden konnte. Ich habe die Standardanalyse für alle 3 verwendet. Fehlt etwas? weil sogar der Befehl 'strings' tatsächlich die Zeichenfolge finden kann, nach der ich suche.

Ghidra:

IDA:

Radare2 (Cutter):

Antworten

6 R4444 Jan 15 2021 at 22:05

Ich kenne die genaue Länge der Saite nicht. Hier sind jedoch einige Dinge zu beachten:

  1. Ghidra und IDA haben eine Mindestgrenze für die Größe der Zeichenfolge, um den korrekten Typ wiederherzustellen (Ghidra hat eine Grenze - oder eine Untergrenze von 5).
  2. Dies ist erforderlich, um Fehlalarme oder widersprüchliche Typen zu vermeiden. Und stellen Sie die richtigen Typen wieder her, ohne einen Zeiger als Zeichenfolge zu markieren. Schauen Sie sich diese Abbildung als Referenz an. Generiert mit Ghidra automatisierter Analyse.

In Ghidra können Sie diese Grenze (mindestens 4) im Analysebereich ändern.

  1. StringsDer Befehl gibt druckbare Zeichen mit einer Mindestgröße von 4 aus (außerdem werden keine ausgeklügelten Typwiederherstellungsalgorithmen wie Ghidra oder Ida verwendet). Ich glaube, dass Sie eine Saite mit einer Länge von weniger als 5 haben und ich vermute, dass es 4 sein muss, um genau zu sein.
  2. Zeichenfolgen werden normalerweise im .rodataAbschnitt definiert . Wenn Sie auf DAT_xxxx doppelklicken, gelangen Sie zu dem Ort, an dem diese Zeichenfolge definiert ist. Dort sehen Sie aufeinanderfolgende Bytes, die von Ghidra oder IDA gebündelt wurden (siehe Abbildung 1). Der Typ wird jedoch nicht als "Zeichenfolge" aufgelöst.
  3. In Ghidra können Sie dies schnell beheben, indem Sie den Datentyp der Bezeichnung DAT_xxxx ändern: Klicken Sie mit der rechten Maustaste -> Daten -> Datentyp auswählen -> Zeichenfolge auswählen

Referenzen:

  • Siehe meine Frage hier - https://github.com/NationalSecurityAgency/ghidra/issues/2274
  • Saiten Handbuch - https://linux.die.net/man/1/strings
  • ida pro - Wie kann ich IDA veranlassen, eine Zeichenfolgenreferenz anzuzeigen?