FLOSS(FireEye Labs Obfuscated String Solver)是一个非常实用的恶意样本分析工具,用于自动提取被编码或混淆的字符串。
它能识别出经过 Base64、XOR、栈解码、函数解码等技术隐藏的文本,常用于快速找出 C2 地址、文件名、命令行参数 等关键信息。
下面我教你 FLOSS 的安装与下载方法 👇
🧰 一、官方信息
- 项目地址(GitHub):
🔗 https://github.com/mandiant/flare-floss
(原作者为 FireEye,现为 Mandiant 维护)
💻 二、安装方式(推荐三种)
✅ 方法 1:直接用 pip 安装(最简单)
适用于 Windows / Linux / macOS
-
确保你系统已安装 Python 3.8+
bashpython --version -
然后直接运行:
bashpip install floss -
安装完成后验证:
bashfloss --version如果显示版本号(例如
v2.2.0),说明安装成功。
✅ 方法 2:手动下载可执行文件(免安装版)
适合不想装 Python 的用户。
-
前往 FLOSS 官方发布页:
🔗 https://github.com/mandiant/flare-floss/releases -
找到最新版本(如
floss-2.2.0-windows.zip或floss-2.2.0-linux.tar.gz) -
下载并解压后,你会得到一个可执行文件:
floss.exe -
将它放入系统路径(或当前分析目录),然后命令行执行:
bashfloss sample.exe
✅ 方法 3:从源码构建(适合进阶用户)
如果你想自己编译:
bash
git clone https://github.com/mandiant/flare-floss.git
cd flare-floss
pip install -r requirements.txt
python setup.py install
⚙️ 三、常用用法示例
| 目标 | 命令 |
|---|---|
| 提取样本中所有字符串 | floss sample.exe |
| 保存结果到文件 | floss sample.exe > decoded.txt |
| 提取并显示 API 调用 | floss --functions sample.exe |
| 指定输出格式(JSON) | floss -j sample.exe |
⚠️ 四、注意事项
- FLOSS 只支持 PE 文件(.exe / .dll)。
若是 ELF / Mach-O,可以用strings或radare2。 - 若样本使用复杂加密(如 RC4/AES),FLOSS 可能无法完全解码。
- 运行时不要在联网主机上直接执行恶意样本(建议用虚拟机或沙箱)。