Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
bst — Binary String Toolkit (BST)。快速轻松地转换二进制字符串,满足您所有的漏洞利用开发需求。😎 | Kitploit
工具/GitHubGitHub/e3prom/bst
Payload生成脚本与自动化Shellcode渗透测试实用工具与框架二进制分析Archived
GitHube3prom/bst

bst

Binary String Toolkit (BST)。快速轻松地转换二进制字符串,满足您所有的漏洞利用开发需求。😎

查看仓库
221388年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

二进制字符串工具包

概述

二进制字符串工具包(简称 BST)是一个相当简单的实用程序,用于将二进制字符串转换为适合包含在源代码中的各种格式,例如安全领域用于开发漏洞利用和概念验证的代码。

功能

  • 以二进制字符串格式转换二进制文件并转储到标准输出。
  • 将纯十六进制输入字符串转换为十六进制转义版本。
  • 生成用于检测缓冲区中坏字符的坏字符序列。
  • 限制二进制字符串的宽度,提高漏洞利用代码的可读性。
  • 以你最喜欢的编程或脚本语言的语法格式化二进制字符串,例如:
    • 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

使用

下面的示例展示了如何将汇编好的 shellcode 快速转储(-D)到标准输出,格式为十六进制转义(-x)二进制字符串,宽度为 16 个十六进制数字(即 8 字节),使用 Python 语法格式,缩进级别为 4 个空格字符:

root@kitploit:~
$ bstrings --verbose -x -D lnx-execve-setreuid-x86_64 -w8 -i 4 --syntax=python
[*] 将十六进制输入转换为转义二进制字符串。
[+] 二进制字符串宽度限制为 8 字节。
[+] 使用 python 语言语法输出二进制字符串。
[+] 缩进级别设置为 4 个空格字符。
    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
[*] 生成坏字符二进制字符串。
[+] 二进制字符串宽度限制为 12 字节。
    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
用法: bstrings [选项]...
 将输入转换为指定的二进制字符串格式。

 至少需要给出以下选项之一:
    -D, --dump-file=文件    转换并转储文件 FILE 的原始内容
    -x, --hex-escape        转义输入的十六进制字符串
    -b, --gen-badchar       生成坏字符序列字符串

 以下开关为可选:
    -f, --file=文件         从文件 FILE 读取十六进制输入,而不是标准输入
    -w, --width=字节        将二进制字符串截断为指定长度(以字节为单位)
    -s, --syntax=语言       使用 LANG 语言的语法输出变量
    -i, --indent=长度       按给定的字符长度执行缩进
    -n, --var-name=变量     指定字符串变量名(详细模式)
    -h, --help              显示此帮助
       --interactive        进入交互模式
       --verbose            启用详细输出
       --version            打印版本信息

 支持以下语言(区分大小写):
    C                       C 编程语言
    python                  Python 编程语言
    powershell              PowerShell 自动化与脚本语言

贡献

欢迎通过提交代码和报告问题与错误来贡献本项目。

软件许可

本软件根据 GNU 通用公共许可证的条款进行许可。

下载工具