# FileRedirector **Repository Path**: umu618/FileRedirector ## Basic Information - **Project Name**: FileRedirector - **Description**: Mirror of https://github.com/UMU618/FileRedirector - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-07 - **Last Updated**: 2026-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文件重定向器 ## 功能 针对配置的程序进行文件重定向。这基本上是为技术人员设计的用于测试、研究的工具,比方说: - 您在使用一个古老的程序,它非得读取 D 盘上的某个文件,但您没有 D 盘。 - 您发现有个程序会调用 cmd 执行可疑的命令,所以想用自己的程序替换 cmd,这样可以对传入的命令做过滤。 - 您是一个 DXVK 开发,想让 dll 在 Windows 上使用。但您发现有些程序,并不加载 exe 同目录下的 DXVK dll,那么您肯定想试试这样的思路:对这个 exe 做文件重定向,当它加载系统的 d3d dll 时,重定向到 DXVK 的同名 dll。 这些任务并非必须使用“文件重定向器”才能实现,但它时一个解决方案。 ## 开源的是提示词 告诉您的 AI:基于 File System Minifilter 写个文件重定向驱动,配置从注册表里读。 当然,如果想在正常 Windows 运行(非测试模式),光有代码还不够。因为这是 KMD,需要微软签名才能运行。 ## 限制 1. 稣的代码(对应 sys 文件)最低支持的系统版本为 Windows 10 2004,但是 inf 里指定了最低为 Windows 11 25H2。~~这主要是因为——稣认为微软也不想稣去支持旧版系统,吧?~~ 如果您需要在老系统上使用,可以改 inf 文件,再用 `inf2cat` 生成 cat,然后用您的 ~~EV~~ 证书给 cat 签名。 ~~其实,随便一个自签名证书都行……这样只是安装时会有警告,只要 sys 没被修改,装上是能用的。~~ 2. 此驱动的启动类型是 SERVICE_DEMAND_START,这意味着安装后,哪怕重启系统,也不会自动运行,必须手动用 `fltmc load FileRedirector` 启动。 如果您需要能自动运行,可以自行修改 inf 文件,指定为 SERVICE_AUTO_START,然后重新签名。 ## 配置方法 注册表主路径:`HKEY_LOCAL_MACHINE\SOFTWARE\UMUTech\FileRedirector` 其下有 2 个子健: - GlobalRules:全局规则 - ProcessRules:进程规则 如果一个文件在进程规则和全局规则里都配置了,则进程规则生效。 **注意**:下面所述路径,全部为 DevicePath,可用 `DosPathToDevicePath.exe` 把 DOS Path 转为 DevicePath。 ### 全局规则配置方法 在 `GlobalRules` 键下面,创建若干 SZ 值即可。值为要重定向的文件路径,数据为重定向目标。 ### 进程规则配置方法 需要为每个进程在 `ProcessRules` 键下面创建子键,名字无所谓,并不会被使用。比如为进程 `test.exe` 创建子键为 test。 子键的默认值需要设置为进程的全路径,比如 test 子键的默认值设置为 `\Device\HarddiskVolume3\test.exe` 接下来设置重定向规则,和 `GlobalRules` 键下的规则一样。例如在 test 子键下,新建一个 SZ 值,名为 `\Device\HarddiskVolume3\test.txt`,数据为 `\Device\HarddiskVolume3\overlay_test.txt`。 ## 配置参考 [FileRedirector.reg](FileRedirector.reg) ## 安装 右击 inf 文件,点击菜单里的“安装”。 ## 启动和关闭 ``` fltmc load FileRedirector fltmc unload FileRedirector ``` 驱动实现了自动 attach,您不需要手动打 `fltmc attach` 命令。