# MythwareToolkit

> 基于 [BengbuGuards/MythwareToolkit](https://github.com/BengbuGuards/MythwareToolkit) 源码进行 AI+人工修改，在此感谢原作者！

> **[更新日志](CHANGELOG.md)** | **[开发者文档](DEV.md)**

>有问题可联系QQ：2969625400

极域工具包，支持极域以及学生机房管理助手的工具。

## 界面展示


<img src="https://github.com/Jsenn123/Picture_bed/blob/main/img/20260628151116867.png" width="400" align="left">
<img src="https://github.com/Jsenn123/Picture_bed/blob/main/img/20260628151116866.png" width="180" align="left">
<img src="https://github.com/Jsenn123/Picture_bed/blob/main/img/20260628151116868.png" width="200" align="left">

<br clear="left">
*主界面（左） · 任务栏托盘（中） · 悬浮窗右键菜单（右）*

**当前版本：v2.1.4**

> 打包说明：每个版本一个独立目录 `bin\pkg\v<版本>\`，历史版本全部保留，且包内自带完整更新日志（[CHANGELOG.md](CHANGELOG.md)，含当前及以往所有版本）。

---

## 目录

- [功能](#功能)
- [使用教程](#使用教程)
- [附录](#附录)

---

```
MythwareToolkit/
├── src/          ← 源码（9个 .cpp）
├── include/      ← 头文件（4个 .h）
├── res/          ← 资源（图标/图片/manifest/嵌入式exe）
├── scripts/      ← 编译 + 打包 + 签名 + 清理 + 图标转换
├── cert/         ← 证书 + 部署（deploy.bat / mythware.cer / 故障排查）
├── bin/          ← 编译产物 + 打包输出
│   └── pkg/      ← 发行版文件（EXE + ZIP）
├── Makefile
├── README.md
├── CHANGELOG.md
└── RELEASE.md
```

---

## 功能

### v2.1.4

- **「防止截屏」默认关闭**：默认主面板/悬浮球/菜单/弹窗都不隐藏，远程桌面、向日葵、ToDesk 里也能正常看见界面
- 勾选它 = **总开关**：主面板 + 悬浮球 + 菜单 + 弹窗一起对教师端监控不可见
- 新增 `-cap` 启动参数：启动即开启防截屏（教室场景可单独做个快捷方式）
- **设置 / 更新日志 / 关于 三合一**：一个窗口三个页签，一处看全（原先是三个独立窗口）
- **更新日志真正渲染 Markdown**：标题、加粗、列表、引用、代码、代码块都按格式显示，可滚动、可选中复制
- **联系方式只显示本版本自己的**：主界面与信息中心显示官网；原项目仅在「关于」页作署名（原项目的 GitHub 链接与 QQ 群已移除）
- 托盘右键菜单新增「更新日志」

### v2.1.3

- **单实例保护**：重复启动会把已有实例的面板唤起来，不再出现"两个实例互相抢 Alt+B 热键"
- **`-nocap` 无防截屏模式**：远程桌面/向日葵/ToDesk 下操作本程序时用（否则界面会被防截屏挡成黑色）
- **`-unprotect` 救急开关**：实例卡住关不掉时，解除它的防杀保护

### v2.1.2

- **性能优化**：机房机"启动后明显卡顿"专项——状态刷新/置顶轮询/防截屏/日志写盘/钩子线程全面降载
- **打包规范**：按版本分目录、历史版本保留、包内携带完整更新日志

### v2.1.1

- **圆形悬浮窗**：始终置顶，左键切换主面板，中键一键广播窗口化，右键快捷菜单（防截屏），支持拖拽
- **退出黑屏**：主界面按钮 / 悬浮窗右键，4 级递进（隐藏 → 最小化 → ESC → 确认杀进程）
- **防杀进程**：启动即开启，任务管理器无法结束本进程
- **全面防截屏**：主窗口、悬浮窗、所有弹窗和菜单对教师端监控不可见
- **UI 美化**：两组等高对齐，按钮统一尺寸，窗口紧凑合理
- **UAC 提权**：网络限制解除、MeltdownDFC 点击即弹提权窗口
- **崩溃诊断**：完整寄存器 + 栈回溯写入崩溃日志，运行日志记录每一步操作
- **日志系统**：`MythwareToolkit_run.log` + `MythwareToolkit_crash.log`，追加模式
- **图标转换**：仓库里的`convert_icon.bat` 一键 PNG→ICO，多分辨率高清()
- **一键清理**：仓库里的`scripts/cleanup.bat` 清除证书、程序、快捷方式

### 极域控制

- 支持不依赖`taskkill`、`ntsd`等工具杀掉极域。极域未运行时可启动极域，降权到登录用户（路径来自注册表）
- 显示极域存活状态：未运行/正常运行/已挂起/无响应 + PID + 版本号
- 解除极域网络限制（黑/白名单或直接禁用，2016版测试通过，可验证至2021版）
- 解除极域U盘限制，两种方式（软解禁 / 硬解禁）
- 窗口化/全屏化极域广播（悬浮窗右键菜单或中键一键操作）
- 挂起（冻结）/恢复极域
- 退出黑屏安静：4 级递进（隐藏 → 最小化 → ESC → 确认杀进程）
- 解鼠标限制、键盘锁（启动默认开启）
- 防止截屏（Win7+），防止教师端看到本程序

### 学生机房管理助手控制

- 支持关闭 v6.8 ~ v12.99 版本的学生机房管理助手
- 计算 v9.x ~ v12.0 临时密码（动态密码计算器）
- 一键解禁系统程序：CMD、注册表编辑器、任务管理器、浏览器下载限制、小游戏等
- 重启资源管理器（explorer.exe）

### 通用功能

- 内置 MeltdownDFC、crdisk 两个解除硬盘保护的工具
- 快捷键：
  - <kbd>Alt</kbd>+双击<kbd>C</kbd> — 强制结束当前程序
  - <kbd>Alt</kbd>+<kbd>B</kbd> — 唤起主界面
  - <kbd>Alt</kbd>+<kbd>W</kbd> — 最小化当前窗口
- 支持超级置顶（UIAccess），覆盖任务管理器和放大镜
- 托盘图标常驻，最小化不占任务栏

---

## 使用教程

发行版提供两个版本，根据需求选择：

### 便携版

下载 `MythwareToolkit_Portable.exe`，**双击运行**即可。

- ✅ 免安装、免签名，U 盘即插即用
- ✅ 悬浮窗 + 完整功能
- ⚠️ 不能覆盖任务管理器（普通置顶）

### 超级置顶版（可覆盖任务管理器）

> 下载的文件包应包含：`MythwareToolkit.exe` + `deploy.bat` + `mythware.cer`
> ⚠️如果双击 `MythwareToolkit.exe` 可直接打开
> ⚠️则不需要下列几个步骤

**1. 首先**，双击 `deploy.bat` 。它会自动：

- 安装证书到系统受信任根
- 复制 `MythwareToolkit.exe` 到 `C:\Program Files\MythwareToolkit\`
- 创建桌面快捷方式

**2. 之后**从桌面快捷方式启动即可。

> **为什么必须用 deploy.bat？** UIAccess 是 Windows 安全机制：exe 必须已签名、证书必须受信任、**且 exe 必须在 `C:\Program Files\` 下**。放桌面或别处会一直弹窗，即使装了证书也没用。`deploy.bat` 一步搞定这三个条件。

> 证书在非自动恢复机器上只需装一次（正常机房）

### 两个版本怎么选

| | 便携版 | 超级置顶版 |
|------|--------|-----------|
| 怎么用 | 双击运行 | 双击运行（弹窗则装证书） |
| 覆盖任务管理器 | ❌ | ✅ |
| 覆盖放大镜 | ❌ | ✅ |
| 证书 | 不需要 | 装一次 |
| 位置 | 放哪都行 | 任意位置 |
| 推荐场景 | 日常使用 | 教师端特别严格的环境 |


---

## 附录

<details>

### 界面看不见 / 主面板是一块黑的？（远程或截屏里）

这是**「防止截屏」在正常工作**：勾选它之后，主面板、悬浮球、弹出菜单、对话框会在**任何截屏 / 远程 / 镜像画面**里变成黑色或直接消失（教师端监控同样看不到），人直接看显示器时一切正常。

> v2.1.4 起该功能**默认关闭**，所以正常情况下远程也能看见界面。只有你勾选了「防止截屏」、或用 `-cap` 启动时才会隐藏。

- 用**远程桌面 / 向日葵 / ToDesk** 操作时，想临时全部可见（本次运行）：

```bat
MythwareToolkit.exe -nocap
```

- **实例卡住、任务管理器"结束任务"被拒绝**（防杀进程在起作用）：

```bat
MythwareToolkit.exe -unprotect
```

执行后即可用任务管理器结束它们。


### 防止教师端强制关机

删除极域目录下的 `Shutdown.exe` 即可。

### 命令行解除极域U盘限制

CMD：
```powershell
sc stop TDFileFilter
sc delete TDFileFilter
```

PowerShell（CMD被禁用时）：
```powershell
cd C:\Windows\System32\
.\sc.exe stop TDFileFilter
.\sc.exe delete TDFileFilter
```

### 学生机房管理助手的软件黑名单（v10.1）

进程名包含这些词就会蓝屏（加粗的匹配进程名+窗口名）：

vmware、VirtualBox、Virtual PC、**虚拟机**、**电子教室**、ProcView、IceSword、Procmast.exe、**toolkit_32-bits.exe**、rstray.exe、PFW.exe、FTCleaner.exe、Wsyscheck.exe、XueTr.exe、prom.exe、ProcessX.exe、pchunter、**Killer.exe**、procmgr.exe、ProcessHacker.exe、killcontrol、PowerTool32.exe、360taskmgr、YtWinAst、KVFWMain.exe、ECQ-PS.exe、SnipeSword、procexp、**MsgFlood.exe**、ProcessOVER、procdeal、**多桌面**、**任务管理**、**进程**、Prayaya、dexpot.exe、vdeskman.exe、mdesk.exe、**virtualdesk**、multideskt.exe、VirDsk.exe、IDesktop.exe、YtMDesk.exe、coon.exe、zmqh.exe、DexpotProPortable.exe、Desktops.exe、wisedesktop.exe、DESKTOP.exe、Vdesktop.exe、MagicDesktop.exe、multidesktop.exe、**weRs0cqa**（蓝屏时还会自动杀掉该名进程）、RegWX64.exe、QQPCNetFlow.exe、BDMANetLimiter.exe、netmon.exe、360netman.exe、HelloTeacher.exe、EHacker.exe、PowerTool64.exe、zydesk.exe、perfmon.exe、**吾爱破解**、**极域**、prcview.exe、processlasso.exe、netfuke.exe、**去除控制**、**课堂狂欢器**、**课堂工具**、fuckmythware、SpecialSet.exe、JiYuTrainer.exe、skieskiller、WindowsKernelExplorer.exe、msconfig.exe、iu杀毒、**窗口拓印**

此外任务管理器会触发独特的锁定蓝屏界面。

### 助手临时密码算法（v9.x ~ v12.0）

1. 10.0 前：首位为 8，后面为 `16 × (年 × 91 + 月 × 13 + 日 × 57)`
2. 10.0 ~ 11.0：上面结果 +11
3. 11.0 ~ 11.06 首个发布版：`年 × 789 + 月 × 123 + 日 × 456 + 111`
4. 11.06 第三版 ~ 12.0：`(月 × 159 + 日 × 357 + 计算机名末位 ASCII × 258)` 转 7 进制

使用本程序的"动态密码计算器"可直接计算。

### 在线生成机房助手密文（v7.2 ~ v9.98）

访问 [try.dot.net](https://try.dot.net/)，运行以下 C# 代码，将输出写入注册表 `HKEY_CURRENT_USER\Software:n`（REG_SZ），机房助手密码立即更改：

```csharp
using System;
using System.Security.Cryptography;
using System.Text;
using System.IO;

public class Program
{
    public static void Main()
    {
        string string_3 = "12345678"; // 改成你的密码
        string value = "C:\\WINDOWS";
        string s = value.Substring(0, 8);
        string s2 = value.Substring(1, 8);
        DESCryptoServiceProvider desc = new DESCryptoServiceProvider();
        desc.Key = Encoding.UTF8.GetBytes(s);
        desc.IV = Encoding.UTF8.GetBytes(s2);
        MemoryStream ms = new MemoryStream();
        CryptoStream cs = new CryptoStream(ms, desc.CreateEncryptor(), CryptoStreamMode.Write);
        StreamWriter sw = new StreamWriter(cs);
        sw.Write(string_3); sw.Flush(); cs.FlushFinalBlock(); ms.Flush();
        string enc = Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < enc.Length; i++) sb.Append((char)(enc[i] - 10));
        MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
        byte[] hash = md5.ComputeHash(Encoding.Default.GetBytes(sb.ToString()));
        sb.Clear();
        for (int i = 0; i < hash.Length; i++) sb.Append(hash[i].ToString("x2"));
        Console.WriteLine(sb.ToString().Substring(10));
    }
}
// 期望输出：8a29cc29f5951530ac69f4（v9.99 以上为 8a29cc29f5951530ac69）
```

### 重要提醒

若出现"从服务器返回了一个参照"弹窗，说明 EXE 未签名或证书未安装。运行 `scripts\sign.bat` 一步解决。或手动导入 `cert\RootCA.reg`（原版证书）/ `cert\mythware.cer`（本版证书）。详见 `cert\从服务器返回一个参数解决方法.txt`。机房环境建议关闭 UAC。

</details>
