
@echo off
setlocal enabledelayedexpansion
:: ======================================================================================
:: | Windows 系统工具箱 (V25)
:: |
:: | 版本：V25.0.22
:: | 核心功能：系统诊断、网络管理, 文件操作, 权限提升等。
:: |
:: | 修复和新增说明：
:: |   - [12] 网络测试目标由 Google 修正为 Baidu。
:: |   - [Y] 彩蛋菜单已隐藏，但通过输入 Y 仍可进入。
:: |   - [4A] 硬件驱动问题报告 (V25.0.17)。
:: |   - [4B] 高级服务管理 (V25.0.18)。
:: |   - [54/55] DiskPart 和 NTFS 权限备份/恢复 (V25.0.19)。
:: |   - [65/66] 远程注册表查询和休眠控制 (V25.0.17)。
:: |   - [74/75] 计划任务管理和命令行操作 (V25.0.18)。
:: |   - [B5/B6] 网卡接口控制和共享会话检查 (V25.0.19)。
:: |   - [26] 强制删除锁定/系统文件 (V25.0.20 - DLL 增强)。
:: |   - [SP] 彻底卸载工具箱 (V25.0.21)。
:: |   - [J] 集成OKShare (V25.0.22)。
:: ======================================================================================
mode con cols=90 lines=45

:: --------------------------------------------------------------------------------------
:: 1. 权限检查和UAC提升部分
:: --------------------------------------------------------------------------------------

:: 检查是否已具有管理员权限 (S-1-5-32-544 是管理员组的SID)
whoami /groups | find "S-1-5-32-544" > nul
if %errorlevel% neq 0 (
    echo 正在请求管理员权限...
    goto :RunAsAdmin
)

:: --------------------------------------------------------------------------------------
:: 2. 脚本主体和强制启动逻辑
:: --------------------------------------------------------------------------------------

title Windows 系统工具箱 - V25.0.22 2025-10-02 (By: 冰月灵狐)
color 09 :: 主菜单颜色：黑色背景，亮蓝色文字

:MENU
cls
:: 强制设置CMD为中文代码页，防止显示乱码
chcp 936 > nul
title Windows 系统工具箱 - V25.0.22 2025-10-02 (By: 冰月灵狐)
echo.
echo ======================================================================================
echo                                Windows 系统工具箱 V25
echo ======================================================================================
echo.
echo [1] 系统和网络工具               [6] 系统配置和注册表
echo [2] 文件操作和清理               [7] 用户账户管理
echo [3] 系统信息和快照               [8] 注册表高级安全操作 (IFEO)
echo [4] 系统诊断和维护               [9] 获取 SYSTEM 权限 (需 PsExec.exe)
echo [5] 驱动器和磁盘管理             [A] 二进制和高级文件操作
echo [B] 高级网络和安全               [J] 局域网共享一键修复（OKShare）
echo [C] 代码签名工具 (需 Signtool.exe 等)
echo [D] 部署工具箱官网 (127.0.0.1:1313，要python3.12)
echo [SP] 彻底卸载工具箱
echo.
echo [0] 退出工具箱
echo.
echo ======================================================================================
set /p CHOICE="请输入选项编号 (0-9, A, B, C, D, Y): "

:: 优化：将输入转换为大写，提高容错性
set "CHOICE_UPPER=!CHOICE!"
set "CHOICE_UPPER=!CHOICE_UPPER:a=A!"
set "CHOICE_UPPER=!CHOICE_UPPER:b=B!"
set "CHOICE_UPPER=!CHOICE_UPPER:c=C!"
set "CHOICE_UPPER=!CHOICE_UPPER:d=D!"
set "CHOICE_UPPER=!CHOICE_UPPER:x=X!"
set "CHOICE_UPPER=!CHOICE_UPPER:s=S!"
set "CHOICE_UPPER=!CHOICE_UPPER:y=Y!"
set "CHOICE_UPPER=!CHOICE_UPPER:sp=SP!"
set "CHOICE_UPPER=!CHOICE_UPPER:j=J!"
set "CHOICE_UPPER=!CHOICE_UPPER:awa=AWA!"

if /i "!CHOICE_UPPER!"=="1" goto SYSTEM_NET
if /i "!CHOICE_UPPER!"=="2" goto FILE_OPS
if /i "!CHOICE_UPPER!"=="3" goto SYSTEM_SNAPSHOT
if /i "!CHOICE_UPPER!"=="4" goto DIAGNOSTICS
if /i "!CHOICE_UPPER!"=="5" goto DISK_OPS
if /i "!CHOICE_UPPER!"=="6" goto REGISTRY_OPS
if /i "!CHOICE_UPPER!"=="7" goto USER_MGMT
if /i "!CHOICE_UPPER!"=="8" (color 09 & goto IFEO_OPS)
if /i "!CHOICE_UPPER!"=="9" (color 09 & goto GET_SYSTEM_AUTH)
if /i "!CHOICE_UPPER!"=="A" goto BINARY_OPS
if /i "!CHOICE_UPPER!"=="B" goto ADV_NETWORK_SECURITY
if /i "!CHOICE_UPPER!"=="C" goto CODE_SIGNATURE_OPS
if /i "!CHOICE_UPPER!"=="D" goto DEPLOY_WEBSITE
if /i "!CHOICE_UPPER!"=="X" goto DANGEROUS_OPS :: X 仍是隐藏的特殊菜单
if /i "!CHOICE_UPPER!"=="S" goto CRASH_TEST_PROTOCOL :: S 仍是隐藏的特殊菜单
if /i "!CHOICE_UPPER!"=="Y" goto EASTER_EGGS :: Y 仍可秘密进入彩蛋
if /i "!CHOICE_UPPER!"=="SP" goto UNINSTALL_TOOLBOX
if /i "!CHOICE_UPPER!"=="J" goto OKSHARE_BBS
if /i "!CHOICE_UPPER!"=="AWA" goto AWA_EGAO
if /i "!CHOICE_UPPER!"=="0" goto CLEANUP_EXIT

:: 无效输入处理
echo.
echo [警告] 输入无效，请重新输入!
pause
goto MENU


:: --------------------------------------------------------------------------------------
:: 3. 系统信息和快照
:: --------------------------------------------------------------------------------------

:SYSTEM_SNAPSHOT
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                 系统信息和快照
echo ======================================================================================
echo.
echo [31] 导出系统关键信息 (系统配置、网络、进程)
echo [32] 查看驱动程序列表 (driverquery)
echo [33] 启动进程和程序管理
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="31" goto EXPORT_SNAPSHOT
if /i "!choice!"=="32" (driverquery & pause)
if /i "!choice!"=="33" goto QUICK_LAUNCH
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto SYSTEM_SNAPSHOT


:EXPORT_SNAPSHOT
cls
chcp 936 > nul
echo.
echo ============================= 导出系统快照 =============================
echo.
set "timestamp=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%"
set "timestamp=%timestamp: =0%"
set "output_file=SystemSnapshot_!timestamp!.txt"

echo [提示] 正在导出信息到文件: !output_file!
echo.
echo ========================= 系统快照报告 - !timestamp! ========================= > "!output_file!"
systeminfo >> "!output_file!"
echo. >> "!output_file!"
echo ========================= 完整的网络配置 (ipconfig /all) ========================= >> "!output_file!"
ipconfig /all >> "!output_file!"
echo. >> "!output_file!"
echo ========================= 运行的进程列表 (tasklist) ========================= >> "!output_file!"
tasklist >> "!output_file!"

echo.
echo [成功] 系统快照已保存到: !output_file!
pause
goto SYSTEM_SNAPSHOT


:QUICK_LAUNCH
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                 进程和程序管理
echo ======================================================================================
echo.
echo [31] 启动注册表编辑器 (regedit)
echo [32] 启动服务管理 (services.msc)
echo [33] 启动计算机管理 (compmgmt.msc)
echo [34] 启动本地安全策略 (secpol.msc)
echo [35] 查看所有运行进程 (tasklist)
echo [36] **结束指定进程 (taskkill)**
echo [37] **创建新进程/运行程序**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="31" (start regedit)
if /i "!choice!"=="32" (start services.msc)
if /i "!choice!"=="33" (start compmgmt.msc)
if /i "!choice!"=="34" (start secpol.msc)
if /i "!choice!"=="35" (tasklist & pause)
if /i "!choice!"=="36" goto END_PROCESS
if /i "!choice!"=="37" goto START_PROCESS
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto QUICK_LAUNCH


:END_PROCESS
cls
chcp 936 > nul
echo.
echo ============================= 结束指定进程 =============================
echo.
echo **模式：[1] 按进程名称结束 (例如：notepad.exe)**
echo **模式：[2] 按进程ID (PID) 结束 (需要先用 [35] 查看)**
echo.
set /p KILL_MODE="请输入结束模式编号 (1/2): "

if /i "!KILL_MODE!"=="1" (
    set /p process_name="请输入要结束的进程名 (例如: chrome.exe): "
    taskkill /im "!process_name!" /f /t
    echo 进程结束命令已执行: taskkill /im "!process_name!" /f /t
) else if /i "!KILL_MODE!"=="2" (
    set /p process_pid="请输入要结束的进程PID: "
    taskkill /pid "!process_pid!" /f /t
    echo 进程结束命令已执行: taskkill /pid "!process_pid!" /f /t
) else (
    echo 模式选择无效，返回菜单。
)
echo.
pause
goto QUICK_LAUNCH


:START_PROCESS
cls
chcp 936 > nul
echo.
echo ============================= 创建新进程/运行程序 =============================
echo.
set /p PROGRAM_PATH="请输入要运行的程序路径 (例如: C:\Program Files\App\app.exe 或 cmd): "
set /p RUN_MODE="是否以新窗口启动  (Y/N): "

if /i "!RUN_MODE!"=="Y" (
    start "" "!PROGRAM_PATH!"
    echo 程序 "!PROGRAM_PATH!" 已尝试在新窗口中启动。
) else (
    "!PROGRAM_PATH!"
    echo 程序 "!PROGRAM_PATH!" 已尝试启动。
)

echo.
pause
goto QUICK_LAUNCH


:: --------------------------------------------------------------------------------------
:: 4. 系统和网络工具
:: --------------------------------------------------------------------------------------
:SYSTEM_NET
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                   系统和网络工具
echo ======================================================================================
echo.
echo [11] 查看 IP 配置 (ipconfig /all)
echo [12] 检查网络连通性 (Ping 百度) **(已修正)**
echo [13] 清理 DNS 缓存 (ipconfig /flushdns)
echo [14] 启动任务管理器 (taskmgr)
echo [15] 打开系统配置 (msconfig)
echo [16] 查看系统信息 (systeminfo)
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="11" (ipconfig /all & pause)
if /i "!choice!"=="12" (ping www.baidu.com -n 5 & pause)
if /i "!choice!"=="13" (ipconfig /flushdns & echo DNS 缓存已清除！ & pause)
if /i "!choice!"=="14" (start taskmgr)
if /i "!choice!"=="15" (start msconfig)
if /i "!choice!"=="16" (systeminfo & pause)
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto SYSTEM_NET


