djskual/MibExplorer

GitHub: djskual/MibExplorer

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

Stars: 0 | Forks: 0

# MibExplorer ![MibExplorer screenshot](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ed4a8b53aa065130.png) **MibExplorer** 是一个 WPF (.NET 8) 应用程序,旨在通过 SSH 与 **Volkswagen MIB2 / MIB2.5** 系统进行交互。 它提供以下功能: - 一个 **图形化文件浏览器** - 一个 **完整的 SSH 生命周期管理系统** - 一个 **交互式远程 Shell 控制台** - 一个 **内置远程文件编辑器(带内联差异)** - 一个 **高级并排文件差异查看器** - 一个 **用于远程执行的强大脚本中心** # ✨ 关键特性 ## 📁 远程文件浏览器 * 完整的远程文件系统浏览(树形视图 + 列表视图) * 懒加载以提升性能 * 上下文菜单操作(文件和文件夹) * 符号链接支持(导航 + 可见性) * 隐藏文件支持 ## 🔁 文件与文件夹操作 * 下载 / 上传文件 * 重命名 / 删除文件和文件夹 * 递归文件夹上传 * 文件夹提取 * **安全文件夹替换**: * 临时上传 * 备份 * 原子交换 * 清理 ## 🧠 智能文件名映射 * 处理与 Windows 不兼容的 Linux 文件名 * 仅在需要时生成 `.mibexplorer-map.json` * 在重新上传时恢复原始文件名 * 支持安全的 **提取 → 编辑 → 重新上传** 工作流 ## 🖥️ 远程 Shell 控制台 ![MibExplorer Shell](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5688d76659065132.png) MibExplorer 包含一个 **内置的交互式远程 Shell 控制台**。 ### 特性 * 持久 SSH Shell 会话(无需命令模拟) * 交互式命令执行 * 实时远程输出显示 * 命令历史导航(↑ / ↓) * 清除控制台(`Ctrl + L`) * 复制全部输出 * 将控制台日志保存到文件 * 主题化上下文菜单 * 单一控制台实例管理 ### 控制台渲染 * 类似终端的提示符与命令流程 * 提示符感知格式化: * 用户/主机(青色) * 路径(浅蓝色) * 不同颜色区分: * 命令(白色) * 正常输出(浅灰色) * 错误(红色) * 警告(橙色) * 系统消息 `[shell]`(蓝色,斜体) * 清晰间距与可读性提升 * 输出裁剪以防止内存溢出 ### 行为 * 实时检测 SSH 连接丢失 * 断开时自动禁用输入 * 断开后仍保留日志 * 与 MibExplorer 主题和 UI 完全集成 ### 集成 * 可直接从文件浏览器打开文件夹 * 右键点击 → **在 Shell 中打开** * 自动导航至选中路径 ## 🧩 脚本中心 ![MibExplorer ScripCenter](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/84d8574d1d065132.png) MibExplorer 现在包含一个内置的 **脚本中心**,允许你直接在 MIB 上通过 SSH 执行自定义脚本。 ### 特性 * 在 MIB 上执行本地脚本 * 支持: * 单个脚本 * 完整脚本包(包含 `run.sh` 的文件夹) * 自动工作流: * 上传到远程 `/tmp` * 设置执行权限 * 执行脚本 * 捕获输出 * 自动清理 ### 执行日志 * 实时输出流 * 清晰且结构化的日志显示 * 复制日志到剪贴板 * 清除日志功能 * 显示远程执行工作空间 ### 行为 * 脚本在隔离的临时目录中执行 * 除非脚本显式操作,否则不会产生持久修改 * 执行后自动清理 * 退出码检测与报告 ### 集成 * 完全集成到 MibExplorer UI * 使用现有 SSH 连接 * 针对高级工作流设计: * 诊断 * 逆向工程 * 系统检查 * 与 SVM 相关的操作 ### 注意事项 * 脚本必须兼容 QShell 环境 * MIB 上的工具集有限(无完整的 GNU 环境) * 行结尾必须为 LF(`\n`) ⚠️ 脚本以 root 权限在 MIB 上执行。 ## 🖋️ 远程文件编辑器 ![MibExplorer FileEditor](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2596b4a958065133.png) MibExplorer 包含一个内置的 **远程文件编辑器**,用于通过 SSH 直接在 MIB 上编辑文件。 ### 特性 * 从浏览器打开文件(双击 / 上下文菜单) * 通过 SSH 进行完整文本编辑 * 显式保存并覆盖 * 原子保存(临时文件 + 替换) * 处理可写路径的 RW 挂载 * 对受保护区域的只读回退 * 重新加载文件支持 * 防止未保存更改(保存 / 放弃 / 取消) ### 内联差异(新) 编辑器现在包含一个内置的 **内联差异系统**,允许你在文件内部直接可视化变更。 #### 特性 * 行级高亮(新增 / 修改) * 内联词级差异高亮 * 专用的左侧边距标记 * 与差异查看器完全同步 * 即时开启/关闭内联差异 ### 差异导航 * 在编辑器内直接导航变更 * 上一个 / 下一个控制 * 实时位置指示器(n / 总数) * 光标感知导航行为 ## 🔍 高级文件差异查看器 ![MibExplorer FileDiff](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c9d8bc8e36065134.png) 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, 远程执行, 远程控制台, 远程文件管理