f0rw4rd/sthenos-embedded-toolkit
GitHub: f0rw4rd/sthenos-embedded-toolkit
Stars: 13 | Forks: 3
# Sthenos Embedded Toolkit
```
) \ / (
/|\ ) \___/ ( /|\
/ | \ ( /\ /\ ) / | \
/ | \ \ x | O / / | \
+----/-----|-----O------\ | /----O------|------\--------+
| '^` V '^` |
| STHENOS EMBEDDED TOOLKIT |
| |
| Static Binaries for All Architectures |
+---------------------------------------------------------+
l /\ / \\ \ /\ l
l / \ / )) \ / \ l
I/ V // V \I
V
```
快速、可靠的流水线,用于为 50 多种架构的嵌入式系统构建静态调试和分析工具。支持 musl 和 glibc 工具链,提供用于运行时操作的 LD_PRELOAD 共享库。
## 下载预编译二进制文件
- **带校验和的每架构 tarball:**[GitHub Releases](https://github.com/f0rw4rd/sthenos-embedded-toolkit/releases)
- **浏览单个二进制文件:**[release-artifacts 分支](https://github.com/f0rw4rd/sthenos-embedded-toolkit/tree/release-artifacts/output)
选择你的架构 → 下载你需要的工具。
## 从源代码构建
```
# 为所有架构构建所有工具
./build
# 或者为特定架构构建特定工具
./build strace --arch arm32v5le
# 为特定架构构建所有工具
./build --arch arm32v5le
# 查看所有可用选项
./build --help
```
### 常用选项
- `--arch ARCH` - 为特定架构构建(或 `--arch all` 表示全部)
- `-d, --debug` - 启用详细输出的调试模式
- `-f, --force` - 强制重建(忽略现有二进制文件)
- `-i, --interactive` - 在构建容器中启动交互式 Shell
- `--shell CMD` - 在带有构建环境的容器中运行命令
- `--clean` - 清理输出和日志目录
- `--download` - 仅下载源码和工具链
## 可用工具
**分析与调试**:strace、ltrace、ply、gdbserver、tcpdump、nmap
**网络工具**:socat、ncat、dropbear(SSH)、can-utils、curl、microsocks
**系统工具**:bash、busybox、Shell 工具
**LD_PRELOAD 库**:libdesock、Shell 工具、tls-noverify
## 支持的架构
**50+ 架构**,包括:
- **ARM**:aarch64、arm32v5le、arm32v7le、armeb、armv6、armv7m、armv7r 等
- **x86**:x86_64、i486、ix86le
- **MIPS**:mips32be/le、mips64、mipsn32,带软浮点变体
- **PowerPC**:ppc32be、ppc64le、powerpc64,带软浮点变体
- **RISC-V**:riscv32、riscv64
- **其他**:m68k、microblaze、or1k、s390x、sh2/4、sparc64
## 系统要求
- Docker
- 20GB 以上可用磁盘空间
- 网络连接
### 查找你的架构
在你的目标系统上运行以下命令以检测架构:
```
echo "$(uname -m)-$(uname -m | grep -q '64' && echo 64 || echo 32)-$(echo -n I | hexdump -c 2>/dev/null | grep -q I && echo le || echo be)-$(grep -qE 'FPU.*yes|vfp|neon' /proc/cpuinfo 2>/dev/null && echo hf || echo sf)-$(ldd --version 2>&1 | grep -q musl && echo musl || echo glibc)"
```
示例输出:
- `mips-32-be-sf-musl` → 使用 `output/mips32v2besf/`
- `arm-32-le-hf-glibc` → 使用 `output/arm32v7lehf/`
- `x86_-64-le-hf-glibc` → 使用 `output/x86_64/`
然后从匹配的目录下载工具。
```
# 测试二进制文件是否适用于目标
./custom # Should display banner if correct
```
## 从源代码构建
```
# 为所有架构构建所有工具
./build
# 为特定架构构建特定工具
./build strace --arch arm32v5le
```
构建的二进制文件位于 `output//` —— 全部为静态链接。
## 文档
[架构指南](docs/Architecture-Guide.md) | [故障排除](docs/Troubleshooting.md)
## 关于
Sthenos 为嵌入式系统提供静态编译的调试和分析工具,适用于系统分析、网络调试以及跨多种架构的嵌入式开发。
## 贡献与支持
欢迎提交修复 Bug、新工具和架构支持的拉取请求。欢迎捐赠以购买更多硬件用于测试。
☕ **[在 Ko-fi 上支持我们](https://ko-fi.com/f0rw4rd)**
标签:GitHub Releases, glibc, JA3, LD_PRELOAD, musl, SEO: 多架构构建, SEO: 嵌入式工具包, SEO: 调试工具, SEO: 静态链接, 交叉编译, 共享库, 分析工具, 可移植性, 多架构支持, 嵌入式系统, 嵌入式调试, 技术栈: Shell 脚本, 技术栈: 容器化构建, 技术栈: 构建工具, 构建系统, 校验和, 源码构建, 网络工具, 静态二进制, 静态链接, 预编译二进制