:: --------------------------------------------------------------------------------------
:: 5. 文件操作和清理
:: --------------------------------------------------------------------------------------
:FILE_OPS
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                   文件操作和清理
echo ======================================================================================
echo.
echo [21] 清理临时文件 (Temp/Prefetch)
echo [22] 隐藏/显示文件属性 (attrib +h / -h)
echo [23] 创建指定大小的测试文件 (fsutil)
echo [24] 删除文件 (普通/强制)
echo [25] **文件哈希校验 (MD5/SHA1)**
echo [26] **强制删除锁定/系统文件 (DLL 增强)**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="21" (
    echo 正在清理系统临时文件...
    del /f /s /q "%TEMP%\*.*"
    del /f /s /q "%SystemRoot%\Temp\*.*"
    del /f /s /q "%SystemRoot%\Prefetch\*.pf"
    echo 清理完成！
    pause
)

if /i "!choice!"=="22" goto ATTRIB_MENU
if /i "!choice!"=="23" goto CREATE_LARGE_FILE
if /i "!choice!"=="24" goto DELETE_FILE_MENU
if /i "!choice!"=="25" goto HASH_CHECK
if /i "!choice!"=="26" goto FORCE_DELETE_DLL_ENHANCED
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto FILE_OPS


:ATTRIB_MENU
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                文件属性操作
echo ======================================================================================
echo.
echo [221] 隐藏指定文件/文件夹 (attrib +h "文件/夹路径")
echo [222] 显示指定文件/文件夹 (attrib -h "文件/夹路径")
echo [223] 返回文件操作菜单
echo.
set /p ATTRIB_CHOICE="请输入选项编号: "

if /i "!ATTRIB_CHOICE!"=="221" (
    set /p file_path="请输入要隐藏的文件或文件夹的完整路径 (支持空格，请确保路径正确): "
    attrib +h "!file_path!"
    echo 已尝试隐藏 "!file_path!"
    pause
)
if /i "!ATTRIB_CHOICE!"=="222" (
    set /p file_path="请输入要显示的文件或文件夹的完整路径 (支持空格，请确保路径正确): "
    attrib -h "!file_path!"
    echo 已尝试显示 "!file_path!"
    pause
)
if /i "!ATTRIB_CHOICE!"=="223" goto FILE_OPS
echo.
echo [警告] 输入无效，请重新输入!
pause
goto ATTRIB_MENU


:CREATE_LARGE_FILE
cls
chcp 936 > nul
echo.
echo ============================= 创建指定大小的测试文件 =============================
echo.
echo **注意：文件大小以 MB 为单位，请确保目标磁盘有足够空间。**
echo.
set /p FILE_PATH="请输入要创建的文件完整路径 (例如: D:\test.dat): "
set /p FILE_SIZE_MB="请输入文件大小 (MB): "

set /a file_size_bytes = FILE_SIZE_MB * 1024 * 1024

echo 正在创建大小为 %FILE_SIZE_MB%MB 的文件...
fsutil file createnew "!FILE_PATH!" !file_size_bytes!

if errorlevel 0 (
    echo.
    echo [成功] 文件 "!FILE_PATH!" 已创建成功。
) else (
    echo.
    echo [失败] 错误：文件创建失败。请检查路径、权限或磁盘空间。
)

pause
goto FILE_OPS


:DELETE_FILE_MENU
cls
chcp 936 > nul
echo.
echo ============================= 删除文件操作 =============================
echo.
set /p DELETE_PATH="请输入要删除的文件完整路径 (支持通配符 *): "

echo.
echo 请选择删除模式：
echo [1] **普通删除** (默认模式)
echo [2] **强制删除** (del /f /a /q)
echo.
set /p DELETE_MODE="请输入删除模式编号 (1/2): "

if /i "!DELETE_MODE!"=="1" (
    del "!DELETE_PATH!"
    echo 普通删除命令已执行。
) else if /i "!DELETE_MODE!"=="2" (
    del /f /a /q "!DELETE_PATH!"
    echo 强制删除命令已执行。
) else (
    echo 模式选择无效，执行普通删除。
    del "!DELETE_PATH!"
)

echo.
if errorlevel 0 (
    echo 文件删除操作完成。
) else (
    echo [失败] 文件删除操作可能失败。请检查路径或权限。
)
pause
goto FILE_OPS


:HASH_CHECK
cls
chcp 936 > nul
echo.
echo ============================= 25: 文件哈希校验 =============================
echo.
set /p FILE_PATH="请输入要校验的文件完整路径: "

if not exist "!FILE_PATH!" (
    echo [失败] 错误：文件 "!FILE_PATH!" 不存在。
    pause
    goto HASH_CHECK
)

echo.
echo 正在计算文件哈希值 (MD5)...
certutil -hashfile "!FILE_PATH!" MD5
echo.
echo 正在计算文件哈希值 (SHA1)...
certutil -hashfile "!FILE_PATH!" SHA1
echo.

pause
goto FILE_OPS


:FORCE_DELETE_DLL_ENHANCED
cls
chcp 936 > nul
echo.
echo ============================= 26: 强制删除锁定/系统文件 (DLL/VBS 增强) =============================
echo.
echo **注意：此功能依赖 DLL_Caller.vbs 和 SysToolsCore.dll 文件，请确保它们在同一目录。**
echo.
set /p DELETE_PATH="请输入要删除的**锁定或顽固文件**的完整路径: "

if not exist "!DELETE_PATH!" (
    echo [失败] 错误：文件 "!DELETE_PATH!" 不存在。
    pause
    goto FILE_OPS
)

echo.
echo 正在调用增强模块尝试强制删除: "!DELETE_PATH!"
echo.

set "VBS_FILE=DLL_Caller.vbs"
set "RESULT_FILE=%TEMP%\dll_result.txt"

:: 调用 VBScript 驱动程序
cscript //nologo "!VBS_FILE!" "!DELETE_PATH!"

:: 读取 VBScript 返回的执行结果
if exist "!RESULT_FILE!" (
    for /f "tokens=*" %%a in ('type "!RESULT_FILE!"') do set "RESULT_CODE=%%a"
    del "!RESULT_FILE!" >nul 2>&1
) else (
    set "RESULT_CODE=999"
)

echo.
if "!RESULT_CODE!"=="0" (
    echo [成功] 文件已强制删除。
) else if "!RESULT_CODE!"=="1" (
    echo [失败] 错误码 1。DLL 参数无效。
) else if "!RESULT_CODE!"=="2" (
    echo [失败] 错误码 2。未找到 SysToolsCore.dll (VBScript 提示)。
) else if "!RESULT_CODE!"=="3" (
    echo [失败] 错误码 3。无法移除文件的属性。
) else (
    echo [失败] 文件删除失败。VBS/Win32 错误码: !RESULT_CODE!
)

pause
goto FILE_OPS


:: --------------------------------------------------------------------------------------
:: 6. 系统诊断和维护
:: --------------------------------------------------------------------------------------
:DIAGNOSTICS
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                 系统诊断和维护
echo ======================================================================================
echo.
echo [41] 检查并修复系统文件 (SFC /SCANNOW)
echo [42] 检查硬盘错误 (chkdsk C:)
echo [43] 显示所有活动的网络连接和端口 (netstat -ano)
echo [46] 查找占用指定端口的进程
echo [47] 查看系统错误和警告日志
echo [48] 分析和清理 WinSxS 组件存储
echo [49] 快速系统性能优化 (一键组合)
echo [4A] **硬件驱动问题报告 (非微软驱动)**
echo [4B] **高级服务管理 (SC)**
echo [44] 快速关机 (shutdown /s /t 0)
echo [45] 快速重启 (shutdown /r /t 0)
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="41" (
    echo 正在运行系统文件检查器，这可能需要几分钟...
    sfc /scannow
    pause
)
if /i "!choice!"=="42" (
    echo 正在检查 C 盘，错误会在下次重启时修复。
    chkdsk C:
    pause
)
if /i "!choice!"=="43" (netstat -ano & pause)
if /i "!choice!"=="46" goto FIND_PORT
if /i "!choice!"=="47" goto VIEW_EVENT_LOG
if /i "!choice!"=="48" goto WINSXS_CLEANUP
if /i "!choice!"=="49" goto QUICK_OPTIMIZATION
if /i "!choice!"=="4A" goto DRIVER_REPORT
if /i "!choice!"=="4B" goto SERVICE_MANAGEMENT
if /i "!choice!"=="44" (shutdown /s /t 0 & goto CLEANUP_EXIT)
if /i "!choice!"=="45" (shutdown /r /t 0 & goto CLEANUP_EXIT)
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto DIAGNOSTICS


:FIND_PORT
cls
chcp 936 > nul
echo.
echo ============================= 查找端口占用 =============================
echo.
set /p PORT_NUM="请输入要查找的端口号 (例如: 80, 443, 3389): "

echo.
echo 正在查找占用端口 "!PORT_NUM!" 的进程...
echo.
netstat -ano | findstr ":!PORT_NUM!"

echo.
echo 结果格式: 协议  本地地址:端口  外部地址:端口  状态  PID
echo.
pause
goto DIAGNOSTICS


:VIEW_EVENT_LOG
cls
chcp 936 > nul
echo.
echo ============================= 查看系统错误和警告日志 =============================
echo.
echo 正在提取最近 50 条系统和应用程序日志中的错误和警告事件...
echo.

:: 提取系统事件 (System Log) 中的错误和警告
echo --- 系统事件 (System Log) ---
wevtutil qe System /c:50 /f:text /rd:true /q:"*[System[(Level=2 or Level=3)]]" | findstr /i /c:"事件 ID" /c:"日志名称" /c:"源" /c:"级别" /c:"日期" /c:"错误" /c:"警告" /c:"EventID" /c:"Level" /c:"TimeCreated"

:: 提取应用程序事件 (Application Log) 中的错误和警告
echo.
echo --- 应用程序事件 (Application Log) ---
wevtutil qe Application /c:50 /f:text /rd:true /q:"*[System[(Level=2 or Level=3)]]" | findstr /i /c:"事件 ID" /c:"日志名称" /c:"源" /c:"级别" /c:"日期" /c:"时间" /c:"错误" /c:"警告" /c:"EventID" /c:"Level" /c:"TimeCreated"

echo.
echo 仅显示最近的错误/警告事件，用于快速诊断。
echo.
pause
goto DIAGNOSTICS


:WINSXS_CLEANUP
cls
chcp 936 > nul
echo.
echo ============================= 分析和清理 WinSxS 组件存储 =============================
echo.
echo [提示] WinSxS 文件夹通常占用大量空间，通过 DISM 命令可以安全地清理。
echo.
echo [481] **分析** WinSxS 存储组件 (查看是否需要清理)
echo [482] **清理** WinSxS 存储组件 (释放空间)
echo [99] 返回上一级
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="481" (
    echo 正在进行组件存储分析 (这可能需要几分钟)...
    Dism /Online /Cleanup-Image /AnalyzeComponentStore
    pause
) else if /i "!choice!"=="482" (
    echo 正在进行组件存储清理 (此操作较慢)...
    Dism /Online /Cleanup-Image /StartComponentCleanup
    echo.
    echo [成功] 清理命令已执行。
    pause
) else if /i "!choice!"=="99" goto DIAGNOSTICS

goto WINSXS_CLEANUP


