FinalShell Decoder X — 解析本地 FinalShell 配置文件,提取服务器信息并解密保存的密码与私钥。
跨平台支持 macOS / Windows / Linux,提供 GUI 与命令行两种使用方式。
📌 免责声明
本项目仅供学习交流使用,使用者需自行承担使用风险。 本项目不隶属于 FinalShell 官方,仅用于对本地配置文件进行解析与展示。请勿向 FinalShell 官方反馈任何问题,请勿在 FinalShell 官方社区提及此工具。
- 自动检测 FinalShell 安装目录 ✅
- 解析所有服务器连接配置 ✅
- 解密加密的登录凭据:
- 账号密码 ✅
- SSH 私钥 ✅
- GUI 表格展示:连接名称 / 主机 / 端口 / 用户名 / 认证方式 / 登录凭据
- 表格支持点击列标题排序 ✅
- 右键菜单快捷操作(复制凭据、查看详情)✅
- 双击即可复制凭据,右下方面板展示完整解析数据
- 命令行版本支持导出私钥到文件
- 水平滚动条支持长内容显示 ✅
├── final_shell_decoder.py # GUI 版本
├── final_shell_decoder_cli.py # 命令行版本
├── src/
│ ├── __init__.py
│ └── core.py # 共享核心库(解密引擎、JSON 解析、数据模型)
├── tests/
│ └── test_core.py # 单元测试
├── pyproject.toml # 项目配置
└── README.md
uv venv
uv add pyperclip pycryptodomepython3 -m venv venv
source venv/bin/activate # macOS / Linux
# venv\Scripts\activate # Windows
pip install pyperclip pycryptodomepip install pyperclip pycryptodome# uv
uv run python final_shell_decoder.py
# 标准 venv / 直接安装
python final_shell_decoder.py- 程序启动后自动检测 FinalShell 安装目录
- 若未检测到,点击「手动选择」浏览到包含
conn文件夹的目录 - 点击「开始解析」— 所有连接配置将显示在表格中
- 双击任意行查看详情,凭据自动复制到剪贴板
界面布局:
- 路径选择区域 — 显示与选择 FinalShell 目录
- 表格区域 — 列出所有服务器连接
- 详细信息区域 — 显示选中连接的完整配置与密钥信息(含解析日志)
- 状态栏 — 显示运行状态与提示
# uv
uv run python final_shell_decoder_cli.py [目录]
# 标准 venv / 直接安装
python final_shell_decoder_cli.py [目录]# 自动检测 FinalShell 目录
python final_shell_decoder_cli.py
# 指定目录
python final_shell_decoder_cli.py /path/to/finalshell
python final_shell_decoder_cli.py .
# 查看版本与帮助
python final_shell_decoder_cli.py --version
python final_shell_decoder_cli.py --help
# 开启调试输出
python final_shell_decoder_cli.py --verbose- 默认保存路径:当前目录下的
output/目录 - 单个私钥:自动选择并保存
- 多个私钥:可选择保存全部(输入
0)或指定单个私钥(输入对应编号)
| 文件 | 说明 |
|---|---|
config.json |
FinalShell 主配置,secret_key_list 字段存储加密私钥 |
conn/*_connect_config.json |
单个服务器的连接配置(主机、端口、用户名、加密密码等) |
- Base64 解码加密密码字段
- 取前 8 字节作为头部(head)信息
- 通过
ranDomKey(head)生成 DES 密钥 - 剩余字节使用 DES-ECB 解密,得到明文密码
- 从
config.json的secret_key_list中提取 Base64 编码的key_data - Base64 解码即为原始 OpenSSH 私钥
- 本工具仅可用于合法场景(数据备份、安全审计、自用环境迁移)
- 请勿在未授权的环境中使用
- 解析后的私钥与密码请妥善保管,避免泄露
- 请勿将
config.json、conn/、output/目录提交到版本控制系统
- Python 3.8+
- tkinter(仅 GUI 版本需要,通常随 Python 一起安装)
- 依赖:
pyperclip、pycryptodome
pip install -e .python -m unittest discover -s tests -v
