실행 파일이나 다른 이진 파일에서 모든 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)에 대한 검색은 없습니다.