:QUICK_OPTIMIZATION
cls
chcp 936 > nul
echo.
echo ============================= 49: 快速系统性能优化 =============================
echo.
echo [1/3] **正在清理 DNS 缓存...**
ipconfig /flushdns
echo DNS 缓存清理完成。
echo.

echo [2/3] **正在清理临时文件...**
del /f /s /q "%TEMP%\*.*" >nul 2>&1
echo 临时文件清理完成。
echo.

echo [3/3] **正在对 C 盘进行碎片整理...**
defrag C: /U /V
echo 碎片整理完成。
echo.

echo [成功] **一键系统优化已完成！**
pause
goto DIAGNOSTICS


:DRIVER_REPORT
cls
chcp 936 > nul
echo.
echo ============================= 4A: 硬件驱动问题报告 (非微软驱动) =============================
echo.
echo **功能：列出所有**非 Microsoft 签名**的第三方驱动程序，便于诊断冲突或兼容性问题。**
echo.
echo 正在扫描驱动程序... 请稍候。
echo.

:: 使用 pnputil 列出所有驱动，并过滤掉 "Microsoft" 的结果
pnputil /enum-drivers | findstr /i /v "Microsoft"
echo.
echo 报告已完成。列表中的驱动程序可能是潜在的第三方冲突源。
pause
goto DIAGNOSTICS


:SERVICE_MANAGEMENT
cls
chcp 936 > nul
echo.
echo ============================= 4B: 高级服务管理 (SC) =============================
echo.
echo [4B1] **查看** 所有服务状态 (sc query state= all)
echo [4B2] **停止** 指定服务 (sc stop)
echo [4B3] **启动** 指定服务 (sc start)
echo [4B4] **禁用** 指定服务 (sc config start= disabled)
echo [4B5] **设置为自动启动** (sc config start= auto)
echo [99] 返回上一级
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="4B1" (sc query state= all | findstr /i "SERVICE_NAME DISPLAY_NAME STATE" & pause)
if /i "!choice!"=="4B2" (
    set /p svc_name="请输入要**停止**的服务名 (Service Name): "
    sc stop "!svc_name!"
    pause
)
if /i "!choice!"=="4B3" (
    set /p svc_name="请输入要**启动**的服务名 (Service Name): "
    sc start "!svc_name!"
    pause
)
if /i "!choice!"=="4B4" (
    set /p svc_name="请输入要**禁用**的服务名 (Service Name): "
    sc config "!svc_name!" start= disabled
    pause
)
if /i "!choice!"=="4B5" (
    set /p svc_name="请输入要设置为**自动启动**的服务名 (Service Name): "
    sc config "!svc_name!" start= auto
    pause
)
if /i "!choice!"=="99" goto DIAGNOSTICS
goto SERVICE_MANAGEMENT


:: --------------------------------------------------------------------------------------
:: 7. 驱动器和磁盘管理
:: --------------------------------------------------------------------------------------
:DISK_OPS
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                驱动器和磁盘管理
echo ======================================================================================
echo.
echo [51] 查看驱动器使用情况 (wmic logicaldisk get Caption,Size,Freespace)
echo [52] C 盘碎片整理 (defrag C: /U /V)
echo [53] 启动磁盘管理工具 (diskmgmt.msc)
echo [54] **启动 DiskPart 脚本 (高级分区)**
echo [55] **NTFS 权限备份/恢复 (icacls)**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="51" (wmic logicaldisk get Caption,Size,Freespace & pause)
if /i "!choice!"=="52" (
    echo 正在对 C 盘进行碎片整理...
    defrag C: /U /V
    pause
)
if /i "!choice!"=="53" (start diskmgmt.msc)
if /i "!choice!"=="54" goto DISKPART_SCRIPT
if /i "!choice!"=="55" goto NTFS_PERMISSIONS_OPS
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto DISK_OPS


:DISKPART_SCRIPT
cls
chcp 936 > nul
echo.
echo ============================= 54: 启动 DiskPart 脚本 =============================
echo.
echo **警告：DiskPart 操作具有高风险性，可能导致数据丢失。**
echo.
echo [1] **启动 DiskPart 命令行** (交互式模式)
echo [2] **运行指定 DiskPart 脚本文件** (非交互式)
echo [99] 返回上一级
echo.
set /p DP_CHOICE="请输入选项编号: "

if /i "!DP_CHOICE!"=="1" (
    diskpart
    echo.
    echo DiskPart 已退出。
    pause
) else if /i "!DP_CHOICE!"=="2" (
    set /p SCRIPT_PATH="请输入 DiskPart 脚本文件的完整路径 (*.txt 或 *.scr): "
    if exist "!SCRIPT_PATH!" (
        diskpart /s "!SCRIPT_PATH!"
        echo.
        echo DiskPart 脚本运行完成。
    ) else (
        echo [失败] 错误：未找到指定的脚本文件。
    )
    pause
) else if /i "!DP_CHOICE!"=="99" goto DISK_OPS
goto DISKPART_SCRIPT


:NTFS_PERMISSIONS_OPS
cls
chcp 936 > nul
echo.
echo ============================= 55: NTFS 权限备份/恢复 (icacls) =============================
echo.
echo [1] **备份** 文件夹 NTFS 权限到文件
echo [2] **恢复** 文件夹 NTFS 权限自文件
echo [99] 返回上一级
echo.
set /p ACL_CHOICE="请输入选项编号: "

if /i "!ACL_CHOICE!"=="1" (
    set /p FOLDER_PATH="请输入要备份权限的文件夹路径: "
    set /p BACKUP_FILE="请输入备份文件的名称 (例如: perms_backup.txt): "
    
    if exist "!FOLDER_PATH!" (
        icacls "!FOLDER_PATH!" /save "!BACKUP_FILE!" /t /c
        echo.
        echo [成功] 权限已备份到: "!BACKUP_FILE!"
    ) else (
        echo [失败] 错误：未找到指定的文件夹。
    )
    pause
) else if /i "!ACL_CHOICE!"=="2" (
    set /p FOLDER_PATH_RESTORE="请输入要**恢复权限**的文件夹路径 (该文件夹必须存在): "
    set /p RESTORE_FILE="请输入备份文件 (例如: perms_backup.txt) 的路径: "

    if exist "!RESTORE_FILE!" (
        :: /T /C 必须在 /restore 前
        icacls "!FOLDER_PATH_RESTORE!" /restore "!RESTORE_FILE!" /t /c
        echo.
        echo [成功] 权限已从 "!RESTORE_FILE!" 恢复到指定文件夹。
    ) else (
        echo [失败] 错误：未找到备份文件。
    )
    pause
) else if /i "!ACL_CHOICE!"=="99" goto DISK_OPS
goto NTFS_PERMISSIONS_OPS


:: --------------------------------------------------------------------------------------
:: 8. 系统配置和注册表
:: --------------------------------------------------------------------------------------
:REGISTRY_OPS
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                 系统配置和注册表
echo ======================================================================================
echo.
echo [61] 创建系统还原点
echo [62] 备份注册表 (HKLM & HKCU)
echo [63] 检查Windows激活状态 (slmgr /xpr)
echo [64] 设置为高性能电源计划
echo [65] **远程注册表查询 (REG QUERY)**
echo [66] **启用/禁用休眠文件 (hiberfil.sys)**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="61" (
    set /p restore_name="请输入还原点名称: "
    wmic /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "!restore_name!", 100, 7
    echo.
    echo [成功] 还原点创建命令已执行。
    pause
)

if /i "!choice!"=="62" (
    set "timestamp=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%"
    set "timestamp=%timestamp: =0%"
    set "hklm_file=RegBackup_HKLM_!timestamp!.reg"
    set "hkcu_file=RegBackup_HKCU_!timestamp!.reg"

    echo 正在备份 HKLM 到 "!hklm_file!" ...
    reg export HKLM "!hklm_file!" /y

    echo 正在备份 HKCU 到 "!hkcu_file!" ...
    reg export HKCU "!hkcu_file!" /y

    if errorlevel 0 (
        echo.
        echo [成功] 注册表备份成功。备份文件已创建。
    ) else (
        echo.
        echo [失败] 注册表备份失败。请检查权限或磁盘空间。
    )
    pause
)
if /i "!choice!"=="63" (slmgr /xpr & pause)
if /i "!choice!"=="64" goto SET_HIGH_POWER_PLAN
if /i "!choice!"=="65" goto REMOTE_REG_QUERY
if /i "!choice!"=="66" goto HIBERNATION_TOGGLE
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto REGISTRY_OPS


:SET_HIGH_POWER_PLAN
cls
chcp 936 > nul
echo.
echo ============================= 设置为高性能电源计划 =============================
echo.
:: 高性能模式的 GUID 是 8c5e90a5-83e1-4dd8-9892-e781192e7651。
:: 仅执行激活命令，避免重复创建冗余方案。
powercfg /setactive 8c5e90a5-83e1-4dd8-9892-e781192e7651

if errorlevel 0 (
    echo.
    echo [成功] 已将电源计划设置为 **高性能模式** 并激活。
) else (
    echo.
    echo [失败] powercfg 命令执行失败。请检查权限。
)
powercfg /getactivescheme :: 显示当前激活的方案
pause
goto REGISTRY_OPS


:REMOTE_REG_QUERY
cls
chcp 936 > nul
echo.
echo ============================= 65: 远程注册表查询 =============================
echo.
set /p REMOTE_HOST="请输入**远程计算机名**或 **IP 地址**: "
set /p REG_PATH="请输入要查询的**注册表路径** (例如: HKLM\SOFTWARE\Microsoft\Windows): "

echo.
echo 正在查询远程注册表: \\!REMOTE_HOST!\!REG_PATH! ...
echo.

:: 使用 REG QUERY /S 远程查询
reg query "\\!REMOTE_HOST!\!REG_PATH!" /s

if errorlevel 0 (
    echo.
    echo [成功] 远程查询命令执行完成。
) else (
    echo.
    echo [失败] 远程查询失败。请检查：
    echo 1. 远程主机是否可达。
    echo 2. 您是否有远程注册表访问权限。
    echo 3. 远程主机的 'Remote Registry' 服务是否启动。
)
pause
goto REGISTRY_OPS


:HIBERNATION_TOGGLE
cls
chcp 936 > nul
echo.
echo ============================= 66: 启用/禁用休眠文件 (hiberfil.sys) =============================
echo.
echo [1] **禁用** 休眠功能 (彻底删除 hiberfil.sys，释放大量磁盘空间)
echo [2] **启用** 休眠功能 (重新创建 hiberfil.sys)
echo [99] 返回上一级
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="1" (
    powercfg /h off
    echo.
    echo [成功] 休眠功能已**禁用**。hiberfil.sys 文件已删除，空间已释放。
) else if /i "!choice!"=="2" (
    powercfg /h on
    echo.
    echo [成功] 休眠功能已**启用**。hiberfil.sys 文件已重新创建。
) else if /i "!choice!"=="99" goto REGISTRY_OPS

pause
goto REGISTRY_OPS


