Een Hex Editor gebruiken op Linux
U bent waarschijnlijk bekend met het begrip teksteditor - Linux heeft er veel van, zowel voor de terminal als voor de desktop. De keuzes in de commandoregel omvatten vi en nano en op het bureaublad zijn er applicaties zoals gedit en Kate. Maar wat als u een binair bestand moet bewerken? Wat kan je gebruiken? Er is een klasse editor bekend als een "Hex-editor" waarmee u elk type bestand, met name binaire bestanden, kunt bewerken.
Hex-editors krijgen hun naam omdat de inhoud van het bestand hoofdzakelijk wordt weergegeven als hexadecimale (hex) getallen. We tellen normaal gesproken in base 10, wat betekent dat elk cijfer (of kolom) een factor 10 vertegenwoordigt. Dus 123 is 3 eenheden, 2 lots van 10 (dwz 20) en 1 lot van 100 (dwz 100). Dat is geweldig en perfect voor hoe we wiskunde leren als kinderen, omdat we tien vingers hebben! Eén byte van het computergeheugen of van schijfopslag kan een getal vertegenwoordigen tot een waarde van 255. Het probleem met base 10 is dat je 3 cijfers nodig hebt om 255 weer te geven. Je hoeft echter niet de waarde in base 10 te vertegenwoordigen Je zou ze kunnen voorstellen in binair (ie basis 2) of in hexadecimaal (ie basis 16). In hex vertegenwoordigt elk cijfer of kolom een factor 16 en niet 10. Om onderscheid te maken tussen hexadecimale getallen en decimale getallen, worden hexadecimalen normaal voorafgegaan door '0x'. Dus 0x91 is niet eenennegentig, maar eerder 145. Het is 9 lots van 16 plus 1. In hex, de cijfers gaan als volgt: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12 enzovoort. Het voordeel van dit systeem is dat 255 (de maximale waarde van een byte) kan worden geschreven als 0xFF (15 partijen van 16 plus 15).
Een hex-editor gebruikt deze uit twee cijfers bestaande weergaven om een eenvoudig raster te bieden dat gemakkelijk kan worden genavigeerd, iets dat moeilijker zou zijn met 3-cijferige decimale getallen.
Er zijn verschillende hex-editors beschikbaar voor Linux, en net als teksteditors zijn sommige ontworpen om te werken in de terminal en andere vanaf de desktop. Hexcurse is een eenvoudige teksteditor voor de opdrachtregel. Om het op Ubuntu te installeren, typt u het volgende in een terminal:
sudo apt-get installeer hexcurse
Om hexcurses uit te proberen, typt u het volgende:
hexcurse / bin / ls
Dat start het programma en laadt het "ls" binaire bestand dat is te vinden in "/ bin".
Gebruik de pijltjestoetsen, pagina omhoog en pagina omlaag om door het raster met hexadecimale nummers te navigeren. Als u een nummer typt, wordt de byte op dat punt gewijzigd in het nummer dat u hebt ingevoerd. Probeer dit nu niet, anders kunt u de opdracht "/ bin / ls" verbreken. Als u op TAB drukt, springt de cursor naar de ASCII-zijde (tekst) en kunt u de waarden wijzigen door nieuwe letters, cijfers en symbolen in te voeren. Hier is een lijst met de essentiële sleutels voor het gebruik van hexcurse:
- F2 of CTRL + s - Opslaan
- F3 of CTRL + o - Openen
- F4 of CTRL + g - Ga naar
- F5 of CTRL + f - Zoeken
- F8 of CTRL + q - Afsluiten
De beste manier om veilig te experimenteren met een hex-editor is om een van je eigen bestanden (en niet een systeembestand) te bewerken. Gebruik nano om een eenvoudig C-programma te maken:
nano hello.c
Knip en plak in de volgende code:
# include main () {printf ("Hello Make Tech Makkelijker! \ n"); }
Compileer het programma:
cc -o hallo hello.c
Nu kun je hexcurse veilig aanroepen op het resulterende "hallo" binaire bestand. Als je het binaire bestand verbreekt, maakt het niet uit:
hexcurse hallo
Blader naar beneden tot je de string "Hallo maakt tech gemakkelijker" ziet in het rechterdeel. Druk op TAB om naar ASCII-bewerking te schakelen en naar het woord "Hallo" te gaan. Typ het woord "Hallo". Merk op dat de reeks verandert in het rechtergedeelte en dat de hexadecimalen aan de linkerkant veranderen. De nieuwe hex-nummers moeten "48 45 4C 4C 4F" zijn, wat de ASCII-waarden voor "HALLO" zijn.
Sla het bestand nu op met "Ctrl + s" en sluit af met "Ctrl + q". Je kunt nu het "hallo" -binaire bestand uitvoeren en je zult zien dat de uitvoer "HELLO maak technologie gemakkelijker!" Is en niet "Hallo maakt technologie gemakkelijker!" Dit komt omdat je het binaire bestand hebt bewerkt en de reeks hebt gewijzigd.
ghex is een hex-editor voor desktops. Om het te installeren, gebruik:
sudo apt-get install ghex
Het kan worden gestart vanaf het opstartprogramma of vanaf de opdrachtregel. Om het "hallo" binaire type te bewerken:
ghex hallo
Het programma werkt op een vergelijkbare manier als "hexcurse". U kunt navigeren met de pijltjestoetsen, pagina omhoog en pagina omlaag. TAB schakelt tussen het bewerken van de hexadecimale tekst of tekst. "Ctrl + s" slaat het bestand op, enzovoort. Omdat het een desktop-app is, is er een menubalk met de andere bewerkingen.
Deze tools kunnen erg krachtig zijn, maar het is ook gemakkelijk om binaire bestanden te corrumperen, dus gebruik ze alsjeblieft voorzichtig. Als je vragen hebt over "hexcurse" of "ghex", stel ze dan gerust in het gedeelte opmerkingen en we zullen zien of we kunnen helpen.