bash에서 바이너리로 파일을 표시하는 방법
현재 디렉토리의 파일 내용을 명령줄에서 바이너리로 보고 싶습니다.어떻게 하면 좋을까요?
xxd
는 바이너리와 16진수를 모두 수행합니다.
빈:
xxd -b file
16진수:
xxd file
hexdump -C yourfile.bin
물론 편집하고 싶지 않다면요.대부분의 Linux Distros는hexdump
디폴트로는 (전부는 아니지만)
vi your_filename
때리다
유형:%!xxd
16진수 문자열을 표시하려면 , n:%!xxd -r
일반 편집으로 돌아갑니다.
예비역으로서 항상od -xc filename
sudo apt-get install bless
Bless는 보기, 편집, 검색 등을 할 수 있는 GUI 도구입니다.매우 가볍습니다.
(CentOS 7에서) 바이너리 파일을 여는 경우:
strings <binary_filename>
$ echo -n 'Hello world!' | hd
00000000 48 65 6c 6c 6f 20 77 6f 72 6c 64 21 |Hello world!|
0000000c
헥실 포맷이 좋다: sudo apt 설치 헥실
Vim Tips Wiki에서 향상된 16진수 편집을 참조하십시오.
emacs를 열 수 있습니다(터미널 모드에서는emacs -nw
예를 들어), 다음으로 Hexl 모드를 사용합니다.M-x hexl-mode
.
https://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Binary-Files.html
16진수로 모든 출력을 한 줄로 가져오려면:
xxd -p yourfile.bin | tr -d '\n'
파일을 바이너리 코드(소수 표현)로 변환하려면 다음과 같이 합니다.
xxd filename #
예:
xxd hello.c #
바이너리 파일의 모든 내용과 코드를 보기 위해 우리는 다음과 같은 명령을 사용할 수 있습니다.readelf
그리고.objdump
,hexdump
,... .
예를 들어 바이너리 파일의 모든 내용을 변환하고 싶은 경우는, 다음과 같이 합니다(커버블, 공유 라이브러리, 오브젝트 파일).
hexdump binaryfilename
예.
hexdump /bin/bash
그러나 readelf는 elf 파일 분석에 가장 적합한 유틸리티입니다.그래서 이렇게 말하면:
readelf -a /bin/bash
바이너리 파일 bash의 모든 내용이 표시됩니다.또한 다른 플래그를 readelf에 제공하여 elf 파일의 모든 섹션과 헤더를 개별적으로 표시할 수 있습니다.예를 들어 elf 헤더만 표시할 경우 다음과 같이 말합니다.
readelf -h /bin/bash
파일의 모든 세그먼트를 읽습니다.
readelf -l /bin/bash
파일의 모든 섹션을 읽습니다.
readelf -S /bin/sh
그러나 다시 요약으로서 "hello.c"와 같은 일반 파일 및 Linux 경로 /bin/bash와 같은 바이너리 파일을 읽기 위해 다음과 같이 말합니다.
xxd hello.c
readelf -a /bin/bash
16진수 덤프 바이너리 파일을 사용할 수 있습니다.
sudo apt-get install hexdump
hexdump -C yourfile.bin
언급URL : https://stackoverflow.com/questions/1765311/how-to-view-files-in-binary-from-bash
'source' 카테고리의 다른 글
데이터베이스에 대한 모든 연결을 끊는 스크립트(RESTRICTED_USER Rollback 이상) (0) | 2023.04.17 |
---|---|
실행 중인 cmdlet의 현재 디렉토리를 가져오는 방법 (0) | 2023.04.17 |
UNIX의 셸 스크립트를 사용하여 10일 이상 지난 파일 삭제 (0) | 2023.04.17 |
데이터베이스 간에 데이터 전송 (0) | 2023.04.17 |
MySQL의 백틱과 따옴표는 어디에 사용합니까? (0) | 2023.04.17 |