:: --------------------------------------------------------------------------------------
:: 9. 用户账户管理
:: --------------------------------------------------------------------------------------
:USER_MGMT
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                 用户账户管理
echo ======================================================================================
echo.
echo [71] 创建新用户账户
echo [72] 删除用户账户
echo [73] 查看当前用户列表
echo [74] **启动计划任务管理器 (taskschd.msc)**
echo [75] **命令行计划任务操作 (schtasks)**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="71" goto CREATE_USER
if /i "!choice!"=="72" goto DELETE_USER
if /i "!choice!"=="73" (net user & pause)
if /i "!choice!"=="74" (start taskschd.msc)
if /i "!choice!"=="75" goto SCHTASKS_MENU
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto USER_MGMT


:CREATE_USER
cls
chcp 936 > nul
echo.
echo ============================= 创建新用户账户 =============================
echo.
set /p USERNAME="请输入新账户的用户名: "
set /p PASSWORD="请输入新账户的密码 (留空则无密码): "

echo.
echo 请选择账户类型：
echo [1] **管理员 (Administrator)** - 拥有最高权限
echo [2] **标准用户 (User)** - 日常使用权限
echo [3] **来宾用户 (Guest)** - 仅有限的临时权限
echo.
set /p TYPE_CHOICE="请输入账户类型编号 (1/2/3): "

:: 1. 创建账户
net user "!USERNAME!" "!PASSWORD!" /add
if errorlevel 1 (
    echo [失败] 账户创建失败，请检查账户名是否重复。
    pause
    goto USER_MGMT
)
echo.
echo [成功] 账户 "!USERNAME!" 已成功创建。

:: 2. 设置权限
if /i "!TYPE_CHOICE!"=="1" (
    net localgroup Administrators "!USERNAME!" /add
    net localgroup Users "!USERNAME!" /delete
    echo 已设置为 **管理员** 账户。
) else if /i "!TYPE_CHOICE!"=="2" (
    net localgroup Administrators "!USERNAME!" /delete
    net localgroup Users "!USERNAME!" /add
    echo 已设置为 **标准用户** 账户。
) else if /i "!TYPE_CHOICE!"=="3" (
    net localgroup Guests "!USERNAME!" /add
    net localgroup Users "!USERNAME!" /delete
    echo 已设置为 **来宾用户** 账户。
) else (
    echo [警告] 类型选择无效，账户默认设置为 **标准用户**。
)

echo.
pause
goto USER_MGMT


:DELETE_USER
cls
chcp 936 > nul
echo.
echo ============================= 删除用户账户 =============================
echo.
net user
echo.
set /p USERNAME_DEL="请输入要删除的用户名: "

echo [警告] 此操作不可逆，将永久删除用户数据！
set /p CONFIRM="确认删除用户 "!USERNAME_DEL!" 吗？ (Y/N): "
if /i "!CONFIRM!"=="Y" (
    net user "!USERNAME_DEL!" /delete
    if errorlevel 0 (
        echo [成功] 用户 "!USERNAME_DEL!" 已成功删除。
    ) else (
        echo [失败] 删除失败，用户可能不存在。
    )
) else (
    echo 操作已取消。
)

echo.
pause
goto USER_MGMT


:SCHTASKS_MENU
cls
chcp 936 > nul
echo.
echo ============================= 75: 命令行计划任务操作 =============================
echo.
echo **注意：此操作使用 schtasks 命令进行高级自动化。**
echo.
echo [751] **查询** 所有计划任务 (schtasks /query)
echo [752] **创建** 一个简单的一次性任务 (schtasks /create)
echo [753] **删除** 指定的计划任务 (schtasks /delete)
echo [99] 返回上一级
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="751" (schtasks /query /v /fo list & pause)
if /i "!choice!"=="752" (
    set /p TASK_NAME="请输入任务名称: "
    set /p RUN_PROGRAM="请输入要运行的程序或命令完整路径: "
    set /p RUN_TIME="请输入任务执行时间 (HH:MM，例如 14:30): "
    
    :: 简单创建任务：运行一次，使用当前用户账户
    schtasks /create /tn "!TASK_NAME!" /tr "!RUN_PROGRAM!" /sc once /st "!RUN_TIME!" /ru "%USERNAME%" /rp
    pause
)
if /i "!choice!"=="753" (
    set /p TASK_DEL="请输入要**删除**的任务名称: "
    schtasks /delete /tn "!TASK_DEL!" /f
    pause
)
if /i "!choice!"=="99" goto USER_MGMT
goto SCHTASKS_MENU


:: --------------------------------------------------------------------------------------
:: 10. 二进制和高级文件操作
:: --------------------------------------------------------------------------------------
:BINARY_OPS
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                             二进制和高级文件操作
echo ======================================================================================
echo.
echo [A1] **二进制文件合并 (copy /b)**
echo [A2] **二进制/Hex转储查看 (certutil)**
echo [A3] **文件读写速度测试**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="A1" goto BINARY_MERGE
if /i "!choice!"=="A2" goto BINARY_DUMP
if /i "!choice!"=="A3" goto DISK_BENCHMARK
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto BINARY_OPS


:BINARY_MERGE
cls
chcp 936 > nul
echo.
echo ============================= 二进制文件合并 (copy /b) =============================
echo.
echo **原理：将多个文件按二进制模式连接在一起。**
echo.
set /p FILE1="请输入第一个文件路径 (例如：C:\base.jpg): "
set /p FILE2="请输入第二个文件路径 (例如：C:\data.zip): "
set /p OUTPUT_FILE="请输入合并后的输出文件路径 (例如：C:\output.jpg): "

if not exist "!FILE1!" (echo [失败] 错误：第一个文件不存在。& pause & goto BINARY_MERGE)
if not exist "!FILE2!" (echo [失败] 错误：第二个文件不存在。& pause & goto BINARY_MERGE)

echo.
echo 正在执行二进制合并...
copy /b "!FILE1!" + "!FILE2!" "!OUTPUT_FILE!"

if errorlevel 0 (
    echo.
    echo [成功] **成功！** 文件已合并到: "!OUTPUT_FILE!"
    echo.
    echo 合并文件大小:
    for %%F in ("!OUTPUT_FILE!") do echo 文件大小：%%~zF 字节
) else (
    echo.
    echo [失败] 错误：合并失败。请检查文件路径和权限。
)
pause
goto BINARY_OPS


:BINARY_DUMP
cls
chcp 936 > nul
echo.
echo ============================= 二进制/Hex转储查看 (certutil) =============================
echo.
echo **功能：将文件内容转换为十六进制格式，以便查看底层数据。**
echo.
set /p INPUT_FILE="请输入要查看的文件路径 (例如：C:\target.exe): "

set "output_file=HexDump_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt"
:: 清理时间字符串中的空格
set "output_file=%output_file: =0%"

if not exist "!INPUT_FILE!" (echo [失败] 错误：输入文件不存在。& pause & goto BINARY_DUMP)

echo.
echo 正在将文件转换为十六进制格式，输出到 **!output_file!**...
certutil -encodehex -f "!INPUT_FILE!" "!output_file!" 4

if errorlevel 0 (
    echo.
    echo [成功] **成功！** 十六进制转储已保存到: "!output_file!"
    echo 请使用记事本或专业文本编辑器打开查看。
) else (
    echo.
    echo [失败] 错误：转储失败。请检查文件路径和权限。
)
pause
goto BINARY_OPS


:DISK_BENCHMARK
cls
chcp 936 > nul
echo.
echo ============================= 文件读写速度测试 =============================
echo.
echo **注意：此功能通过创建大文件来粗略估计磁盘写入性能。**
echo **由于系统的时间精度限制，结果仅供参考。**
echo.
set /p TEST_DRIVE="请输入测试的盘符 (例如: C, D): "
set /p TEST_SIZE_MB="请输入测试文件大小 (MB, 推荐 1024 或更高): "

set "TEST_FILE=!TEST_DRIVE!:\disk_test_file.dat"
set /a TEST_SIZE_BYTES = TEST_SIZE_MB * 1024 * 1024

echo.

:: 1. 写入测试 (创建文件)
echo 正在进行写入速度测试 (创建文件: !TEST_FILE!)...
set START_TIME=!time!
fsutil file createnew "!TEST_FILE!" !TEST_SIZE_BYTES! >nul
set END_TIME=!time!

echo.
echo 写入操作完成。
echo 开始时间: !START_TIME!
echo 结束时间: !END_TIME!
echo **写入速度计算需要依赖 PowerShell/WMI 等更高级工具，请手动计算时间差。**

echo.

:: 2. 清理测试文件
echo 正在清理测试文件...
del /f /q "!TEST_FILE!"
echo 测试文件 "!TEST_FILE!" 已删除。

pause
goto BINARY_OPS


:: --------------------------------------------------------------------------------------
:: 11. 高级网络和安全
:: --------------------------------------------------------------------------------------

:ADV_NETWORK_SECURITY
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                 高级网络和安全
echo ======================================================================================
echo.
echo [B1] 配置端口转发 (PortProxy)
echo [B2] 查看本地路由表 (Route Print)
echo [B3] 快速禁用/启用 Windows 防火墙
echo [B4] 查看 ARP 缓存表 (arp -a)
echo [B5] **禁用/启用网卡接口 (netsh)**
echo [B6] **检查本地共享和会话 (net share)**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="B1" goto PORT_FORWARDING
if /i "!choice!"=="B2" (route print & pause)
if /i "!choice!"=="B3" goto FIREWALL_TOGGLE
if /i "!choice!"=="B4" (arp -a & pause)
if /i "!choice!"=="B5" goto NETWORK_ADAPTER_TOGGLE
if /i "!choice!"=="B6" goto CHECK_SHARES_AND_SESSIONS
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto ADV_NETWORK_SECURITY


:PORT_FORWARDING
cls
chcp 936 > nul
echo.
echo ============================= 配置端口转发 (PortProxy) =============================
echo.
echo **注意：仅支持 IPv4 到 IPv4 (v4tov4) 模式。**
echo.
echo [B11] **添加** 端口转发规则
echo [B12] **删除** 端口转发规则
echo [B13] **查看** 所有端口转发规则
echo [99] 返回上一级
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="B11" (
    set /p LISTEN_PORT="请输入**侦听**端口: "
    set /p CONNECT_ADDR="请输入**连接**地址 (目标IP): "
    set /p CONNECT_PORT="请输入**连接**端口 (目标端口): "
    netsh interface portproxy add v4tov4 listenport=!LISTEN_PORT! connectaddress=!CONNECT_ADDR! connectport=!CONNECT_PORT!
    echo.
    if errorlevel 0 (echo [成功] 端口转发规则已添加，请确保防火墙已允许该端口。) else (echo [失败] 端口转发规则添加失败，请检查权限。)
    pause
) else if /i "!choice!"=="B12" (
    set /p LISTEN_PORT_DEL="请输入要**删除**的侦听端口: "
    netsh interface portproxy delete v4tov4 listenport=!LISTEN_PORT_DEL!
    echo.
    if errorlevel 0 (echo [成功] 端口转发规则已删除。) else (echo [失败] 端口转发规则删除失败。)
    pause
) else if /i "!choice!"=="B13" (
    netsh interface portproxy show all
    pause
) else if /i "!choice!"=="99" goto ADV_NETWORK_SECURITY

goto PORT_FORWARDING


