Die von Microsoft bereitgestellten Malware-Beispiele in der Kaggle-Abfrage (https://www.kaggle.com/c/malware-classification/data) enthalten hexadezimale Darstellung des Codesegments. Ein Beispiel:Hexadezimaldarstellung des Codesegments zurück in Binär konvertieren
00401000 00 00 80 40 40 28 00 1C 02 42 00 C4 00 20 04 20
00401010 00 00 20 09 2A 02 00 00 00 00 8E 10 41 0A 21 01
00401020 40 00 02 01 00 90 21 00 32 40 00 1C 01 40 C8 18
00401030 40 82 02 63 20 00 00 09 10 01 02 21 00 82 00 04
00401040 82 20 08 83 00 08 00 00 00 00 02 00 60 80 10 80
00401050 18 00 00 20 A9 00 00 00 00 04 04 78 01 02 70 90
00401060 00 02 00 08 20 12 00 00 00 40 10 00 80 00 40 19
00401070 00 00 00 00 11 20 80 04 80 10 00 20 00 00 25 00
00401080 00 00 01 00 00 04 00 10 02 C1 80 80 00 20 20 00
00401090 08 A0 01 01 44 28 00 00 08 10 20 00 02 08 00 00
...
Ich möchte, dass sie konvertieren zurück in das Binärformat, um sie zu Bild weiter zu konvertieren (und auch Platz sparen).
Ich versuchte xxd -r -p
, aber die Ausgabe ist falsch. xxd
irgendwie codieren die Adresse 00401000
auch, während ich die Adresse loswerden möchte.
Gibt es einen schnellen Weg, dies zu tun?
sollte die Größe 8 * L sein die Binärdatei (L Anzahl der Zeilen in der Hex-Datei)? Ich habe versucht, die Konvertierung zu tun, aber die endgültige binäre Größe ist immer 2-3 mal größer als 8 * L – user1734905
Größe sollte 16 * L sein ... jede Zeile hat 16 Bytes. –
Die Größe des Binärcodes sollte etwas weniger als 1/3 der Größe der Hexadezimaldatei betragen. 57 Byte der Hex-Datei (8 + 16 * 3 + CR) stellen 16 Byte binär dar, also sollte der Faktor hexfile/binfile etwa 350% betragen. Zeilen nicht mit Dateigröße mischen – Tommylee2k