source

bash에서 바이너리로 파일을 표시하는 방법

ittop 2023. 4. 17. 22:27
반응형

bash에서 바이너리로 파일을 표시하는 방법

현재 디렉토리의 파일 내용을 명령줄에서 바이너리로 보고 싶습니다.어떻게 하면 좋을까요?

xxd 는 바이너리와 16진수를 모두 수행합니다.

빈:

xxd -b file

16진수:

xxd file
hexdump -C yourfile.bin

물론 편집하고 싶지 않다면요.대부분의 Linux Distros는hexdump디폴트로는 (전부는 아니지만)

vi your_filename

때리다

유형:%!xxd16진수 문자열을 표시하려면 , 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

반응형