2017-11-02 5 views
0

Ich habe festgestellt, dass das Symbol . nicht die gleiche hexadezimale Zahl darstellt, als ich versuchte, meine YARA-Regeln zu optimieren, die ich unter VirusTotal ausführe. Als ich versuchte, die falsch positiv generierende Textzeichenfolge .sample. auszuschließen, würde sie nicht ausgeschlossen werden, da in diesem Fall . aus der Textdarstellung 2E konvertiert wurde, während in der Zeichenfolge, die tatsächlich in den falschen Positiven enthalten war, . dargestellt 00.Warum scheint es, dass mehrere verschiedene hexadezimale Zahlen als Punkt (".") Dargestellt werden?

Ich gehe davon aus, dass Text, wenn die Dateien übereinstimmen, Text in Hex konvertiert wird, die Hex-Zeichenfolge wird dann in einem Hexdump einer Datei und der gesamte Hexdump wird in Text in der VT-Vorschau konvertiert.

Dann bemerkte ich, dass es tatsächlich mehr hexadezimale Zahlen gab, die als . in VirusTotal Textvorschau dargestellt wurden. Zum Beispiel 0A, 99, 09 (Screenshot).

enter image description here

Ich habe versucht, die Textdarstellung dieser Hex-Zahlen sehen einen Online-Konverter (http://www.unit-conversion.info/texttools/hexadecimal/) und einige von ihnen wurden als oder ein leeres Symbol dargestellt (kein space Symbol, da die Zahl 20, aber nur ein Leerzeichen).

Also meine Fragen sind - warum unterschiedliche Zahlen scheinen das gleiche Symbol zu repräsentieren? Was bedeuten die "Leerzeichen" im Hexdump einer Datei?

Antwort

0

Die Zeichen 0A sind Zeilenvorschubzeichen, wie aus der Tabelle in this doc ersichtlich ist, während die Zeichen 2E tatsächliche Zeiträume sind.

Per this answer zum gleichen Thema:

Dies sind die Leerzeichen, und wenn wahrsten Sinne des Wortes mess up Tabelle, die die ASCII würde enthalten. Deshalb werden sie (sowie die nicht druckbaren Steuerzeichen unter 32 und alle Binärwerte über 127, die nicht durch ASCII definiert sind und einen anderen Zeichensatz benötigen, um richtig interpretiert zu werden) durch dargestellt.

Im Wesentlichen das "." Charakter ist ein Catch-All für Dinge, die in der Tabelle nicht richtig dargestellt werden können.

Der Online-Konverter scheint Zeichen bis 7F zu generieren, danach ist die 128-Bit-Implementierung von ASCII nicht mehr definiert und der Übersetzer stellt ein -Symbol bereit. Sogar von 00 bis 7F finden wir, dass der Übersetzer Probleme mit einigen Hex-Werten einschließlich des Zeilenvorschubzeichens 0A hat.

Die ASCII-Tabelle verknüpfen frühe Hinweise auf ein paar Zeichen, die die Übersetzer Schwierigkeiten haben könnten, mit, wie das DEL-Zeichen (7F), die Glocke (07) und ENQ (05).

Ich würde erwarten, dass Leerzeichen Leerzeichen sind, dies sollte in der ASCII-Tabelle überprüft werden können.

Verwandte Themen