Czy możesz polecić edytor szesnastkowy, który można uruchomić z powłoki? Muszę móc edytować nie tylko przeglądać zawartość.
Czy możesz polecić edytor szesnastkowy, który można uruchomić z powłoki? Muszę móc edytować nie tylko przeglądać zawartość.
Odpowiedzi:
emacs ma tryb hexl do edycji szesnastkowej.
ddregion, który chcesz edytować w pliku i otwórz go w emacsie, a następnie z ddpowrotem.
xxd
To narzędzie jest najczęściej dostępne, jakie znalazłem dla tego typu zadań (domyślnie dostępne zarówno w najnowszym Ubuntu, jak i macOS). W razie potrzeby możesz usunąć część czytelną ascii po prawej stronie -pi możesz przywrócić (zmienić dane ascii na dane binarne) za pomocą tej -rfunkcji. Oto kilka prostych przykładowych zastosowań:
Konwersja na hex w widoku ascii:
echo example | xxd
Konwertowanie na zrzut heksowy (brak widoku ascii po prawej):
echo example | xxd -p
Konwertowanie z zrzutu heksadecymalnego z powrotem na dane binarne:
echo 746573740a | xxd -p -r
Możesz stać się o wiele bardziej skomplikowany w skryptach powłoki. Użyłem tego i „dd” do skanowania w poszukiwaniu określonych sekwencji i modyfikowania ich w predefiniowany sposób, wszystko ze skryptu powłoki, używając tylko bash dd, i xxd. Tak naprawdę nie potrzebujesz do tego dd, ponieważ możesz „szukać” do określonej lokalizacji i zapisać w tej lokalizacji potrzebną sekwencję bajtów. Największą zaletą tego podejścia jest łatwość pisania skryptów.
Istnieje również DHEX
apt-cache show dhex
Edytor hex oparty na ncurses z trybem różnicowym
To więcej niż kolejny edytor szesnastkowy: zawiera tryb różnicowy, którego można użyć do łatwego i wygodnego porównania dwóch plików binarnych. Ponieważ jest oparty na ncurses i jest tematyczny, może działać na dowolnej liczbie systemów i scenariuszy. Dzięki wykorzystaniu dzienników wyszukiwania możliwe jest łatwe śledzenie zmian w różnych iteracjach plików.
Jeśli nie znasz Vima ani Emacsa, ten nie wydaje się mieć dużej krzywej uczenia się.
Możesz także używać vi / vim jako edytora szesnastkowego (może wywoływać xxd).
Wejdź w tryb szesnastkowy:
:%!xxd
Wyjdź z trybu hex:
:%!xxd -r
:%!xxddodawanie nowych znaków (tj. Nowej linii) do pliku.
xxdkto to robi: raczej sam Vim.
:set binary! W przeciwnym razie VIM może uszkodzić plik, dodając koniec linii (CR / LF / CRLF) na końcu pliku (w zależności od tego, jaki format ma ustawiony na ( set ff=[mac/unix/dos])). Jest bardzo prawdopodobne, że spowoduje to uszkodzenie plików wykonywalnych i plików binarnych danych. I tak jest. Dużo. Upewnij się, że VIM jest w trybie binarnym, aby temu zapobiec.
Wiem, że to stare pytanie, ale nie byłem zadowolony z wszystkich odpowiedzi tutaj. Szukałem edytora szesnastkowego, który pozwoliłby mi tworzyć własne pliki binarne (inaczej tryb wstawiania) i mógł obsługiwać bardzo duże pliki.
Natknąłem się na poprawki , które spełniają oba te wymagania, a także PO.
- Tweak obsługuje tryb wstawiania (nie jest to szczególnie przydatne, jeśli edytujesz plik wykonywalny lub obraz systemu plików, ale może być bardzo przydatne w innych formatach plików, takich jak PNG).
- Wycinanie, kopiowanie i wklejanie w edytowanym pliku jest niezwykle wydajne. Bez względu na to, jak duża część danych się porusza - nawet jeśli jest to fragment obrazu CD o wielkości 200 Mb - Tweak zawsze wykona operację skutecznie natychmiast.
- Tweak obsługuje leniwe ładowanie pliku wejściowego: zamiast od razu wsysać wszystko do pamięci, po prostu zapamiętuje, które części bufora edycji są kopiami, które części pliku wejściowego i odwołuje się do pliku na dysku, kiedy jest to konieczne. Ulepszenie zajmuje dużo czasu tylko wtedy, gdy naprawdę potrzebujesz go do odczytania całego pliku. Jedyne dwie operacje z tą właściwością to wyszukiwanie i zapisywanie zmodyfikowanej wersji pliku na dysku. Wszystko inne jest natychmiastowe.
tweak, ale dla mnie było to niezręczne. Mogę spróbować ponownie, jeśli naprawdę potrzebuję edycji. Uruchom man tweakz terminala, aby wyświetlić przegląd i listę poleceń.
Bless Hex Editor to edytor binarny (hex) i obecnie oferuje następujące funkcje:
Możesz to zrobić stąd: http://packages.debian.org/sid/all/bless/download .
Aby go zainstalować, zobacz Jak zainstalować plik .deb za pomocą wiersza polecenia?
Potrzeba więcej?
blesspolecenia po zainstalowaniu.
Ten jest bardzo prosty w użyciu:
sudo apt-get install hexcurse