이진 또는 비 ASCII 파일에서 문자열을 찾기위한 Linux 명령 이진 파일에서 모든

실행 파일이나 다른 이진 파일에서 모든 ASCII 문자열을 추출하는 Linux 명령이 있습니까? 나는 grep으로 그것을 할 수 있다고 생각하지만, 그러한 명령이 존재하는 곳을 듣는 것을 기억합니까?



답변

당신이 찾고있는 명령은 strings

이름은 설명이 필요 없으며 주어진 파일에서 인쇄 가능한 문자열을 검색합니다.

man strings 제공합니다 :

STRINGS (1)

NAME
문자열 -객체 또는 다른 이진 파일에서 인쇄 가능한 문자열을 찾습니다.

개요
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]


답변

문자열 명령은 문제의 특정 유형에 갈 수있는 방법입니다. 때때로 당신은 또한 grep에 그것을 파이프해야합니다 .

예를 들면 다음과 같습니다.

strings somebinaryfile | grep textuwanttofind


답변

명령이 존재하며 …. 문자열이라고합니다!


답변

od 명령은 다음을 수행 할 수 있습니다.

od -c *filename*


답변

문자열을 사용할 때의 문제점은 인쇄 할 수없는 주변 장치가 보이지 않으며 최소 문자열 길이에주의해야한다는 것입니다.

사용하는 문제

od -c 파일

또는

hexdump -C 파일

시퀀스를 줄 바꿈하면 찾기가 어려울 수 있습니다.

내가 이것을 좋아하는 것은 Linux의 WINE에서 실행되는 ZTreeWin 입니다.이를 사용하면 많은 것을 할 수 있지만 모든 파일을 검색하거나 바이너리를 편집하는 것이 특히 유용 할 수 있습니다.

굉장한 ytree 패키지는 많은 Linux 및 Unix 변형에 사용할 수 있으며 모든 파일에 대한 양호한 Hex 덤프보기가 있지만 ZTreeWin (및 16 비트 이전 버전 인 XTree)에 대한 검색은 없습니다.


답변