쉘에서 실행할 수있는 16 진 편집기를 추천 할 수 있습니까? 내용을 볼뿐만 아니라 편집 할 수 있어야합니다.
쉘에서 실행할 수있는 16 진 편집기를 추천 할 수 있습니까? 내용을 볼뿐만 아니라 편집 할 수 있어야합니다.
답변:
emacs
16 진 편집을위한 16 진 모드가 있습니다.
dd
를 편집하기 위해 파일로 편집 할 영역을 간단히 emacs에서 연 다음 dd
다시 엽니 다 .
xxd
이 도구는이 유형의 작업에서 가장 일반적으로 사용 가능한 도구입니다 (기본적으로 최신 Ubuntu 및 macOS에서 사용 가능). 필요한 경우 오른쪽에서 ASCII 판독 가능 부분을 제거 -p
하고 -r
함수를 사용하여 ASCII 입력을 이진 데이터로 되돌릴 수 있습니다 . 다음은 간단한 예제 사용법입니다.
ASCII보기로 16 진수로 변환 :
echo example | xxd
16 진수 덤프로 변환 (오른쪽에 ASCII보기 없음) :
echo example | xxd -p
16 진 덤프에서 이진 데이터로 다시 변환 :
echo 746573740a | xxd -p -r
쉘 스크립트에서 이것으로 훨씬 더 복잡해질 수 있습니다. 실제로이 시퀀스와 "dd"를 사용하여 특정 시퀀스를 스캔하고 bash dd
,, 및을 사용하여 쉘 스크립트에서 미리 정의 된 방식으로 수정했습니다 xxd
. 특정 위치로 "찾아서"필요한 바이트 순서로 해당 위치에 쓸 수 있으므로 실제로 dd가 필요하지 않습니다. 이 방법의 가장 큰 장점은 쉽게 스크립팅 할 수 있다는 것입니다.
apt-cache show dhex
diff 모드의 ncurses 기반 16 진 편집기
이것은 다른 16 진 편집기 이상입니다. diff 모드가 포함되어있어 두 개의 이진 파일을 쉽고 편리하게 비교하는 데 사용할 수 있습니다. ncurses를 기반으로하고 테마가 있기 때문에 여러 시스템 및 시나리오에서 실행할 수 있습니다. 검색 로그를 활용하면 서로 다른 파일 반복의 변경 사항을 쉽게 추적 할 수 있습니다.
vim이나 emacs에 익숙하지 않다면, 이것은 많은 학습 곡선을 가지고 있지 않은 것 같습니다.
vi / vim을 16 진 편집기로 사용할 수도 있습니다 (xxd를 호출 할 수 있음).
16 진수 모드를 입력하십시오.
:%!xxd
16 진 모드를 종료하십시오.
:%!xxd -r
소스 : vi를 16 진 편집기로 사용
:%!xxd
파일에 새 문자 (예 : 새 줄)를 추가하는 것을 발견했습니다 .
xxd
이 작업을 수행하는 사람이 아니라 Vim 자체입니다.
:set binary
! 그렇지 않으면 VIM은 파일 끝에 줄 끝 (CR / LF / CRLF)을 추가하여 파일을 손상시킬 수 있습니다 (포맷을 ( set ff=[mac/unix/dos]
) 으로 설정 한 내용에 따라 ). 실행 파일과 데이터 바이너리가 손상 될 가능성이 높습니다. 그리고 그렇습니다. 많이. VIM이 이진 모드인지 확인하면 해당 모드가 발생하지 않습니다.
나는 이것이 오래된 질문이라는 것을 알고 있지만 여기의 모든 대답에 불만족했습니다. 나는 자신의 바이너리 파일 (일명 삽입 모드)을 만들 수 있고 매우 큰 파일을 처리 할 수있는 16 진수 편집기를 찾고있었습니다.
나는 tweak을 보았습니다.이 두 가지 요구 사항과 OP를 모두 충족시킵니다.
- Tweak은 삽입 모드를 지원합니다 (실행 파일 또는 파일 시스템 이미지를 편집 할 때는 특히 유용하지 않지만 PNG와 같은 다른 파일 형식에서는 매우 유용 할 수 있습니다).
- 편집중인 파일 내에서 잘라 내기, 복사 및 붙여 넣기가 매우 효율적입니다. CD 이미지의 200Mb 섹션 인 경우에도 이동하는 데이터의 양이 아무리 커도 Tweak은 항상 즉시 작업을 효과적으로 수행합니다.
- Tweak은 입력 파일의 지연 로딩을 지원합니다. 입력 파일을 모두 메모리로 즉시 빨아들이는 대신 편집 버퍼의 어느 부분이 입력 파일의 어떤 부분의 복사본인지 기억하고 필요할 때 디스크의 파일을 참조합니다. Tweak은 전체 파일을 읽기 위해 정말로 필요할 때만 상당한 시간이 소요됩니다. 이 속성을 사용하는 두 가지 작업은 파일을 수정하고 디스크에 수정 한 버전을 저장하는 것입니다. 그 밖의 모든 것은 즉각적입니다.
tweak
있지만 나에게는 어색했다. 편집이 정말로 필요한 경우 다시 시도 할 수 있습니다. man tweak
개요와 명령 목록을 보려면 터미널에서 실행하십시오 .
Bless Hex Editor 는 바이너리 (hex) 편집기이며 현재 다음 기능을 제공합니다.
http://packages.debian.org/sid/all/bless/download 여기에서 언로드 할 수 있습니다 .
설치하려면 명령 줄을 통해 .deb 파일을 설치하는 방법을 참조하십시오 .
더 필요하십니까?
bless
설치 후 명령을 사용하여 쉘에서 실행할 수 있습니다 .
이것은 사용하기 간단합니다.
sudo apt-get install hexcurse