djskual/MibExplorer
GitHub: djskual/MibExplorer
一款面向大众汽车 MIB2/MIB2.5 的 WPF 工具,通过 SSH 提供远程文件管理、Shell 交互与脚本执行能力。
Stars: 0 | Forks: 0
# MibExplorer

**MibExplorer** 是一个 WPF (.NET 8) 应用程序,旨在通过 SSH 与 **Volkswagen MIB2 / MIB2.5** 系统进行交互。
它提供以下功能:
- 一个 **图形化文件浏览器**
- 一个 **完整的 SSH 生命周期管理系统**
- 一个 **交互式远程 Shell 控制台**
- 一个 **内置远程文件编辑器(带内联差异)**
- 一个 **高级并排文件差异查看器**
- 一个 **用于远程执行的强大脚本中心**
# ✨ 关键特性
## 📁 远程文件浏览器
* 完整的远程文件系统浏览(树形视图 + 列表视图)
* 懒加载以提升性能
* 上下文菜单操作(文件和文件夹)
* 符号链接支持(导航 + 可见性)
* 隐藏文件支持
## 🔁 文件与文件夹操作
* 下载 / 上传文件
* 重命名 / 删除文件和文件夹
* 递归文件夹上传
* 文件夹提取
* **安全文件夹替换**:
* 临时上传
* 备份
* 原子交换
* 清理
## 🧠 智能文件名映射
* 处理与 Windows 不兼容的 Linux 文件名
* 仅在需要时生成 `.mibexplorer-map.json`
* 在重新上传时恢复原始文件名
* 支持安全的 **提取 → 编辑 → 重新上传** 工作流
## 🖥️ 远程 Shell 控制台

MibExplorer 包含一个 **内置的交互式远程 Shell 控制台**。
### 特性
* 持久 SSH Shell 会话(无需命令模拟)
* 交互式命令执行
* 实时远程输出显示
* 命令历史导航(↑ / ↓)
* 清除控制台(`Ctrl + L`)
* 复制全部输出
* 将控制台日志保存到文件
* 主题化上下文菜单
* 单一控制台实例管理
### 控制台渲染
* 类似终端的提示符与命令流程
* 提示符感知格式化:
* 用户/主机(青色)
* 路径(浅蓝色)
* 不同颜色区分:
* 命令(白色)
* 正常输出(浅灰色)
* 错误(红色)
* 警告(橙色)
* 系统消息 `[shell]`(蓝色,斜体)
* 清晰间距与可读性提升
* 输出裁剪以防止内存溢出
### 行为
* 实时检测 SSH 连接丢失
* 断开时自动禁用输入
* 断开后仍保留日志
* 与 MibExplorer 主题和 UI 完全集成
### 集成
* 可直接从文件浏览器打开文件夹
* 右键点击 → **在 Shell 中打开**
* 自动导航至选中路径
## 🧩 脚本中心

MibExplorer 现在包含一个内置的 **脚本中心**,允许你直接在 MIB 上通过 SSH 执行自定义脚本。
### 特性
* 在 MIB 上执行本地脚本
* 支持:
* 单个脚本
* 完整脚本包(包含 `run.sh` 的文件夹)
* 自动工作流:
* 上传到远程 `/tmp`
* 设置执行权限
* 执行脚本
* 捕获输出
* 自动清理
### 执行日志
* 实时输出流
* 清晰且结构化的日志显示
* 复制日志到剪贴板
* 清除日志功能
* 显示远程执行工作空间
### 行为
* 脚本在隔离的临时目录中执行
* 除非脚本显式操作,否则不会产生持久修改
* 执行后自动清理
* 退出码检测与报告
### 集成
* 完全集成到 MibExplorer UI
* 使用现有 SSH 连接
* 针对高级工作流设计:
* 诊断
* 逆向工程
* 系统检查
* 与 SVM 相关的操作
### 注意事项
* 脚本必须兼容 QShell 环境
* MIB 上的工具集有限(无完整的 GNU 环境)
* 行结尾必须为 LF(`\n`)
⚠️ 脚本以 root 权限在 MIB 上执行。
## 🖋️ 远程文件编辑器

MibExplorer 包含一个内置的 **远程文件编辑器**,用于通过 SSH 直接在 MIB 上编辑文件。
### 特性
* 从浏览器打开文件(双击 / 上下文菜单)
* 通过 SSH 进行完整文本编辑
* 显式保存并覆盖
* 原子保存(临时文件 + 替换)
* 处理可写路径的 RW 挂载
* 对受保护区域的只读回退
* 重新加载文件支持
* 防止未保存更改(保存 / 放弃 / 取消)
### 内联差异(新)
编辑器现在包含一个内置的 **内联差异系统**,允许你在文件内部直接可视化变更。
#### 特性
* 行级高亮(新增 / 修改)
* 内联词级差异高亮
* 专用的左侧边距标记
* 与差异查看器完全同步
* 即时开启/关闭内联差异
### 差异导航
* 在编辑器内直接导航变更
* 上一个 / 下一个控制
* 实时位置指示器(n / 总数)
* 光标感知导航行为
## 🔍 高级文件差异查看器

