Kabuktan çalıştırılabilen bir hex editörü önerebilir misiniz? Sadece içeriği görüntülemek için değil düzenleme yapabilmem gerekiyor.
Kabuktan çalıştırılabilen bir hex editörü önerebilir misiniz? Sadece içeriği görüntülemek için değil düzenleme yapabilmem gerekiyor.
Yanıtlar:
emacs
Onaltılık düzenleme için bir hexl modu vardır.
dd
bir dosyayı düzenlemek istediğiniz bölgeyi düzenleyin ve dd
onu emacs içinde açın, sonra tekrar açın.
xxd
Bu araç, bu görev türü için bulduğum en yaygın kullanılan araçtır (en son Ubuntu ve macOS'ta varsayılan olarak bulunur). Gerekirse sağdaki ascii okunabilir kısmını kaldırabilir -p
ve -r
işlevi kullanarak geri alabilir (ascii girişini ikili veri olarak değiştirebilirsiniz) . İşte bazı basit örnek kullanımlar:
Ascii görünümle hex'e dönüştürme:
echo example | xxd
Bir hexdump'a dönüştürme (sağda ascii görünüm yok):
echo example | xxd -p
Bir hexdump'tan ikili verilere dönüştürme:
echo 746573740a | xxd -p -r
Bununla kabuk betiklerinde çok daha karmaşık hale gelebilirsiniz. Aslında bunu ve "dd" yi belirli dizileri taramak için kullandım ve bunları bash dışında hiçbir şey kullanarak bir kabuk betiğinden önceden tanımlanmış bir şekilde değiştirdim dd
, ve xxd
. Aslında bunun için dd'ye ihtiyacınız yoktur, çünkü belirli bir yere "arama" yapabilir ve ihtiyaç duyduğunuz bayt sırasını yazabilirsiniz. Bu yaklaşımın en büyük avantajı kolayca yazılabilir olmasıdır.
Ayrıca DHEX var
apt-cache show dhex
diff modu ile ncurses tabanlı hex editörü
Bu, başka bir hex editöründen daha fazlasıdır: İki ikili dosyayı kolayca ve rahatça karşılaştırmak için kullanılabilen bir diff modu içerir. Hemşirelere dayalı ve tematik olduğu için, herhangi bir sayıda sistem ve senaryo üzerinde çalışabilir. Arama günlüklerinin kullanımıyla, farklı dosya yinelemelerindeki değişiklikleri kolayca izlemek mümkündür.
Vim veya emacs ile aşina değilseniz, bu bir öğrenme eğrisi çok görünmüyor.
Vi / vim'i onaltılık editör olarak da kullanabilirsiniz (xxd'yi çağırabilir).
Onaltılı moda girin:
:%!xxd
Onaltılı moddan çık:
:%!xxd -r
:%!xxd
Dosyaya yeni karakterler (yani yeni satır) eklerken buldum .
xxd
yapan kişi değil : Vim'in kendisi.
:set binary
! Aksi takdirde, VIM'in dosyanın sonuna bir satır sonu (CR / LF / CRLF) ekleyerek (bozuk (the formatı neye ayarlanmış olduğuna set ff=[mac/unix/dos]
) bağlı olarak) bozması muhtemeldir . Bunun çalıştırılabilir dosyaları ve veri ikili dosyalarını kırma olasılığı yüksektir. Ve öyle. Çok. VIM'in ikili modda olduğundan emin olmak bunun gerçekleşmesini önleyecektir.
Bunun eski bir soru olduğunu biliyorum ama buradaki cevapların hepsinden memnun değildim. Kendi ikili dosyalarımı yaratmamı sağlayan (aka insert modu) ve çok büyük dosyaları idare edebilecek bir hex editörü arıyordum.
Hem bu gereklilikleri hem de OP'leri yerine getiren çimdik ile karşılaştım .
- Tweak, ekleme modunu destekler (çalıştırılabilir bir dosyayı veya dosya sistemi görüntüsünü düzenliyorsanız özellikle kullanışlı değildir, ancak PNG gibi diğer dosya biçimlerinde çok kullanışlı olabilir).
- Düzenlemekte olduğunuz dosya içinde kesmek, kopyalamak ve yapıştırmak son derece etkilidir. Ne kadar büyük veri yığını dolaşıyor olursanız olun - bir CD görüntüsünün 200Mb'lik bir bölümü olsa bile - Tweak, işlemi her zaman etkili bir şekilde gerçekleştirir.
- Tweak, giriş dosyasının tembel yüklenmesini destekler: tümünü hemen belleğe almak yerine, düzenleme tamponunun hangi bölümlerinin giriş dosyasının hangi bölümlerinin kopyaları olduğunu ve gerektiğinde diskteki dosyayı ifade ettiğini hatırlar. Tweak yalnızca, dosyanın tamamını okumak için gerçekten ihtiyaç duyduğunuzda önemli bir zaman alır. Bu özelliğe sahip olan sadece iki işlem arama yapıyor ve dosyanın değiştirilmiş sürümünü diske kaydediyor. Her şey anında.
tweak
, beğenebilirsiniz , ama benim için garipti. Gerçekten düzenlemeye ihtiyacım olursa tekrar deneyebilirim. man tweak
Bir genel bakış ve komut listesi için terminalden çalıştırın .
Bless Hex Editor bir ikili (onaltılık) editörüdür ve şu anda aşağıdaki özellikleri sunar:
Buradan yükleyebilirsiniz: http://packages.debian.org/sid/all/bless/download .
Yüklemek için, bkz. .Deb dosyasını komut satırı aracılığıyla nasıl yüklerim?
Daha fazlasına ihtiyaç var?
bless
Bu bir kullanımı basit ölü:
sudo apt-get install hexcurse