Pouvez-vous recommander un éditeur hexadécimal pouvant être exécuté depuis un shell? Je dois pouvoir éditer non seulement voir le contenu.
Pouvez-vous recommander un éditeur hexadécimal pouvant être exécuté depuis un shell? Je dois pouvoir éditer non seulement voir le contenu.
Réponses:
emacs
a un mode hexl pour l'édition hexadécimale.
dd
la région que vous souhaitez éditer dans un fichier et ouvrez-la dans emacs, puis dd
retournez.
xxd
Cet outil est le plus couramment disponible que j'ai trouvé pour ce type de tâche (disponible par défaut sur les dernières Ubuntu et macOS). Vous pouvez supprimer la partie lisible en ASCII sur la droite si nécessaire en utilisant -p
et vous pouvez rétablir (changer l'entrée ASCII en données binaires) en utilisant la -r
fonction. Voici quelques exemples d'utilisations simples:
Conversion en hex avec vue ascii:
echo example | xxd
Conversion en hexdump (pas de vue ascii à droite):
echo example | xxd -p
Reconvertir d'un fichier hexadécimal en données binaires:
echo 746573740a | xxd -p -r
Cela peut devenir beaucoup plus complexe avec cela dans les scripts shell. En fait, j’ai utilisé cela et "dd" pour rechercher des séquences spécifiques et les modifier de manière prédéfinie, le tout à partir d’un script shell n’utilisant que bash dd
, et xxd
. Vous n'avez en fait pas besoin de dd pour cela, car vous pouvez "rechercher" un emplacement spécifique et écrire à cet emplacement la séquence d'octets dont vous avez besoin. Le principal avantage de cette approche est sa facilité de script.
Il y a aussi DHEX
apt-cache show dhex
éditeur hex basé sur ncurses avec mode diff
C’est plus qu’un autre éditeur hexadécimal: il comprend un mode diff, qui permet de comparer facilement et commodément deux fichiers binaires. Comme il est basé sur ncurses et qu'il est possible de les utiliser, il peut être exécuté sur un nombre quelconque de systèmes et de scénarios. Grâce à son utilisation des journaux de recherche, il est possible de suivre facilement les modifications apportées à différentes itérations de fichiers.
Si vous n'êtes pas familier avec vim ou emacs, celui-ci ne semble pas avoir beaucoup de courbe d'apprentissage.
Vous pourrez peut-être aussi utiliser vi / vim comme éditeur hexadécimal (il peut appeler xxd).
Entrer en mode hexadécimal:
:%!xxd
Quitter le mode hexadécimal:
:%!xxd -r
:%!xxd
ajout de nouveaux caractères (c.-à-d. Nouvelle ligne) au fichier.
xxd
qui fait cela: c'est plutôt Vim lui-même.
:set binary
! Sinon, VIM est susceptible de corrompre le fichier en ajoutant une fin de ligne (CR / LF / CRLF) à la fin du fichier (en fonction du format défini pour ( set ff=[mac/unix/dos]
)). Cela risquerait fort de casser les exécutables et les fichiers binaires de données. Et ça le fait. Beaucoup. S'assurer que VIM est en mode binaire empêchera que cela se produise.
Je sais que c’est une vieille question, mais j’étais insatisfait de toutes les réponses fournies. Je cherchais un éditeur hexadécimal qui me permettait de créer mes propres fichiers binaires (mode insertion) et pouvant gérer des fichiers très volumineux.
Je suis tombé sur tweak , qui répond à ces deux exigences, ainsi que les PO.
- Tweak prend en charge le mode insertion (ce qui n'est pas particulièrement utile si vous modifiez un fichier exécutable ou une image de système de fichiers, mais il peut s'avérer extrêmement pratique dans d'autres formats de fichier tels que PNG).
- Couper, copier et coller dans le fichier que vous éditez est extrêmement efficace. Quelle que soit la taille de la masse de données que vous déplacez, même s'il s'agit d'une section de 200 Mo d'une image de CD, Tweak effectuera toujours l'opération de manière efficace et instantanée.
- Tweak prend en charge le chargement paresseux du fichier d'entrée: au lieu de tout enregistrer immédiatement en mémoire, il se souvient simplement des parties du tampon d'édition qui sont des copies des parties du fichier d'entrée et qui font référence au fichier sur le disque quand il le faut. Tweak doit seulement prendre beaucoup de temps lorsque vous en avez réellement besoin pour lire le fichier en entier. Les deux seules opérations avec cette propriété sont la recherche et l'enregistrement de la version modifiée du fichier sur le disque. Tout le reste est instantané.
tweak
, mais pour moi c'était gênant. Je peux réessayer si j’ai vraiment besoin de retouche. Exécuter à man tweak
partir du terminal pour une vue d'ensemble et une liste de commandes.
Bless Hex Editor est un éditeur binaire (hex) qui fournit actuellement les fonctionnalités suivantes:
Vous pouvez le télécharger à partir d’ici: http://packages.debian.org/sid/all/bless/download .
Pour l'installer, voir Comment installer un fichier .deb via la ligne de commande?
Besoin de plus?
bless
commande after est installée.
Celui-ci est simple à utiliser:
sudo apt-get install hexcurse