Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/e3prom/bst
Payload GenerationScripting & AutomationShellcodePenetration TestingUtilities & FrameworksBinary AnalysisArchived
GitHube3prom/bst

bst

Binary String Toolkit (BST). 익스플로잇 개발에 필요한 바이너리 문자열을 빠르고 쉽게 변환하세요. 😎

저장소 보기
22138년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Binary String Toolkit

개요

Binary String Toolkit (줄여서 BST)은 보안 분야에서 익스플로잇 및 개념 증명(PoC) 개발에 사용되는 소스 코드에 포함하기 적합한 다양한 형식으로 바이너리 문자열을 변환하는 간단한 유틸리티입니다.

특징

  • 바이너리 파일을 변환하여 표준 출력에 바이너리 문자열 형식으로 덤프합니다.
  • 일반 16진수 입력 문자열을 16진수 이스케이프 버전으로 변환합니다.
  • 버퍼에서 배드 캐릭터를 탐지하기 위한 배드 캐릭터 시퀀스를 생성합니다.
  • 익스플로잇 코드의 가독성을 높이기 위해 바이너리 문자열의 너비를 제한합니다.
  • 선호하는 프로그래밍 또는 스크립팅 언어의 구문으로 바이너리 문자열을 포맷합니다. 예:
    • C/C++
    • Python
    • PowerShell
  • 복사/붙여넣기 포함에 적합한 자동 변수 블록 들여쓰기를 수행합니다.

종속성

  • POSIX C 라이브러리
  • C 컴파일러
    • GCC
    • LLVM Clang
  • GNU Make
  • Git

빌드

시스템에 'bstrings' 바이너리를 빌드하고 설치하려면 다음을 수행하십시오:

root@kitploit:~
$ git clone https://github.com/e3prom/bst
$ cd bst
$ make
# 기본적으로 bstrings는 /usr/local/bin에 설치됩니다.
$ sudo make install

사용법

아래 예제는 조립된 셸코드를 16진수 이스케이프(-x)된 바이너리 문자열(16자리 16진수, 즉 8바이트 너비)로 Python 구문 형식과 4개의 공백 문자 들여쓰기 수준으로 표준 출력에 빠르게 덤프(-D)하는 방법을 보여줍니다:

root@kitploit:~
$ bstrings --verbose -x -D lnx-execve-setreuid-x86_64 -w8 -i 4 --syntax=python
[*] Convert hexadecimal input to an escaped binary string.
[+] Binary string width is limited to 8 bytes.
[+] Output binary string using python language syntax.
[+] Indentation level set to 4 space character(s).
    shellcode =  ""
    shellcode += "\x31\xc0\x48\x89\xc7\x48\x89\xc6"
    shellcode += "\x48\x89\xc2\xb0\x71\x0f\x05\x31"
    shellcode += "\xc0\x50\x48\xbb\x2f\x62\x69\x6e"
    shellcode += "\x2f\x2f\x73\x68\x53\x48\x89\xe7"
    shellcode += "\x50\x48\x89\xe6\x57\x48\x89\xe2"
    shellcode += "\xb0\x3b\x0f\x05"

또한 bstrings를 사용하여 자동으로 들여쓰기된 배드 캐릭터 시퀀스를 출력할 수 있으며, 원하는 프로그래밍 언어로 출력할 수 있습니다:

root@kitploit:~
$ bstrings --verbose -b -w12 -i 4 --syntax=c -n badchar
[*] Generating bad character binary string.
[+] Binary string width is limited to 12 bytes.
    unsigned char badchar[] =
        "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c"
        "\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18"
        "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24"
        "\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
        "\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c"
        "\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45\x46\x47\x48"
        "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54"
        "\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
        "\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c"
        "\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78"
        "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80\x81\x82\x83\x84"
        "\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
        "\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c"
        "\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
        "\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4"
        "\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
        "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc"
        "\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8"
        "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4"
        "\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0"
        "\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc"
        "\xfd\xfe\xff"

지원되는 명령줄 옵션 목록을 보려면 bstrings를 --help 스위치와 함께 실행하십시오:

root@kitploit:~
$ bstrings --help
Usage: bstrings [OPTION]...
 Convert input to specified binary string format.

 At least one of the below options must be given:
    -D, --dump-file=FILE    Convert and Dump RAW content of file FILE
    -x, --hex-escape        Escape input hexadecimal string
    -b, --gen-badchar       Generate a bad character sequence string
 
 The below switches are optional:
    -f, --file=FILE         Read hex input from file FILE instead of stdin
    -w, --width=BYTES       Break binary strings to specified length in bytes
    -s, --syntax=LANG       Output variable using syntax of LANG
    -i, --indent=LENGTH     Perform indentation for given character length
    -n, --var-name=VAR      Specify string variable name (verbose mode)
    -h, --help              Display this help
       --interactive        Enter interactive mode
       --verbose            Enable verbose output
       --version            Print version information

 The below languages are supported (case-sensitive):
    C                       C Programming Language
    python                  Python Programming Language
    powershell              PowerShell Automation and Scripting Language

기여

이 프로젝트에 코드를 제출하고 이슈와 버그를 보고하여 자유롭게 기여해 주십시오.

소프트웨어 라이선스

이 소프트웨어는 GNU General Public License의 조건에 따라 라이선스가 부여됩니다.

도구 다운로드