Bisakah Anda merekomendasikan hex editor yang dapat dijalankan dari shell? Saya harus dapat mengedit tidak hanya melihat konten.
Bisakah Anda merekomendasikan hex editor yang dapat dijalankan dari shell? Saya harus dapat mengedit tidak hanya melihat konten.
Jawaban:
emacs
memiliki mode hexl untuk mengedit hex.
dd
wilayah yang ingin Anda edit menjadi file dan buka di emacs, lalu dd
kembali.
xxd
Alat ini adalah yang paling umum tersedia yang saya temukan untuk jenis tugas ini (tersedia secara default pada Ubuntu terbaru dan macOS). Anda dapat menghapus bagian yang dapat dibaca ascii di sebelah kanan jika perlu menggunakan -p
dan Anda dapat mengembalikan (mengubah input ascii ke data biner) menggunakan -r
fungsi. Berikut adalah beberapa contoh penggunaan sederhana:
Konversi ke hex dengan tampilan ascii:
echo example | xxd
Konversi ke hexdump (tidak ada tampilan ascii di sebelah kanan):
echo example | xxd -p
Mengonversi dari hexdump kembali ke data biner:
echo 746573740a | xxd -p -r
Anda bisa menjadi jauh lebih kompleks dengan skrip shell ini. Saya sebenarnya telah menggunakan ini dan "dd" untuk memindai urutan tertentu dan memodifikasinya dengan cara yang telah ditentukan semua dari skrip shell menggunakan apa pun kecuali bash dd
,, dan xxd
. Anda sebenarnya tidak memerlukan dd untuk ini karena Anda dapat "mencari" ke lokasi tertentu dan menulis ke lokasi itu urutan byte yang Anda butuhkan. Keuntungan terbesar dari pendekatan ini adalah mudahnya skrip.
Ada juga DHEX
apt-cache show dhex
editor hex berbasis ncurses dengan mode diff
Ini lebih dari sekadar hex editor lain: Ini termasuk mode diff, yang dapat digunakan untuk membandingkan dua file biner dengan mudah dan nyaman. Karena didasarkan pada ncurses dan dapat disesuaikan, ia dapat berjalan pada sejumlah sistem dan skenario. Dengan pemanfaatan log pencarian, dimungkinkan untuk melacak perubahan di berbagai iterasi file dengan mudah.
Jika Anda tidak terbiasa dengan vim atau emacs, ini sepertinya tidak memiliki banyak kurva pembelajaran.
Anda mungkin bisa menggunakan vi / vim sebagai hex editor (bisa memanggil xxd).
Masuk ke mode hex:
:%!xxd
Keluar dari mode hex:
:%!xxd -r
:%!xxd
menambahkan karakter baru (yaitu baris baru) ke file.
xxd
siapa yang melakukan ini: melainkan Vim sendiri.
:set binary
! Kalau tidak, VIM kemungkinan akan merusak file dengan menambahkan line-end (CR / LF / CRLF) di akhir file (tergantung pada apa Anda mengatur format ke ( set ff=[mac/unix/dos]
)). Ini sangat mungkin untuk menghancurkan file biner yang dapat dieksekusi dan data. Dan itu benar. Banyak. Memastikan VIM dalam mode biner akan mencegah hal itu terjadi.
Saya tahu ini adalah pertanyaan lama, tetapi saya tidak puas dengan semua jawaban di sini. Saya sedang mencari hex editor yang memungkinkan saya untuk membuat file biner saya sendiri (alias mode insert) dan dapat menangani file yang sangat besar.
Saya menemukan tweak , yang memenuhi kedua persyaratan ini, serta OP.
- Tweak mendukung mode penyisipan (tidak terlalu berguna jika Anda mengedit file yang dapat dieksekusi atau gambar sistem file, tetapi dapat sangat berguna dalam format file lain seperti PNG).
- Memotong, menyalin, dan menempel dalam file yang sedang Anda edit sangat efisien. Tidak peduli seberapa besar potongan data yang Anda pindahkan - bahkan jika itu adalah bagian 200 MB dari gambar CD - Tweak akan selalu melakukan operasi secara efektif secara instan.
- Tweak mendukung pemuatan file input yang malas: alih-alih langsung menghisap semuanya ke dalam memori, ia hanya mengingat bagian mana dari buffer pengeditan yang merupakan salinan dari bagian mana dari file input dan merujuk ke file pada disk saat dibutuhkan. Tweak hanya perlu mengambil waktu yang signifikan ketika Anda benar-benar membutuhkannya untuk membaca seluruh file. Hanya dua operasi dengan properti ini yang mencari, dan menyimpan versi file yang dimodifikasi ke disk. Yang lainnya instan.
tweak
, tetapi bagi saya itu canggung. Saya dapat mencobanya lagi jika saya benar-benar perlu diedit. Jalankan man tweak
dari terminal untuk tinjauan umum dan daftar perintah.
Bless Hex Editor adalah editor biner (hex) dan saat ini menyediakan fitur-fitur berikut:
Anda dapat melakukan unload dari sini: http://packages.debian.org/sid/all/bless/download .
Untuk menginstalnya, lihat Bagaimana cara saya menginstal file deb melalui baris perintah?
Perlu lebih banyak?
bless
perintah setelah diinstal.
Ini sudah mati mudah digunakan:
sudo apt-get install hexcurse