MibExplorer 包含一个强大的 **并排差异查看器**,用于在保存前验证变更。
### 特性
* 并排对比(原始 vs 当前)
* 行级与词级差异
* 精确检测:
* 新增
* 删除
* 修改
* 使用基于 LCS 算法的智能对齐
* 自动合并相似的增删对为修改行
* Git 风格的分组重复变更标记
* 差异间导航
* 可折叠未更改部分
### 差异选项
* 忽略空白变化
* 显示不可见字符(空格、制表符)
* 折叠未更改部分
### 空白处理
* 一致的制表符渲染(制表位 = 4)
* 编辑器与差异之间统一的空白处理
* 基于列的文本准确对齐
* 标签与空格渲染无歧义
### 行为
* 删除后不会产生错误的“修改行”
* 即使复杂编辑也能保持稳定差异
* 针对真实的 MIB 文件结构设计
# 🔐 SSH 管理(核心特性)
MibExplorer 提供了一个 **完整的 SSH 生命周期系统**,用于 MIB 设备。
## 📦 SSH 安装(通过 SD SWDL)
* 生成完整的 SWDL 兼容 SD 包
* 无需外部工具
* 包含:
* SSH 有效载荷(sshd)
* 公钥(GEM)
* 脚本与校验和
### 安装流程:
* 将 SSH 部署到 MIB 文件系统
* 安全修补 `startup.sh`(带备份)
* 配置:
* inetd(SSH 服务)
* 防火墙(pf*.conf)
* 使用启动时终结器(`finish_ssh_boot.sh`)
* 首次启动时生成主机密钥
* 执行日志记录到 SD 卡
### 清理:
* 移除 SWDL 临时文件
* 移除 `MibExplorer.info`(FileCopyInfo)
## 🔁 SSH 密钥更新(无需重新安装)
* 仅替换 `authorized_keys`
* 无需重新安装有效载荷
* 不修改系统
* 快速且安全
## 🧹 SSH 卸载(通过 SD)
* 使用 SWDL 包进行完整卸载
* 安全重启后清理
* 移除:
* SSH 有效载荷
* `/root/.ssh`
* `authorized_keys`
* `/root/scp`
* `/root/.profile`
* 恢复:
* `inetd.conf`
* 防火墙规则
* 移除:
* SWDL 工件
* `MibExplorer.info`
* 故意保留 `startup.sh` 钩子
## ⚡ 直接 SSH 卸载(无需 SD)
* 直接从 MibExplorer 卸载 SSH
* 需要活动的 SSH 连接
### 行为:
* 移除:
* SSH 有效载荷
* `/root/.ssh`
* `/root/.sshd` 的防御性清理
* `authorized_keys`
* `scp`
* `.profile`
* 恢复:
* `inetd.conf`(备份或回退)
* 防火墙规则
* 清理:
* SWDL 工件
* `MibExplorer.info`
### 注意事项:
* SSH 会话可能保持活动状态直到重启
* 建议卸载后重启
* 保留 `startup.sh` 钩子
# 🌐 自动 MIB IP 检测
* 检测活动的 Wi-Fi 接口(MIB 热点)
* 无需互联网访问
* 使用:
* 默认网关
* 或 DHCP 回退
* 通过 SSH(端口 22)验证 IP
👉 消除误检并提升可靠性
# 🛡️ 安全与设计
MibExplorer 的设计重点在于 **安全性与可逆性**:
* 受控的 RW/RO 重新挂载处理
* 原子文件操作
* 基于备份的恢复逻辑
* 防御性清理机制
* 无自动破坏性操作
* 用户完全控制操作
# 🔌 系统要求
* Windows 10 / 11
* .NET 8 运行时
* Volkswagen MIB2 / MIB2.5 并具备 SSH 能力
# 🔑 SSH 设置
## 新建设置
1. 工具 → 生成 SSH 密钥
2. 通过 SD 包安装 SSH
3. 使用生成的私钥连接
## 已有设置
* 使用你现有的私钥
* 无需重新安装
# 🔗 连接到 MIB
1. 将 PC 连接到 MIB Wi-Fi 热点
2. 使用自动检测(推荐)或手动输入 IP
3. 选择私钥
4. 连接
# 📦 当前能力
* SSH 安装 / 更新 / 卸载(SD + 直接)
* 远程文件系统浏览器
* 文件与文件夹操作
* 安全替换系统
* 智能文件名映射
* 远程 Shell 控制台
* 脚本中心(在 MIB 上执行脚本)
* 远程文件编辑器
* 内联差异编辑器(行级与词级)
* 编辑器内的差异导航
* 高级文件差异查看器
* IP 自动检测与验证
# 🧩 路线图
计划改进:
* 集成 SSH 设置向导
* MIB Wi-Fi 助手 / 新手引导
* 高级诊断工具
* MIB 端辅助代理
* 高级脚本中心功能(自动化、预设、工具链)
# ⚠️ 免责声明
本工具仅面向高级用户。
修改 MIB 系统始终伴随风险。
你需对设备上的任何更改负责。
# 🙏 感谢
受 MIB 逆向工程生态启发:
* MIB2Toolbox
* MoreIncredibleBash
# 📄 许可证
待定义。
标签:Linux文件映射, MIB2.5, .NET 8, SEO: MIB2 工具, SEO: 车载诊断软件, SSH, SSH生命周期, Volkswagen MIB2, WPF, 交互式终端, 内存分配, 内联差分, 原子替换, 图形化工具, 安全备份, 差异对比, 文件浏览器, 日志导出, 汽车诊断, 脚本中心, 车载系统, 远程Shell, 远程执行, 远程控制台, 远程文件管理