Χρησιμοποιώντας έναν επεξεργαστή Hex στο Linux
Ίσως γνωρίζετε την έννοια ενός επεξεργαστή κειμένου - το Linux έχει πολλά από αυτά, τόσο για το τερματικό όσο και για την επιφάνεια εργασίας. Οι επιλογές γραμμής εντολών περιλαμβάνουν vi και nano και ενώ στην επιφάνεια εργασίας υπάρχουν εφαρμογές όπως το gedit και η Kate. Αλλά τι γίνεται αν πρέπει να επεξεργαστείτε ένα δυαδικό αρχείο; Τι μπορείτε να χρησιμοποιήσετε; Υπάρχει μια κλάση επεξεργασίας γνωστή ως "επεξεργαστής Hex" που σας επιτρέπει να επεξεργαστείτε οποιοδήποτε τύπο αρχείου, ειδικά δυαδικά αρχεία.
Οι Hex συντάκτες παίρνουν το όνομά τους επειδή τα περιεχόμενα του αρχείου εμφανίζονται κυρίως ως εξαψήφιοι (hex) αριθμοί. Συνήθως υπολογίζουμε στη βάση 10, που σημαίνει ότι κάθε ψηφίο (ή στήλη) αντιπροσωπεύει συντελεστή 10. Έτσι 123 είναι 3 μονάδες, 2 παρτίδες 10 (δηλ. 20) και 1 παρτίδα 100 (δηλ. 100). Αυτό είναι μεγάλο και τέλειο για το πώς μαθαίνουμε τα μαθηματικά ως παιδιά αφού έχουμε δέκα δάχτυλα! Ένα byte μνήμης υπολογιστή ή αποθήκευσης δίσκου μπορεί να αντιπροσωπεύει έναν αριθμό μέχρι την τιμή 255. Το πρόβλημα με τη βάση 10 είναι ότι χρειάζεστε 3 ψηφία για να εμφανίσετε το 255. Ωστόσο, δεν χρειάζεται πραγματικά να αναπαριστάτε την τιμή στη βάση 10 .Θα μπορούσατε να τις αντιπροσωπεύσετε σε δυαδική βάση (δηλ. Βάση 2) ή σε δεκαεξαδική (δηλαδή βάση 16). Στο Hex, κάθε ψηφίο ή στήλη αντιπροσωπεύει συντελεστή 16 και όχι 10. Για να γίνει διάκριση μεταξύ δεκαεξαδικών και δεκαδικών αριθμών, τα hexadecimals κανονικά έχουν πρόθεμα με "0x". Έτσι το 0x91 δεν είναι ενενήντα ένα, αλλά 145. Πρόκειται για 9 παρτίδες από 16 έως 1. Σε δεκαεξαδικό, οι αριθμοί πάνε έτσι: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Α, Β, 12 και ούτω καθεξής. Το πλεονέκτημα αυτού του συστήματος είναι ότι η τιμή 255 (η μέγιστη τιμή ενός byte) μπορεί να γραφεί ως 0xFF (15 παρτίδες των 16 συν 15).
Ένας εξάγωνο επεξεργαστής χρησιμοποιεί αυτά τα δύο ψηφία παραστάσεις για να παρέχει ένα απλό πλέγμα που μπορεί εύκολα να πλοηγηθεί, κάτι που θα ήταν δυσκολότερο με 3 ψηφία δεκαδικούς αριθμούς.
Υπάρχουν πολλά διαφορετικά hex editors διαθέσιμα για το Linux, και όπως οι συντάκτες κειμένου, μερικά έχουν σχεδιαστεί για να εργάζονται στο τερματικό και άλλα από την επιφάνεια εργασίας. Το Hexcurse είναι ένας απλός επεξεργαστής κειμένου γραμμής εντολών. Για να το εγκαταστήσετε στο Ubuntu, πληκτρολογήστε τα εξής σε ένα τερματικό:
sudo apt-get να εγκαταστήσετε έξοδο
Για να δοκιμάσετε τα εξάγωνα, πληκτρολογήστε τα εξής:
hexcurse / bin / ls
Αυτό θα ξεκινήσει το πρόγραμμα και θα φορτώσει το δυαδικό ψηφίο "ls" που βρίσκεται στο "/ bin".
Χρησιμοποιήστε τα πλήκτρα βέλους, επάνω και κάτω για να περιηγηθείτε στο πλέγμα των εξαγωνικών αριθμών. Εάν πληκτρολογήσετε έναν αριθμό, το byte στο σημείο αυτό θα αλλάξει στον αριθμό που καταχωρίσατε. Μην το επιχειρήσετε τώρα, διαφορετικά θα μπορούσατε να σπάσετε την εντολή "/ bin / ls". Εάν πατήσετε TAB, ο κέρσορας θα μεταβεί στην πλευρά ASCII (κείμενο) και μπορείτε να αλλάξετε τιμές εισάγοντας νέα γράμματα, αριθμούς και σύμβολα. Ακολουθεί μια λίστα με τα βασικά πλήκτρα για τη χρήση hexcurse:
- F2 ή CTRL + s - Αποθήκευση
- F3 ή CTRL + o - Άνοιγμα
- F4 ή CTRL + g - Goto
- F5 ή CTRL + f - Εύρεση
- F8 ή CTRL + q - Έξοδος
Ο καλύτερος τρόπος για να πειραματιστείτε με ασφάλεια χρησιμοποιώντας ένα hex editor είναι να επεξεργαστείτε ένα από τα δικά σας αρχεία (και όχι ένα αρχείο συστήματος). Χρησιμοποιήστε το nano για να δημιουργήσετε ένα απλό πρόγραμμα C:
nano hello.c
Κόψτε και επικολλήστε τον ακόλουθο κώδικα:
#include main () {printf ("Hello Make Tech Tech Easier! \ n"); }}
Σύνταξη του προγράμματος:
cc -o hello hello.c
Τώρα μπορείτε να καλέσετε με ασφάλεια την έξοδο στο προκύπτον δυαδικό "hello". Αν σπάσετε το δυαδικό, δεν θα πειράξει:
hexcurse γεια
Κάντε κύλιση προς τα κάτω μέχρι να δείτε τη συμβολοσειρά "Hello Make Tech Tech Easier!" Στο δεξί τμήμα. Πατήστε το πλήκτρο TAB για να μεταβείτε στην επεξεργασία ASCII και να μεταβείτε στη λέξη "Hello". Πληκτρολογήστε τη λέξη "HELLO". Παρατηρήστε ότι η συμβολοσειρά αλλάζει στο δεξιό τμήμα και οι hex αριθμοί αλλάζουν στην αριστερή πλευρά. Οι νέοι αριθμοί hex πρέπει να είναι "48 45 4C 4C 4F" οι οποίοι είναι οι τιμές ASCII για το "HELLO".
Τώρα αποθηκεύστε το αρχείο χρησιμοποιώντας το "Ctrl + s" και τερματίστε με το "Ctrl + q". Τώρα μπορείτε να εκτελέσετε το δυαδικό πρόγραμμα "hello" και θα δείτε ότι η έξοδος είναι "HELLO Make Tech Easier!" Και όχι "Hello Make Tech Tech Easier!" Αυτό οφείλεται στο γεγονός ότι επεξεργαστήκατε το δυαδικό αρχείο και άλλαξατε τη συμβολοσειρά.
Το ghex είναι ένας επεξεργαστής hex γραφικών. Για να το εγκαταστήσετε, χρησιμοποιήστε:
sudo apt-get να εγκαταστήσετε ghex
Μπορεί να ξεκινήσει από τον εκκινητή ή από τη γραμμή εντολών. Για να επεξεργαστείτε τον δυαδικό τύπο "hello":
ghex γεια
Το πρόγραμμα λειτουργεί με πολύ παρόμοιο τρόπο με το "hexcurse". Μπορείτε να περιηγηθείτε με τα πλήκτρα βέλους, να ανεβάσετε τη σελίδα επάνω και να κατεβάσετε τη σελίδα προς τα κάτω. Το TAB μεταβαίνει μεταξύ της επεξεργασίας του hex ή του κειμένου. "Ctrl + s" αποθηκεύει το αρχείο και ούτω καθεξής. Δεδομένου ότι είναι μια εφαρμογή για επιτραπέζιους υπολογιστές, υπάρχει μια γραμμή μενού που αναφέρει τις άλλες λειτουργίες.
Αυτά τα εργαλεία μπορούν να είναι πολύ ισχυρά, αλλά είναι επίσης εύκολο να καταστραφούν δυαδικά αρχεία, οπότε παρακαλούμε να τα χρησιμοποιείτε με προσοχή. Αν έχετε οποιεσδήποτε απορίες σχετικά με το "hexcurse" ή το "ghex", παρακαλώ αισθανθείτε ελεύθερος να τους ρωτήσετε στο τμήμα των σχολίων και θα δούμε αν μπορούμε να βοηθήσουμε.