docjunior.de
News
20.03.2013
Habe einen UART auf dem Tiny25 gebraucht. Gab keinen. Hab mir selber einen gebaut.

14.09.2011
Ich habe mich entschieden euch ein Geheimnis zu verraten: Ich hab ein Buch geschrieben: Mikrocontroller in Kürze

Menu
zurück
Gästebuch
eM@il
Sitemap
Logindaten
Benutzername

Passwort


Sie sind der
60735. Besucher
home/ toolsNtoys/ vim als Hexeditor/
 
Index    Wie jetzt?
   So gehts
   Darstellung des Hexcodes

Wie jetzt? Ja genau, vim als Hexeditor.
Neulich brauchte ich mal nen Hexeditor um ein paar Dateien zu überprüfen. Natürlich hatte ich gerade keinen installiert und war auch noch unterwegs, fernab von jeglichem Breitband-Internetanschluss um irgendwas runter zu laden..
AAaaaaber es gibt ja noch den vim.
Ich gebe zu, dieser Weg Hex-Dateien zu bearbeiten ist nicht gerade der komfortabelste, aaaber dafür schön nerdig..


So gehts Wir starten unseren vim mit dem Parameter -b welcher den Binärmodus des vi aktiviert. Das Ergebnis ist nicht gleich sichtbar, aaber vergleicht man die gespeicherten Ergebnisse mit und ohne -b sieht man, dass sie unterschiedlich sind..

vim -b [filename]

jetzt sehen wir im vim ein schönes buntes kuddel-muddel.. Um da jetzt Ordnung hinein zu bringen rufen wir aus vim heraus das Programm xxd auf, das im vim-Paket enthalten ist.
xxd konvertiert einen Datenstrom in einen Hexdump und bei Bedarf auch wieder zurück. Dieser Datenstrom ist in unserem Fall der gesamte Datenpuffer vom vim (%):

:%!xxd

Jetzt hat man einen schönen Hexdump (siehe unten) und kann die Hex-Zahlen ganz normal editieren. Hat man fertig, muss man den Datenpuffer wieder zurück konvertieren, auch dies übernimmt xxd

:%!xxd -r

nun speichert man mit :w seine Datei wie gewohnt ab und hat hexen editiert ;)


Darstellung des Hexcodes   1 0000000: 7f45 4c46 0101 0100 0000 0000 0000 0000  .ELF............
  2 0000010: 0100 5300 0100 0000 0000 0000 0000 0000  ..S.............
  3 0000020: 3802 0000 8400 0000 3400 0000 0000 2800  8.......4.....(.
  4 0000030: 0800 0500 efe6 f0e0 8081 8270 8083 0895  ...........p....
  5 0000040: 982f 8091 0000 9817 00f4 892f 90e0 23e0  ./........./..#.
  6 0000050: 880f 991f 2a95 01f4 e091 0000 f091 0000  ....*...........
  7 0000060: e80f f91f 8781 689f c001 1124 64eb 70e0  ......h....$d.p.
  8 0000070: 00d0 8681 860f 8583 0895 0f93 1f93 cf93  ................
  9 0000080: df93 062f 8093 0000 9093 0000 6093 0000  .../........`...
 10 0000090: ec01 10e0 00c0 ea81 fb81 8081 9c81 892b  ...............+
 11 00000a0: 8083 812f 6ae5 00d0 1f5f 2896 1017 00f0  .../j...._(.....
 12 00000b0: 1092 0000 1092 0000 1092 0000 1092 0000  ................
 13 00000c0: 1092 0000 8091 6f00 8260 8093 6f00 8091  ......o..`..o...
 14 00000d0: 8100 8a60 8093 8100 8fef 9fef 9093 8900  ...`............
 15 00000e0: 8093 8800 df91 cf91 1f91 0f91 0895 1f92  ................
 16 00000f0: 0f92 0fb6 0f92 1124 2f93 3f93 4f93 5f93  .......$/.?.O._.
 17 0000100: 6f93 7f93 8f93 9f93 af93 bf93 ef93 ff93  o...............
 18 0000110: 8091 0000 8823 01f0 8f3f 01f4 00c0 3091  .....#...?....0.
 19 0000120: 0000 a091 0000 b091 0000 20e0 00c0 8fef  .......... .....
 20 0000130: 9fef 9093 8900 8093 8800 1092 0000 00c0  ................
 21 0000140: ed91 fc91 1197 8081 1496 9c91 1497 892b  ...............+
 22 0000150: 8083 2f5f 1896 2317 00f0 3091 0000 8fef  ../_..#...0.....
 23 0000160: 8093 0000 4091 0000 a091 0000 b091 0000  ....@...........
 24 0000170: 20e0 00c0 1596 9c91 1597 9317 01f4 ed91   ...............
 25 0000180: fc91 1197 1496 9c91 1497 9095 8081 8923  ...............#
 26 0000190: 8083 00c0 3917 00f4 8091 0000 9817 00f4  ....9...........
 27 00001a0: 9093 0000 2f5f 1896 2417 00f0 8091 0000  ..../_..$.......
 28 00001b0: 8f3f 01f0 6091 0000 81e0 90e0 70e0 00d0  .?..`.......p...
 29 00001c0: 631b 7109 8827 77fd 8095 982f 20ea 35e2  c.q..'w..../ .5.
 30 00001d0: 46e2 50e0 00d0 6150 7040 7093 8900 6093  F.P...aPp@p...`.
 31 00001e0: 8800 ff91 ef91 bf91 af91 9f91 8f91 7f91  ................
 32 00001f0: 6f91 5f91 4f91 3f91 2f91 0f90 0fbe 0f90  o._.O.?./.......
 33 0000200: 1f90 1895 002e 7379 6d74 6162 002e 7374  ......symtab..st
 34 0000210: 7274 6162 002e 7368 7374 7274 6162 002e  rtab..shstrtab..
 35 0000220: 7265 6c61 2e74 6578 7400 2e64 6174 6100  rela.text..data.
 36 0000230: 2e62 7373 0000 0000 0000 0000 0000 0000  .bss............
 37 0000240: 0000 0000 0000 0000 0000 0000 0000 0000  ................
 38 0000250: 0000 0000 0000 0000 0000 0000 0000 0000  ................
 39 0000260: 2000 0000 0100 0000 0600 0000 0000 0000   ...............
:%!xxd                                                                                                                                             1,1        Anfang


cmsJr by Jens Rapp, 2006 - 2008