바이너리 문자열 추출기 (strings)
바이너리·펌웨어·악성코드 샘플에서 ASCII·UTF-8·UTF-16 문자열을 바이트 위치와 함께, 최소 길이 설정으로 추출합니다(Unix strings와 유사) — 파일은 업로드되지 않습니다.
신뢰할 수 없는 악성코드·펌웨어 샘플을 오프라인에서 안전하게 검사할 수 있습니다.
또는 파일을 여기에 놓아 원본 바이트를 스캔하세요
바이너리에서 문자열 추출이란
컴파일된 실행 파일·펌웨어 이미지·악성코드 샘플은 대부분 출력 불가능한 기계어이지만, 그 안에는 거의 항상 읽을 수 있는 텍스트 조각이 들어 있습니다 — 내장된 URL·C2 도메인, 파일 경로, 레지스트리 키, 오류 메시지, 버전 배너, 설정값 등입니다. 문자열 추출은 원본 바이트에서 출력 가능한 문자의 연속 구간을 스캔하며, 이는 고전적인 Unix strings 명령이 하는 일과 같습니다. 덕분에 파일을 실행하지 않고도 이런 지표를 읽을 수 있습니다. 이 도구는 1바이트 ASCII 문자열과 함께, 윈도우 실행 파일이 텍스트를 저장하는 방식인 UTF-16LE "와이드" 문자열도 찾아내며, 와이드 문자열 메뉴에서 빅 엔디언이나 두 바이트 순서 모두를 고를 수도 있습니다. UTF-8 텍스트 포함을 켜면 한글이나 악센트 문자 같은 UTF-8 글자에서 끊기지 않고 문자열이 이어지고, 바이트 위치 표시를 켜면 각 문자열이 시작하는 위치를 0x0000001a처럼 앞에 적어 16진수 편집기에서 다시 찾을 수 있습니다. 중복 제거와 정렬로 목록을 정리할 수 있고, 맨 위에는 찾은 문자열의 총개수가 나옵니다.
브라우저에서 바로 트리아지
파일을 놓거나 16진수·Base64 덤프를 붙여넣으면 선택한 최소 길이 이상의 모든 출력 가능한 구간이 즉시 나열됩니다. 최소 길이를 낮추면 짧은 토큰까지 드러나고, 높이면 잡음을 줄여 의미 있는 문자열만 남습니다. 슬라이더 아래 숫자 칸에는 슬라이더 끝보다 긴 최소 길이도 넣을 수 있어, 긴 문자열만 볼 때 쓸 수 있습니다. 스캔은 로컬에서 실행되고 아무것도 업로드되지 않으므로 신뢰할 수 없는 악성코드·펌웨어 샘플에도 안전합니다 — 바이트는 기기를 벗어나지 않습니다. "모두 복사"로 모든 결과를 메모나 리포트에 담으세요. 문자 범위 메뉴에서 영문자·숫자·문장부호만으로 좁힐 수 있고, NUL로 끝나는 것만(C 문자열)을 켜면 NUL 바이트로 끝나는 구간만 남깁니다. 문자열 검색과 종류(URL·이메일 주소·파일 경로·식별자)로 거르면 목록·복사·저장이 모두 거른 결과를 따르고, 앞뒤 바이트 표시를 켜면 각 문자열 앞뒤의 바이트를 16진수로 보여 주며, CSV 다운로드는 문자열마다 인코딩·위치·길이를 함께 저장합니다.
자주 묻는 질문
Unix strings 명령이 무엇인가요?
strings는 파일에서 출력 가능한 문자의 연속을 출력하는 명령으로, 실행하지 않고도 바이너리에 내장된 URL·경로·메시지를 확인하는 가장 빠른 방법입니다. 이 도구는 이를 브라우저에서 재현하고 UTF-16(와이드) 문자열 탐지를 추가합니다.
ASCII와 UTF-16 목록이 왜 나뉘나요?
ASCII 문자열은 문자당 1바이트를 쓰지만, 윈도우 프로그램은 흔히 텍스트를 UTF-16LE로 저장하며 이때 각 문자는 한 바이트 뒤에 0x00이 붙습니다. 둘 다 스캔하면 일반 ASCII 스캔이 놓치는 와이드 문자열도 빠뜨리지 않습니다. 와이드 문자열 메뉴에서 UTF-16 빅 엔디언이나 두 바이트 순서 모두를 고르면 순서마다 목록이 따로 나옵니다.
최소 길이 슬라이더는 무엇을 하나요?
출력 가능한 문자가 연속으로 몇 개 이상이어야 하나의 문자열로 볼지 정합니다. 슬라이더는 1부터 20까지 조절되고, 기본값은 4입니다. 값을 올리면 짧고 잡음 같은 조각이 사라지고, 낮추면 플래그나 확장자 같은 짧은 토큰까지 드러납니다.
한글 같은 비 ASCII 텍스트도 찾고, 각 문자열의 위치도 알려 주나요?
네. UTF-8 텍스트 포함(한글·악센트 문자 등)을 켜면 1바이트 목록이 ASCII + UTF-8 문자열로 바뀝니다. 올바르고 출력 가능한 UTF-8 글자라면 끊기지 않고 이어지며, 최소 길이도 바이트가 아니라 글자 수로 세므로 Hello 안녕하세요 café가 통째로 나옵니다. 바이트 위치 표시를 켜면 각 문자열 앞에 첫 바이트의 위치가 0x0000001a처럼 붙고, 목록·모두 복사·저장한 파일에 똑같이 들어가 16진수 편집기에서 다시 찾을 수 있습니다.
C 문자열만 남기거나, 결과를 검색하거나, 문자열 앞뒤 바이트를 볼 수 있나요?
네. 문자 범위에서 출력 가능한 모든 문자나 영문자·숫자·문장부호만을 고르고, NUL로 끝나는 것만(C 문자열)을 켜면 끝나는 바이트가 00(와이드 문자열은 00 00)인 구간만 남기므로 파일 끝에서 잘린 것은 빠집니다. 둘 다 ASCII·UTF-8·와이드 목록에 똑같이 적용됩니다. 문자열 검색(대소문자 무시)과 종류 — URL, 이메일 주소, 파일 경로, UUID·해시·버전 같은 식별자 — 로 거르면 목록·복사·저장이 모두 거른 결과를 따르고, 몇 개가 일치하는지도 나옵니다. 앞뒤 바이트 표시를 켜면 각 문자열 앞뒤의 16진수가 문자열이 한 열로 맞게 나오고 모두 복사와 텍스트 파일에도 들어가며, CSV 다운로드는 문자열마다 인코딩·위치·길이·문자열을 저장합니다.
슬라이더보다 긴 최소 길이를 정할 수 있나요?
네. 슬라이더 아래 숫자 칸에 최소 길이를 직접 넣으면 슬라이더 끝을 훨씬 넘는 값도 쓸 수 있어, 키나 URL, 내장 스크립트처럼 긴 문자열만 보면 되는 큰 덤프에 알맞습니다. 칸에도 상한이 있어 그보다 큰 값은 상한으로 맞춰지며, 최소 길이가 슬라이더 범위를 넘는 동안 슬라이더는 끝에 머뭅니다.