adsense_in_article_test


[bash: strings] 바이너리 파일에서 문자열만 골라 출력하기 리눅스 bash script

strings는 바이너리 파일에 포함되어 있는 문자열만 골라 화면에 출력해 주는 기능을 제공한다. 별도의 옵션을 지정하지 않을 경우 4바이트 이상의 문자열이 존재할 경우 화면에 출력해 준다. 아래의 예시를 보자.

# my_data.bin 파일에 포함된 문자열 출력
strings my_data.bin

화면에 출력할 문자열의 최소 길이는 기본값이 4이나, -n 옵션을 이용해서 사용자가 직접 지정해 줄 수도 있다.

# my_data.bin 파일에 포함된 길이 8바이트 이상의 문자열 출력
strings -n 8 my_data.bin

만약 출력 결과에 파일명을 같이 표시해 주고 싶다면 -f 옵션을 이용한다.

# 파일명을 함께 출력(-f)
strings -f my_data.bin
my_data.bin:...
my_data.bin:...
...

strings에서 문자열로 간주하는 범위는 기본적으로 영문에 국한되어 있다고 보면 된다(man 페이지에 보면 기본설정이 single-7-bit-byte character라고 표현되어 있다. ASCII, ISO 8859 등이 여기에 해당된다고 한다).

한글 리눅스에서 통상 많이 사용하게 되는 UTF-8 인코딩된 한글은 포함되지 않는다. 인코딩을 지정하는 -e 옵션에서 single-8bit-byte character에 대응하는 S 값을 주면 출력은 되는데, 다른 바이너리 데이터들도 이상하게 깨진 형태로 출력될 수 있다는 점에 유의.

# 인코딩 변경(-e): single-8bit-byte character
strings -e S my_data.bin



핑백

  • 반달가면 : [bash: grep] 바이너리 파일에서 문자열 검색하기 2017-04-24 20:43:16 #

    ... 지 바이너리 파일인지 잘 모르겠는 상황에서는 구분할 필요 없이 그냥 -a 옵션을 사용하면 되겠다. 또 한가지 방법은 바이너리 파일에서 문자열만 모아서 출력해 주는 strings 명령과 조합하는 것이다. 아래의 예시와 같이 strings의 출력을 grep의 입력으로 보낸다. # my_data.bin 파일에서 문자열 ABC 검색 strin ... more

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.



통계 위젯 (화이트)

12171
2305
2454960

2019 대표이글루_IT

B-Side