@echo off
rem ===========================================================================
rem   网络痕迹 + 系统缓存清理工具
rem
rem   适用系统: Windows 10 / Windows 11 / Windows Server 2016 / Windows Server 2022
rem   使用方法: 双击本文件 -> 在 UAC 弹窗中点"是" -> 等待执行完成
rem
rem   安全红线:
rem     - 不修改任何 IP 配置, 不释放/续租地址, 不断网, 不换 IP
rem     - 不清浏览器缓存 / Windows 更新缓存 / 事件日志 / 回收站
rem     - 清理不可回滚 (不生成日志, 不备份 hosts)
rem
rem   清理项:
rem     [一、网络痕迹]
rem       1. DNS 解析器缓存          ipconfig /flushdns
rem       2. DNS Client 缓存         Clear-DnsClientCache
rem       3. ARP 缓存                 arp -d *
rem       4. NetBIOS 名称缓存        nbtstat -c
rem       5. NetBIOS 注册表刷新      nbtstat -R
rem       6. DNS 注册记录刷新        ipconfig /registerdns
rem       7. hosts 自定义映射        只保留注释行与空行
rem       8. DHCP 客户端日志         System32\dhcp\DhcpClient*
rem     [二、系统临时文件]
rem       9. 用户临时文件            %TEMP%
rem      10. 系统临时文件            %SystemRoot%\Temp
rem      11. 缩略图缓存              %LOCALAPPDATA%\...\Explorer\thumbcache_*.db
rem      12. 错误报告队列            ProgramData\...\WER\ReportQueue|ReportArchive
rem      13. 预读取缓存              %SystemRoot%\Prefetch
rem     [三、远程桌面连接记录]
rem      14. RDP 连接记录 (MRU)      HKCU\...\Terminal Server Client\Default\MRU*
rem      15. Default.rdp 配置文件    文档目录\Default.rdp
rem          每用 mstsc 连一次远程服务器, Windows 就追加一条服务器 IP/主机名记录。
rem          Default.rdp 则由 mstsc 保存连接设置时生成, 明文写着上次连接的服务器地址。
rem          两者都在用户自己的范围内, 因此不需要管理员权限。
rem          只删 Default 键下名为 MRU / MRU<数字> 的值, 不动 Servers\ 子键与凭据管理器。
rem     [四、浏览器浏览记录]
rem      16. Chrome 浏览记录         %LOCALAPPDATA%\Google\Chrome\User Data\Default
rem      17. Edge 浏览记录           %LOCALAPPDATA%\Microsoft\Edge\User Data\Default
rem          History / Top Sites / Shortcuts / Favicons / 会话恢复 / 网络状态。
rem          SQLite 主库与其 -journal/-wal/-shm 必须成组删除, 否则会被回滚还原。
rem          绝不动: Login Data(密码) / Preferences / Local State(DPAPI密钥) / Bookmarks。
rem          浏览器正在运行时跳过并说明, 不强杀进程。
rem     [五、登录账户痕迹]
rem      18. 上次登录显示            Authentication\LogonUI + ..\Winlogon
rem          Windows 在两处记住上次登录的是谁, 登录界面因此直接显示该用户名与磁贴:
rem            LogonUI: LastLoggedOnUser / LastLoggedOnUserSID / LastLoggedOnSAMUser / SelectedUserSID
rem            Winlogon: LastUsedUsername / AutoLogonSID / DefaultUserName
rem          删除后需注销重登才在登录界面生效。不涉及 SAM/SECURITY 账户库。
rem
rem   下方成串的 Base64 是 src\下同名 .ps1 的 UTF-16LE 编码。
rem   之所以分块写入临时文件再解码执行, 是因为 cmd 命令行有 8191 字符上限。
rem   如需修改清理逻辑: 改 src\下的 .ps1, 再运行 build.ps1 重新生成本文件。
rem
rem   故障诊断:
rem     本文件每次运行都会把关键步骤写入  %TEMP%\_ncc_debug.log
rem     出现闪退 / 报错时, 把该日志发给技术支持即可定位。
rem
rem   退出行为:
rem     清理完成 (或有失败项) -> 倒计时 10 秒后自动关闭, 期间按任意数字键可立即关闭
rem     致命错误             -> 停住等按键, 不会自动消失
rem ===========================================================================