:FIREWALL_TOGGLE
cls
chcp 936 > nul
echo.
echo ============================= B3: 快速禁用/启用 Windows 防火墙 =============================
echo.
echo **警告：禁用防火墙会严重暴露系统，请仅用于临时调试。**
echo.
echo [1] **禁用** Windows 防火墙 (所有配置文件)
echo [2] **启用** Windows 防火墙 (所有配置文件，默认安全)
echo [99] 返回上一级
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="1" (
    netsh advfirewall set allprofiles state off
    echo.
    if errorlevel 0 (echo [成功] Windows 防火墙已**禁用**。) else (echo [失败] 命令执行失败，请检查权限。)
) else if /i "!choice!"=="2" (
    netsh advfirewall set allprofiles state on
    echo.
    if errorlevel 0 (echo [成功] Windows 防火墙已**启用**。) else (echo [失败] 命令执行失败，请检查权限。)
) else if /i "!choice!"=="99" goto ADV_NETWORK_SECURITY

pause
goto ADV_NETWORK_SECURITY


:NETWORK_ADAPTER_TOGGLE
cls
chcp 936 > nul
echo.
echo ============================= B5: 禁用/启用网卡接口 =============================
echo.
echo [提示] 正在列出所有网络接口名...
echo.
netsh interface show interface | findstr /v /i "管理状态"
echo.
set /p ADAPTER_NAME="请输入要操作的网卡名称 (例如: 以太网, Wi-Fi): "

echo.
echo [1] **禁用** 网卡
echo [2] **启用** 网卡
echo [99] 返回上一级
echo.
set /p TOGGLE_CHOICE="请输入选项编号: "

if /i "!TOGGLE_CHOICE!"=="1" (
    netsh interface set interface name="!ADAPTER_NAME!" admin=disabled
    echo.
    echo [执行] 已尝试禁用网卡: "!ADAPTER_NAME!"
) else if /i "!TOGGLE_CHOICE!"=="2" (
    netsh interface set interface name="!ADAPTER_NAME!" admin=enabled
    echo.
    echo [执行] 已尝试启用网卡: "!ADAPTER_NAME!"
) else if /i "!TOGGLE_CHOICE!"=="99" goto ADV_NETWORK_SECURITY

pause
goto NETWORK_ADAPTER_TOGGLE


:CHECK_SHARES_AND_SESSIONS
cls
chcp 936 > nul
echo.
echo ============================= B6: 检查本地共享和会话 =============================
echo.
echo [1] **查看** 本地所有共享文件夹 (net share)
echo [2] **查看** 当前活动的网络会话 (net session)
echo [3] **断开** 指定的会话 (net session /delete)
echo [99] 返回上一级
echo.
set /p SHARE_CHOICE="请输入选项编号: "

if /i "!SHARE_CHOICE!"=="1" (
    echo 正在查询本地共享...
    net share
    pause
) else if /i "!SHARE_CHOICE!"=="2" (
    echo 正在查询当前活动会话 (远程用户连接)...
    net session
    pause
) else if /i "!SHARE_CHOICE!"=="3" (
    echo.
    echo **警告：请先使用 [2] 选项查看会话列表，以获取要断开的计算机名。**
    set /p REMOTE_COMPUTER_TO_KILL="请输入要断开连接的远程计算机名或IP: "
    
    net session "\\!REMOTE_COMPUTER_TO_KILL!" /delete
    echo.
    echo [执行] 已尝试断开会话。
    pause
) else if /i "!SHARE_CHOICE!"=="99" goto ADV_NETWORK_SECURITY
goto CHECK_SHARES_AND_SESSIONS


:: --------------------------------------------------------------------------------------
:: 12. 独立高级/危险功能 (原 X 模块部分移动)
:: --------------------------------------------------------------------------------------

:IFEO_OPS
cls
chcp 936 > nul
color 09
echo.
echo ======================================================================================
echo                             8: 注册表高级安全操作 (IFEO 镜像劫持)
echo ======================================================================================
echo.
echo [81] 创建镜像劫持 (Image File Execution Options, IFEO)
echo [82] 清除镜像劫持 (删除 IFEO 注册表项)
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="81" goto CREATE_IFEO
if /i "!choice!"=="82" goto CLEAR_IFEO
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto IFEO_OPS


:CREATE_IFEO
cls
chcp 936 > nul
echo.
echo ============================= 创建镜像劫持 =============================
echo.
set /p TARGET_EXE="请输入要劫持的目标程序名 (例如: notepad.exe): "
set /p DEBUGGER_PATH="请输入要执行的劫持程序完整路径 (例如: C:\Tools\logger.exe): "

set "reg_key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\!TARGET_EXE!"

echo.
reg add "!reg_key!" /v Debugger /t REG_SZ /d "!DEBUGGER_PATH!" /f

if errorlevel 0 (
    echo.
    echo [成功] 成功！当 "!TARGET_EXE!" 启动时，系统将执行 "!DEBUGGER_PATH!"。
) else (
    echo.
    echo [失败] 错误：注册表项添加失败。
)

pause
goto IFEO_OPS


:CLEAR_IFEO
cls
chcp 936 > nul
echo.
echo ============================= 清除镜像劫持 =============================
echo.
set /p TARGET_EXE="请输入要清除劫持的目标程序名 (例如: notepad.exe): "

set "reg_key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\!TARGET_EXE!"
echo [警告] 将永久删除注册表项 "!reg_key!"。
set /p CONFIRM="确认删除该注册表项吗？ (Y/N): "
if /i "!CONFIRM!"=="Y" (
    reg delete "!reg_key!" /f

    if errorlevel 0 (
        echo.
        echo [成功] 成功！程序 "!TARGET_EXE!" 的镜像劫持已清除。
    ) else (
        echo.
        echo [失败] 错误：注册表项删除失败。可能原因：键不存在。
    )
) else (
    echo.
    echo 操作已取消。
)

pause
goto IFEO_OPS


:GET_SYSTEM_AUTH
cls
chcp 936 > nul
color 09
echo.
echo ======================================================================================
echo                             9: 获取 NT AUTHORITY\SYSTEM 权限
echo ======================================================================================
echo.
echo **注意：PsExec.exe 必须在工具箱的同一目录下。**
echo [91] 启动 SYSTEM 权限的 CMD 窗口
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p SYSTEM_CHOICE="请输入选项编号: "

if /i "!SYSTEM_CHOICE!"=="91" (
    if not exist PsExec.exe (
        echo.
        echo [失败] 错误：未找到 **PsExec.exe**！请将其放置在当前目录。
        pause
        goto GET_SYSTEM_AUTH
    )
    echo.
    echo 正在以 SYSTEM 权限启动一个新的 CMD 窗口...
    PsExec.exe -i -s cmd.exe
    echo.
    echo 新窗口已关闭，返回工具箱。
    pause
    goto GET_SYSTEM_AUTH
)
if /i "!SYSTEM_CHOICE!"=="99" goto MENU
if /i "!SYSTEM_CHOICE!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto GET_SYSTEM_AUTH


:CODE_SIGNATURE_OPS
cls
chcp 936 > nul
color 09
echo.
echo ======================================================================================
echo                             C: 代码签名工具 (需 Signtool.exe)
echo ======================================================================================
echo.
echo [注意] 此功能需要 Windows SDK 中的 makecert.exe, pvk2pfx.exe, signtool.exe 等工具。
echo.
echo [C1] **创建证书并签名** (自签名，包含 makecert 等多步骤)
echo [C2] **仅使用现有证书签名** (需要 *.pfx 证书文件)
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="C1" goto CREATE_CERT_AND_SIGN
if /i "!choice!"=="C2" goto SIGN_WITH_EXISTING_CERT
if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto CODE_SIGNATURE_OPS


:CREATE_CERT_AND_SIGN
cls
chcp 936 > nul
echo.
echo ============================= C1: 创建证书并签名 =============================
echo.
echo **步骤：创建 X.509 -> 添加根证书 -> 创建 SPC -> 提取 PFX -> 签名**
echo **请确保所有签名工具 (makecert, pvk2pfx, signtool) 可用。**
echo.
set /p n="请输入证书中创建者的名称 (CN，例如：YourName Tech): "
set /p p="请设置证书密码 (用于保护 PFX 文件): "

:: 1. 创建 X.509 证书
makecert.exe -sv 证书.pvk -r -n "CN=%n%" 证书.cer -ss My
if errorlevel 1 (echo [失败] makecert.exe 失败。请检查工具和权限。& pause & goto CODE_SIGNATURE_OPS)
echo 证书文件 (证书.cer) 已创建。

:: 2. 添加根证书并创建发行者证书 (cert2spc 通常包含在 SDK 中)
certmgr.exe /c /add 证书.cer /s root
cert2spc.exe 证书.cer 证书.spc
echo 发行者证书 (证书.spc) 已创建。

:: 3. 提取 PFX 证书
pvk2pfx.exe -pvk 证书.pvk -pi %p% -spc 证书.spc -pfx 证书.pfx -f
if errorlevel 1 (echo [失败] pvk2pfx.exe 失败。请检查工具和密码。& pause & goto CODE_SIGNATURE_OPS)
echo PFX 证书 (证书.pfx) 已提取。

set /p e="请输入你要签名的可执行文件名称: "
:: 4. 签名和时间戳
signtool.exe sign /f 证书.pfx /p %p% "%e%"
signtool.exe timestamp /t http://timestamp.wosign.com/timestamp "%e%"

if errorlevel 0 (
    echo.
    echo [成功] 可执行文件 "%e%" 已成功签名并加盖时间戳。
) else (
    echo.
    echo [失败] 签名或时间戳失败。请检查文件是否存在。
)
pause
goto CODE_SIGNATURE_OPS


:SIGN_WITH_EXISTING_CERT
cls
chcp 936 > nul
echo.
echo ============================= C2: 仅使用现有证书签名 =============================
echo.
echo **请确保 signtool.exe 在当前目录或系统路径中。**
echo.
set /p n="请输入证书文件名 (*.pfx，例如：MyCert.pfx): "
set /p p="请输入证书密钥 (密码): "
set /p e="请输入你要签名的可执行文件名称: "

:: 签名和时间戳
signtool.exe sign /f "%n%" /p %p% "%e%"
signtool.exe timestamp /t http://timestamp.wosign.com/timestamp "%e%"

if errorlevel 0 (
    echo.
    echo [成功] 可执行文件 "%e%" 已成功签名并加盖时间戳。
) else (
    echo.
    echo [失败] 签名或时间戳失败。
)
pause
goto CODE_SIGNATURE_OPS

:: --------------------------------------------------------------------------------------
:: 13. 系统危险操作与调试 (隐藏菜单 X)
:: --------------------------------------------------------------------------------------
:DANGEROUS_OPS
cls
chcp 936 > nul
color 0C :: 危险操作颜色：黑色背景，亮红色文字
echo.
echo ======================================================================================
echo                             !!! 系统危险操作与调试 (X) !!!
echo ======================================================================================
echo.
echo **[!!! 警告 !!!] 此模块包含高风险、高权限操作，可能导致系统异常或安全软件警报。**
echo.
echo [X3] **禁用 Windows Defender 实时保护** (需重启)
echo [X5] **启用/禁用 UAC 提示变暗 (Secure Desktop)**
echo [X8] **强制重置系统时间为 2099 年 (危险!)**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="X3" (color 09 & goto DISABLE_DEFENDER)
if /i "!choice!"=="X5" (color 09 & goto UAC_DIMMING_TOGGLE)
if /i "!choice!"=="X8" (color 09 & goto FORCE_SET_TIME)
if /i "!choice!"=="99" (color 09 & goto MENU)
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto DANGEROUS_OPS


:DISABLE_DEFENDER
cls
chcp 936 > nul
color 09
echo.
echo ============================= X3: 禁用 Windows Defender 实时保护 =============================
echo.
echo **警告：此操作会削弱系统安全，可能需要重启后生效。**
echo.
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection" /v DisableRealtimeMonitoring /t REG_DWORD /d 1 /f

if errorlevel 0 (
    echo.
    echo [成功] Windows Defender 实时保护已尝试通过注册表禁用。
    echo **[重要] 请重启计算机以确保更改生效。**
) else (
    echo.
    echo [失败] 注册表修改失败。请检查权限。
)
pause
color 0C
goto DANGEROUS_OPS


:UAC_DIMMING_TOGGLE
cls
chcp 936 > nul
color 09
echo.
echo ============================= X5: 启用/禁用 UAC 提示变暗 =============================
echo.
echo **功能：控制 UAC 提示时是否切换到安全桌面 (屏幕变暗)**
echo **(需要重启生效)**
echo.
echo [1] **启用** UAC 提示变暗 (默认安全设置)
echo [2] **禁用** UAC 提示变暗 (便于远程管理/调试)
echo [99] 返回**危险操作**菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="1" (
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "PromptOnSecureDesktop" /t REG_DWORD /d 1 /f
    echo.
    echo [成功] UAC 提示变暗已**启用** (1)。请重启。
) else if /i "!choice!"=="2" (
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "PromptOnSecureDesktop" /t REG_DWORD /d 0 /f
    echo.
    echo [成功] UAC 提示变暗已**禁用** (0)。请重启。
) else if /i "!choice!"=="99" (color 0C & goto DANGEROUS_OPS)

pause
color 0C
goto DANGEROUS_OPS


:FORCE_SET_TIME
cls
chcp 936 > nul
color 09
echo.
echo ============================= X8: 强制重置系统时间为 2099 年 =============================
echo.
echo **[!!! 警告 !!!] 强制设置遥远的未来时间可能导致：**
echo **1. SSL/TLS 证书验证失败，网络服务中断。**
echo **2. 程序许可证或激活状态失效。**
echo **3. 系统日志和时间戳混乱。**
echo.
set /p CONFIRM="确认将系统日期设置为 2099 年 1 月 1 日吗？ (Y/N): "

if /i "!CONFIRM!"=="Y" (
    echo 正在尝试设置日期...
    date 2099-01-01
    echo 正在尝试设置时间...
    time 00:00:01
    
    echo.
    echo [执行成功] 系统时间已设置为 **2099/01/01 00:00:01**。
    echo 请注意：您需要手动将时间改回，或等待系统自动同步。
) else (
    echo.
    echo 操作已取消。
)
pause
color 0C
goto DANGEROUS_OPS

:: --------------------------------------------------------------------------------------
:: 14. 系统压力与崩溃测试 (隐藏菜单 S)
:: --------------------------------------------------------------------------------------

:CRASH_TEST_PROTOCOL
cls
color 04 :: 极度危险的颜色：黑色背景，红色文字
echo.
echo ======================================================================================
echo                          !!! S: 系统压力与崩溃测试 - 危险协议 !!!
echo ======================================================================================
echo.
echo [警告] 此模块中的任何操作都可能导致：
echo 1. 系统崩溃或蓝屏 (BSOD)。
echo 2. 数据丢失或损坏。
echo 3. 系统资源被耗尽，导致冻结。
echo.
echo **您必须自行承担所有后果。在继续之前，请确保已保存所有工作。**
echo.
echo --------------------------------------------------------------------------------------
set /p AGREEMENT="请在下方输入 **我同意承担所有系统崩溃后果** 以继续: "
echo --------------------------------------------------------------------------------------

if /i "!AGREEMENT!"=="我同意承担所有系统崩溃后果" (
    echo.
    echo [协议确认] 协议已签署，进入测试模块...
    pause
    goto CRASH_TEST_MENU
) else (
    echo.
    echo [协议拒绝] 输入不匹配，操作已取消。
    pause
    goto MENU
)


:CRASH_TEST_MENU
cls
chcp 936 > nul
color 0C :: 恢复危险操作菜单颜色
echo.
echo ======================================================================================
echo                          S: 系统压力与崩溃测试 (已签署协议)
echo ======================================================================================
echo.
echo **!!! 警告：本模块所有功能都有可能导致系统立即崩溃或冻结。**
echo.
echo [S1] **启用手动蓝屏 (BSOD) 机制** (需重启，Ctrl+ScrollLock 触发)
echo [S2] **强制清理非分页内存池** (可能立即导致蓝屏)
echo [S3] **创建无限循环进程** (瞬间高 CPU/内存占用，系统压力测试)
echo [S4] **强制禁用 Windows Installer 服务** (阻止软件安装)
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="S1" goto ENABLE_BSOD_KEY
if /i "!choice!"=="S2" goto CLEAR_NONPAGED_POOL
if /i "!choice!"=="S3" goto FORK_BOMB_SIMULATOR
if /i "!choice!"=="S4" goto DISABLE_SYSTEM_SERVICE
if /i "!choice!"=="99" (color 09 & goto MENU)
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto CRASH_TEST_MENU


:ENABLE_BSOD_KEY
cls
chcp 936 > nul
color 09
echo.
echo ============================= S1: 启用手动蓝屏 (BSOD) 机制 =============================
echo.
echo **原理：通过注册表启用键盘触发系统崩溃转储的功能。**
echo.
reg add "HKLM\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters" /v "CrashOnCtrlScroll" /t REG_DWORD /d 1 /f

if errorlevel 0 (
    echo.
    echo [成功] 注册表键已设置成功。
    echo.
    echo **[重要] 1. 请重启计算机以激活此功能。**
    echo **[重要] 2. 重启后，您可以通过按住 Ctrl 键，然后连续按两次 ScrollLock 键 (Ctrl+ScrollLock+ScrollLock) 来触发蓝屏。**
) else (
    echo.
    echo [失败] 注册表修改失败。请检查权限。
)
pause
color 0C
goto CRASH_TEST_MENU


:CLEAR_NONPAGED_POOL
cls
chcp 936 > nul
color 09
echo.
echo ============================= S2: 强制清理非分页内存池 =============================
echo.
echo **警告：此操作直接对内存进行操作，极可能导致系统立即崩溃！**
echo **此操作常用于内核调试。**
echo.
set /p CONFIRM="确认执行此高风险操作吗？ (Y/N): "
if /i "!CONFIRM!"=="Y" (
    echo.
    echo 正在尝试调用 **ntsd/cdb** 清理非分页内存池...
    echo **注意：此程序无法直接执行底层内存操作。**
    echo **我们将尝试使用 Powershell 命令模拟高压力的底层调用。**
    
    :: 使用 Powershell 命令触发内存压力 (模拟效果)
    powershell -Command "Add-Type -TypeDefinition 'using System.Runtime.InteropServices; public class MemoryHog { [DllImport(\"ntdll.dll\")] public static extern void RtlSetLastWin32Error(int dwErrCode); public static void ConsumeMemory() { RtlSetLastWin32Error(4294967295); } }'; [MemoryHog]::ConsumeMemory()"
    
    echo.
    echo [命令已执行] 系统状态可能不稳定。
) else (
    echo.
    echo 操作已取消。
)

pause
color 0C
goto CRASH_TEST_MENU


:FORK_BOMB_SIMULATOR
cls
chcp 936 > nul
color 09
echo.
echo ============================= S3: 创建无限循环进程 (系统压力测试) =============================
echo.
echo **!!! 警告：此操作会迅速占用系统资源，可能导致系统无响应或崩溃。**
echo **使用风险自负。请保存所有工作并确保知道如何结束任务管理器中的进程。**
echo.
set /p CONFIRM="确定要执行系统压力测试吗？ (输入 **YES** 确认): "

if /i "!CONFIRM!"=="YES" (
    echo.
    echo [提示] 正在运行无限循环CMD...请手动在任务管理器中结束 CMD 进程。
    echo.
    echo :loop > "%temp%\stress.bat"
    echo start "" "%%~f0" >> "%temp%\stress.bat"
    echo goto loop >> "%temp%\stress.bat"
    
    :: 使用一个单独的CMD实例运行，与主脚本分离
    start "" /max "%temp%\stress.bat"
    
    echo [正在运行] 请查看新的 CMD 窗口。按任意键返回主菜单。
    pause
    taskkill /im cmd.exe /f /t /fi "WINDOWTITLE eq CMD" >nul 2>&1 :: 尝试关闭所有 CMD，风险大，此处不执行。
    del "%temp%\stress.bat" >nul 2>&1
) else (
    echo.
    echo 操作已取消。
)
pause
color 0C
goto CRASH_TEST_MENU

:DISABLE_SYSTEM_SERVICE
cls
chcp 936 > nul
color 09
echo.
echo ============================= S4: 强制禁用 Windows Installer 服务 =============================
echo.
echo **[!!! 危险 !!!] 禁用此服务会导致您无法安装、卸载或修改依赖 MSI/MSP 文件的软件。**
echo.
echo [1] **禁用 (Disabled)** - 阻止服务启动
echo [2] **启用 (Auto)** - 恢复服务自动启动 (默认)
echo.
set /p CHOICE_SVC="请输入选项编号 (1/2): "

if /i "!CHOICE_SVC!"=="1" (
    sc config msiserver start= disabled
    net stop msiserver >nul 2>&1
    echo.
    echo [成功] Windows Installer 服务已设置为**禁用**并停止。
    echo **您的系统现在将无法正常安装大多数软件。**
) else if /i "!CHOICE_SVC!"=="2" (
    sc config msiserver start= demand
    echo.
    echo [成功] Windows Installer 服务已设置为**手动启动** (默认)。
) else (
    echo.
    echo [警告] 输入无效，操作已取消。
)

pause
color 0C
goto CRASH_TEST_MENU


:: --------------------------------------------------------------------------------------
:: 15. 网站部署功能
:: --------------------------------------------------------------------------------------

:DEPLOY_WEBSITE
cls
chcp 936 > nul
echo.
echo ======================================================================================
echo                                 **部署工具箱官网 (HTML)**
echo ======================================================================================
echo.
:: 修正后的逻辑：优先检查 deploy.bat
set "DEPLOY_FILE="
if exist "deploy.bat" (
    set "DEPLOY_FILE=deploy.bat"
) else (
    echo [失败] 错误：在当前目录下未找到 'deploy.bat' 文件。
    echo 请确保 deploy.bat 文件与本 BAT 脚本在同一文件夹内。
    pause
    goto MENU
)

echo [提示] 部署文件: "!DEPLOY_FILE!"
echo [提示] 部署地址: http://127.0.0.1:1313
echo.

:: 执行部署文件
call "!DEPLOY_FILE!"
echo [99] 返回主菜单
echo.
set /p CHOICE="请输入选项编号: "
if /i "!choice!"=="99" goto MENU

pause
goto MENU


:: --------------------------------------------------------------------------------------
:: 16. 隐藏彩蛋模块 (秘密键：Y)
:: --------------------------------------------------------------------------------------
:EASTER_EGGS
cls
chcp 936 > nul
color 0D :: 彩蛋菜单颜色：黑色背景(0)，淡紫色前景(D)
echo.
echo ======================================================================================
echo                                 --- 隐藏彩蛋和趣味功能 ---
echo ======================================================================================
echo.
echo [E1] **矩阵代码雨 (Matrix Code Effect)**
echo [E2] **无限弹窗玩笑 (VBScript Message Bomb)**
echo [E3] **系统脚本保护 (禁止 Ctrl+C 终止)**
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="E1" goto MATRIX_RAIN
if /i "!choice!"=="E2" goto MESSAGE_BOMB
if /i "!choice!"=="E3" goto SCRIPT_PROTECT
if /i "!choice!"=="99" (color 09 & goto MENU) :: 返回主菜单时恢复主菜单颜色
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto EASTER_EGGS


:MATRIX_RAIN
cls
chcp 936 > nul
color 0A :: 矩阵代码雨颜色：黑色背景(0)，淡绿色前景(A)
echo.
echo ============================= E1: 矩阵代码雨 (Matrix Code Effect) =============================
echo.
echo **效果：在新窗口中模拟绿色代码雨。**
echo **退出：请直接关闭弹出的新 CMD 窗口或在新窗口中按 Ctrl+C。**
pause

echo @echo off > "%temp%\matrix.bat"
echo title Matrix Code Rain
echo color 0a >> "%temp%\matrix.bat"
echo :a >> "%temp%\matrix.bat"
echo echo %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% %%random%% >> "%temp%\matrix.bat"
echo goto :a >> "%temp%\matrix.bat"

:: 在新进程中运行，与主脚本分离
start "Matrix Code Rain" /high "%temp%\matrix.bat"

echo.
echo [正在运行] 请查看新弹出的 CMD 窗口。
pause
:: 清理临时文件，但保留正在运行的实例
del "%temp%\matrix.bat" >nul 2>&1
color 0D :: 恢复彩蛋菜单颜色 (0D)
goto EASTER_EGGS


:MESSAGE_BOMB
cls
chcp 936 > nul
color 0D
echo.
echo ============================= E2: 无限弹窗玩笑 (VBScript Message Bomb) =============================
echo.
set /p MSG_TITLE="请输入弹窗标题: "
set /p MSG_BODY="请输入弹窗内容: "

echo.
echo **警告：弹窗将无限弹出，直到您强制结束 'wscript.exe' 进程。**
echo 按任意键开始。
pause

:: 创建 VBScript 文件
echo Do > "%temp%\bomb.vbs"
echo    MsgBox ""!MSG_BODY!"", 16, ""!MSG_TITLE!"" >> "%temp%\bomb.vbs"
echo Loop >> "%temp%\bomb.vbs"

:: 使用 wscript.exe 静默运行 VBScript
wscript "%temp%\bomb.vbs"

echo.
echo [提示] VBScript 弹窗已停止 (通常是您已关闭 VBS 窗口)。
pause
:: 确保清理 VBS 文件
del "%temp%\bomb.vbs" >nul 2>&1
goto EASTER_EGGS


:SCRIPT_PROTECT
cls
chcp 936 > nul
color 0D
echo.
echo ============================= E3: 系统脚本保护 (禁止 Ctrl+C) =============================
echo.
echo **原理：通过在 CMD 窗口启动时禁用 Ctrl+C/Ctrl+Break 键中断。**
echo.
set /p TARGET_FILE="请输入要保护的系统文件名 (例如: protected.bat): "
set "protect_file=!TARGET_FILE!.safe.bat"

if not exist "!TARGET_FILE!" (
    echo [失败] 错误：文件 "!TARGET_FILE!" 不存在。
    pause
    goto EASTER_EGGS
)

echo 正在创建保护脚本: "!protect_file!"
echo.

(
echo @echo off
echo title 保护启动 - !TARGET_FILE!
echo :: 启用 break off (禁用 Ctrl+C/Ctrl+Break)
echo C:\Windows\System32\cmd.exe /K "echo. ^& echo [已启用] 保护模式：禁止使用 Ctrl+C 中断。 ^& echo. ^& break on ^& call \"!TARGET_FILE!\" ^& break off ^& exit"
) > "!protect_file!"

echo.
echo [成功] 保护启动脚本已创建: "!protect_file!"
echo **运行此脚本时，用户将无法通过 Ctrl+C 中断它。**
echo.
pause
goto EASTER_EGGS


:: --------------------------------------------------------------------------------------
:: 17. 权限提升 VBScript 注入和退出
:: --------------------------------------------------------------------------------------

:RunAsAdmin
echo Set UAC = CreateObject("Shell.Application") > "%temp%\elevate.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\elevate.vbs"
start "" "%temp%\elevate.vbs"
goto CLEANUP_EXIT


:: --------------------------------------------------------------------------------------
:: 17. 菜单选项触发的卸载确认 [X]
:: --------------------------------------------------------------------------------------

:UNINSTALL_TOOLBOX
cls
echo.
echo ====================================================================
echo                           Windows 系统工具箱 卸载确认
echo ====================================================================
echo.
echo 警告：此操作将**彻底删除**程序所有文件和 Windows 注册表卸载项。
echo.
set /p CONFIRM="您确定要继续卸载吗？ (Y/N): "

if /i "!CONFIRM!" neq "Y" (
    echo [取消] 卸载已取消。
    pause
    goto MENU
)

:: 跳到核心卸载逻辑
goto UNINSTALL_START


:: --------------------------------------------------------------------------------------
:: 18. 核心卸载和自毁逻辑 (由菜单或 /UNINSTALL 参数触发)
:: --------------------------------------------------------------------------------------

:UNINSTALL_START
    cls
    echo.
    echo ======================================================================================
    echo                                 [警告] 正在执行彻底卸载
    echo ======================================================================================
    echo.
    
    echo [1/3] 正在清理临时文件 (dll_result.txt)...
    del /q "%TEMP%\dll_result.txt" >nul 2>&1

    echo [2/3] 正在清理 Windows 卸载注册表信息...
    :: 删除 Inno Setup 在 HKLM 创建的注册表项
    reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Windows 系统工具箱" /f 2>nul
    
    echo [3/3] 正在启动自毁进程，删除安装目录: "%~dp0"...
    echo.
    echo [成功] 卸载命令已发送。程序将在 3 秒后关闭并删除所有文件。

    :: 启动一个独立进程来执行删除：
    start /B "" cmd /C ping 127.0.0.1 -n 3 ^& rmdir /s /q "%~dp0" ^& exit

    :: 退出本批处理环境，释放文件锁
    goto CLEANUP_EXIT


:: --------------------------------------------------------------------------------------
:: 19. 权限提升 VBScript 和退出
:: --------------------------------------------------------------------------------------

:RunAsAdmin
echo Set UAC = CreateObject("Shell.Application") > "%temp%\elevate.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\elevate.vbs"
"%temp%\elevate.vbs"
goto CLEANUP_EXIT

:CLEANUP_EXIT
    :: 标准退出时的清理逻辑
    if exist "%temp%\elevate.vbs" (del "%temp%\elevate.vbs" >nul 2>&1)
    if exist "%temp%\dll_result.txt" (del "%temp%\dll_result.txt" >nul 2>&1)
    exit /b


:OKSHARE_BBS
cls
chcp 936 > nul
color 2f
mode con cols=50 lines=30
title  OKShare(集成Windows 系统工具箱版，原作者:wnsdt)
ver | findstr "6.1">nul && set bulid=nt6 && goto sc_top
ver | findstr "10.">nul && set bulid=nt10 && goto sc_top
ver | findstr "5.">nul && set bulid=nt5 && goto sc_top
ver | findstr "6.3">nul && set bulid=nt10 && goto sc_top
ver | findstr "6.2">nul && set bulid=nt10 && goto sc_top
echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                       警  告
echo.     
echo.&echo.&echo.
echo          软件不支持你的系统，按任意键退出！
pause>nul 2>nul
exit
:sc_top
cls
del /q %temp%\info.txt>nul 2>nul
:sc_menu
echo.&echo.&echo.
echo       局域网共享一键修复 19.3.13(原作者:wnsdt)
echo.
echo    --------------------------------------------
echo.&echo.&echo.
echo               1、本机网络信息
echo.
echo               2、简单共享（无密码）
echo.
echo               3、密码共享
echo.
echo               4、共享和权限管理
echo.
echo               5、权限设置指南（图文）
echo.
echo               6、打印机共享指南（图文）
echo.
echo               7、更新与反馈
echo.
echo               8、返回主菜单
echo.
echo               9、退出
echo.&echo.&echo.&echo.&echo.
set select=
set str1=1234567
set /p select= 输入数字，按回车:
if not defined select goto sc_wrong
echo %select%|findstr "[%str1%]">nul||goto sc_wrong
if %select%==1 (goto sc_info)
if %select%==2 (goto sc_zd)
if %select%==3 (goto sc_sd)
if %select%==4 (goto sc_gl) 
if %select%==5 (goto sc_help) 
if %select%==6 (goto sc_print) 
if %select%==7 (goto sc_update) 
if /i %select%==8 (goto MENU)
if /i %select%==9 (goto CLEANUP_EXIT)
:sc_wrong
mshta vbscript:msgbox("只能输入1-9的数字",64,"提示")(window.close) 
goto sc_top
:sc_info
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                  正在处理信息....
if %bulid%==nt5 (goto sc_nt5) else (goto sc_nt6)
:sc_nt5
(echo.
echo.)>>%temp%\info.txt
ping www.baidu.com -n 1 >nul || echo              互联网状态：       [ 离线 ]>>%temp%\info.txt && goto sc_ver_nt5
echo              互联网状态：       [ 在线 ]>>%temp%\info.txt
:sc_ver_nt5
(echo ----------------------------------------------------------
echo.)>>%temp%\info.txt
for /f "skip=1 tokens=2-4 delims=, " %%a in ('wmic os get caption') do (
if exist %windir%\SysWOW64 echo         系统版本：       %%a %%b %%c  64位>>%temp%\info.txt & goto sc_ver_nt5_next
echo         系统版本：       %%a %%b %%c  32位>>%temp%\info.txt
)
:sc_ver_nt5_next
(echo.
echo         计算机名：            %COMPUTERNAME%
echo.)>>%temp%\info.txt
for /f "tokens=2 delims= " %%a in ('net config workstation^|findstr /c:"工作站域"') do echo         工作组：              %%a>>%temp%\info.txt & goto sc_info_nt5
:sc_info_nt5
(echo.
echo         当前用户：            %USERNAME%
echo.)>>%temp%\info.txt
for /f "delims=" %%a in ('date /t') do echo         本机日期：            %%a>>%temp%\info.txt
echo.>>%temp%\info.txt
for /f "delims=" %%a in ('time /t') do echo         本机时间：            %%a>>%temp%\info.txt
echo ---------------------------------------------------------->>%temp%\info.txt
goto sc_info_more
:sc_nt6
(echo.
echo.)>>%temp%\info.txt
ping www.baidu.com -n 1 >nul || echo          互联网状态：       [ 离线 ]>>%temp%\info.txt && goto sc_ver_nt6
echo          互联网状态：       [ 在线 ]>>%temp%\info.txt
:sc_ver_nt6
(echo ----------------------------------------------------------
echo.)>>%temp%\info.txt
for /f "skip=1 tokens=2-5 delims=?, " %%a in ('wmic os get caption') do (
if exist %windir%\SysWOW64 echo    系统版本：      %%a %%b %%c %%d 64位>>%temp%\info.txt & goto sc_ver_nt6_next
echo    系统版本：       %%a %%b %%c %%d 32位>>%temp%\info.txt
)
:sc_ver_nt6_next
(echo.
echo    计算机名：            %COMPUTERNAME%
echo.)>>%temp%\info.txt
for /f "tokens=2 delims= " %%a in ('net config workstation^|findstr /c:"工作站域"') do echo    工作组：              %%a>>%temp%\info.txt
(echo.
echo    当前用户：            %USERNAME%
echo.)>>%temp%\info.txt
for /f "delims=" %%a in ('date /t') do echo    本机日期：            %%a>>%temp%\info.txt
echo.>>%temp%\info.txt
for /f "delims=" %%a in ('time /t') do echo    本机时间：            %%a>>%temp%\info.txt
echo ---------------------------------------------------------->>%temp%\info.txt
:sc_info_more
if %bulid%==nt5 ipconfig /all|findstr /v /c:"Windows IP Configuration"|findstr /v /c:"Host Name"|findstr /v /c:"Primary Dns Suffix"|findstr /v /c:"Node Type"|findstr /v /c:"IP Routing Enabled"|findstr /v /c:"WINS Proxy Enabled">>%temp%\info.txt && goto sc_info_next
ipconfig /all|findstr /v /c:"Windows IP 配置"|findstr /v /c:"主机名"|findstr /v /c:"主 DNS 后缀"|findstr /v /c:"节点类型"|findstr /v /c:"IP 路由已启用"|findstr /v /c:"WINS 代理已启用">>%temp%\info.txt
:sc_info_next
(echo.
echo ----------------------------------------------------------
echo.
echo.)>>%temp%\info.txt
start /w notepad %temp%\info.txt
del /q %temp%\info.txt>nul 2>nul
goto sc_top
:sc_zd
call :sc_qxfix
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                    开始修复......
net user guest /active:yes>nul 2>nul
net user guest "">nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0x0 /f>nul 2>nul
if %bulid%==nt10 reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v restrictanonymoussam /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" /v LmCompatibilityLevel /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v everyoneincludesanonymous /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v NoLmHash /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v restrictnullsessaccess /t REG_DWORD /d 0x0 /f>nul 2>nul
goto sc_main
:sc_sd
call :sc_qxfix
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                    开始修复......
net user guest /active:no>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" /v NtlmMinClientSec /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" /v NtlmMinServerSec /t REG_DWORD /d 0x0 /f>nul 2>nul
goto sc_main
:sc_main
sc config LanmanWorkstation start= auto>nul 2>nul
sc config LanmanServer start= auto>nul 2>nul
sc config Winmgmt start= auto>nul 2>nul
sc config RpcSs start= auto>nul 2>nul
sc config Netman start= auto>nul 2>nul
sc config RasMan start= demand>nul 2>nul
sc config SSDPSRV start= auto>nul 2>nul
sc config BFE start= auto>nul 2>nul
sc config ALG start= demand>nul 2>nul
sc config SharedAccess start= auto>nul 2>nul
net start SharedAccess /y>nul 2>nul
sc config Browser start= auto>nul 2>nul
net start Browser /y>nul 2>nul
sc config Dnscache start= auto>nul 2>nul
net start Dnscache /y>nul 2>nul
sc config Dhcp start= auto>nul 2>nul
net start Dhcp /y>nul 2>nul
sc config lmhosts start= auto>nul 2>nul
net start lmhosts /y>nul 2>nul
sc config Spooler start= auto>nul 2>nul
net start Spooler /y>nul 2>nul
sc config upnphost start= demand>nul 2>nul
net start upnphost /y>nul 2>nul
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Netlogon" /v Start|findstr "0x4">nul 2>nul && sc config Netlogon start= demand>nul 2>nul
reg add "HKLM\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v TransportBindName /t REG_SZ /d \Device\ /f>nul 2>nul
reg delete "HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v SMB1 /F>nul 2>nul
reg delete "HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v SMB2 /F>nul 2>nul
reg delete "HKLM\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v SMBDeviceEnabled /F>nul 2>nul
sc config netbt start= system>nul 2>nul
net start netbt>nul 2>nul
if %bulid%==nt5 (goto sc_sernt5) else (goto sc_sernt6)
:sc_sernt5
sc config PlugPlay start= auto>nul 2>nul
sc config TapiSrv start= auto>nul 2>nul
sc config Nla start= auto>nul 2>nul
net start Nla /y>nul 2>nul
netsh firewall set service type = fileandprint mode = enable scope = subnet>nul 2>nul
set "nbt=HKLM\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
for /f "tokens=2 delims={" %%a in ('reg query "%nbt%"') do (reg query "%nbt%\TCPIP_{%%a" /s|findstr /i /c:"NetbiosOptions">nul && reg add "%nbt%\TCPIP_{%%a" /v NetbiosOptions /t REG_DWORD /d 0x0 /f>nul 2>nul)
goto sc_main2_etc
:sc_sernt6
sc config DcomLaunch start= auto>nul 2>nul
sc config RpcEptMapper start= auto>nul 2>nul
sc config SamSs start= auto>nul 2>nul
sc config nsi start= auto>nul 2>nul
sc config SstpSvc start= demand>nul 2>nul
sc config MpsSvc start= auto>nul 2>nul
net start MpsSvc /y>nul 2>nul
sc config NlaSvc start= auto>nul 2>nul
sc config netprofm start= auto>nul 2>nul
sc config fdPHost start= auto>nul 2>nul
net start fdPHost /y>nul 2>nul
sc config FDResPub start= auto>nul 2>nul
net start FDResPub /y>nul 2>nul
sc config HomeGroupListener start= auto>nul 2>nul
sc config WMPNetworkSvc start= auto>nul 2>nul
net start WMPNetworkSvc /y>nul 2>nul
sc config HomeGroupProvider start= auto>nul 2>nul
net start HomeGroupProvider /y>nul 2>nul
netsh advfirewall firewall set rule group=\"网络发现\" new enable=Yes>nul 2>nul
netsh advfirewall firewall set rule group=\"文件和打印机共享\" new enable=Yes>nul 2>nul
if %bulid%==nt10 powershell -NonInteractive "Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol">nul 2>nul
for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces" /s /e /f "0x2"^|findstr "\Tcpip_"') do reg add "%%a" /v NetbiosOptions /t REG_DWORD /d 0x0 /f>nul 2>nul
:sc_main2_etc
(echo [Unicode]
echo Unicode=yes
echo [Version]
echo signature="$CHICAGO$"
echo Revision=1
echo [Privilege Rights]
echo sedenynetworklogonright = 
echo senetworklogonright = Everyone,Administrators,Users,Power Users,Backup Operators,guest)>>%temp%\zcl.inf
secedit /configure /db %temp%\zcl.sdb /cfg %temp%\zcl.inf /log %temp%\zcl.log /quiet
del /q %temp%\zcl.*>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v restrictanonymous /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v AutoShareServer /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v AutoShareWks /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters" /v MaintainServerList /t REG_SZ /d Auto /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters" /v IsDomainMaster /t REG_SZ /d FALSE /f>nul 2>nul
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v EnableLMHOSTS|findstr "0x0">nul 2>nul && reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v EnableLMHOSTS /t REG_DWORD /d 0x1 /f>nul 2>nul
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}" /f>nul 2>nul
net use * /del /y>nul 2>nul
net config server /hidden:no>nul 2>nul
net share ipc$>nul 2>nul
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v NodeType /f>nul 2>nul
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v DhcpNodeType /f>nul 2>nul
goto sc_tip
:sc_gl
cls
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest|findstr "0x1">nul 2>nul||goto classic
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x0 /f>nul 2>nul
set jlb=y
:classic
echo.&echo.&echo.&echo.
echo          功能：管理本机共享，修改共享权限
echo.
echo              家庭版系统仅支持查看共享
echo   ----------------------------------------------
echo.&echo.&echo.&echo.&echo.
echo                    【使用说明】
echo.&echo.
echo        点左侧“共享”可查看本机所有共享；
echo.
echo        右键点左侧“共享”可“新建共享”；
echo.
echo        右键点右侧共享可“停止共享”（能多选）；
echo.
echo        右键点右侧共享选“属性”可修改权限；
echo.&echo.&echo.&echo.&echo.&echo.&echo.
fsmgmt.msc
if %jlb%==y reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x1 /f>nul 2>nul
goto sc_top
:sc_tip
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                    修复已完成！！！
mshta vbscript:msgbox("请手动重启计算机",64,"提示")(window.close)
pause
goto MENU
:sc_help
cls
start "%ProgramFiles%\Internet Explorer\iexplore.exe" "https://zhuanlan.zhihu.com/p/24285252"
goto sc_top
:sc_print
cls
start "%ProgramFiles%\Internet Explorer\iexplore.exe" "https://zhuanlan.zhihu.com/p/24187152"
goto sc_top
:sc_update
cls
start "%ProgramFiles%\Internet Explorer\iexplore.exe" "https://zhuanlan.zhihu.com/p/24178142"
goto sc_top
goto :eof
:sc_qxfix
cls
echo.&echo.&echo.
echo                     【使用说明】
echo    --------------------------------------------
echo.
echo          复制共享文件夹的地址栏路径到下方
echo.
echo           如果只共享打印机，按回车键跳过
echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo 粘贴路径，按回车:
echo.&echo.
set /p lj=
for %%a in ("%lj%") do set name=%%~na
net share "%name%"="%lj%">nul 2>nul
if %bulid%==nt5 cacls "%lj%" /t /e /p everyone:f >nul 2>nul && goto :eof
icacls "%lj%" /grant everyone:(oi)(ci)F>nul 2>nul
goto :eof

:AWA_EGAO
cls
title  awa
echo 你也太无聊了吧...
echo.
echo [99] 返回主菜单
echo [0] 退出
echo.
set /p CHOICE="请输入选项编号: "

if /i "!choice!"=="99" goto MENU
if /i "!choice!"=="0" goto CLEANUP_EXIT
echo.
echo [警告] 输入无效，请重新输入!
pause
goto SYSTEM_SNAPSHOT

:: --------------------------------------------------------------------------------------
:: 18. 清理和退出
:: --------------------------------------------------------------------------------------

:CLEANUP_EXIT
chcp 936 > nul
color 07 :: 恢复系统默认颜色 (黑色背景，浅灰色文字)
:: 删除所有临时文件
del "%temp%\elevate.vbs" >nul 2>&1
del "%temp%\bomb.vbs" >nul 2>&1
del "%temp%\matrix.bat" >nul 2>&1
del "%temp%\stress.bat" >nul 2>&1
endlocal
exit