Windows 沙盒(Windows Sandbox, WS)是 Windows 1909 以上专业版自带的一个沙盒虚拟机。每次打开一个沙盒,他都会模拟一个纯净的 Windows 环境,其内存和存储空间是临时的,当你关闭该沙盒,其保存的文件会随着内存共同销毁,从而确保本机的安全。通过 WS,我们可以大胆测试一些我们不确定是否安全的内容,待安全测试通过后,我们可以再在本机上运行陌生文件。

打开 WS 功能,你需要打开 Control Pannel/Programs and Features/Turn Windows features on or off/ 下的 Hyper-V/Windows Sandbox 两个选项。

网络文件共享

就目前而言,我没能找到比较好的通过 WS 直接访问本机上的磁盘文件的方法,但是这也是理所当然的,只有这样病毒文件才不会随着对该路径的访问污染实际磁盘文件。实际上,我完全基于偶合发现了基于网络文件共享的方法可以解决这个问题。在最开始我使用了 Chfs 作为一个局域网文件共享网络服务,随后我猜想在 WS 中能否通过局域网这样访问本机上的文件,实际是可行的。

Chfs 是一个国人开发的局域网网络文件服务器,任何局域网上的设备可以通过 Chfs 快速访问运行该服务的主机的文件。

请不用太担心,你的文件可以通过设置权限不被其他人浏览到;或者你可以设置仅仅共享指定 文件/文件夹;或者设定一个账户,该账户可以完全访问,也可以仅被允许访问指定文件…具体的实现方式非常多,由你来定义。

Chfs 并不是一个开源软件,如果担心其安全,可以尝试使用其他的网络文件共享服务 q(≧▽≦q)

安装 Chfs

既然 Chfs 可以实现上述功能,就让我们来安装它吧!

Chfs 可以通过官网 http://iscute.cn/chfs 下载,按照 Guidance 安装。


但是我更偏好另外一种安装方式:Scoop

Scoop 是一个 Windows 下的包管理器,类似 aptdnfyumchocolate,你可以通过一条命令直接安装指定程序。

关于 Scoop 的安装方式这里不再赘述。最简单的方式可以按照 Github 的教程安装。

Chfs 并不在官方维护的仓库,而是在 dorado 中,你还需要输入以下命令安装:

scoop bucket add dorado https://github.com/chawyehsu/dorado

随后可以开始安装 Chfs

scoop install chfs

到这里你应该安装好了,接下来该软件已经被配置好了环境变量,直接在控制台输入 chfs 即可打开,可以组合使用参数

Param Help Info
help 显示帮助信息
path 你要共享的目录,默认为程序运行目录。如果需要共享多个目录,则用“
port 程序使用的端口号,默认为80
allow IP地址过滤,可使用白名单模式或黑名单模式
rule 账户及访问权限,允许一个账户多点登陆,默认情况下匿名用户具有读写权限。
log 用户操作日志存放目录,默认是程序所在目录下的logs中。禁用日志功能只需将其赋值为空即可。
file 配置文件,该文件可配置上述配置项,语法相同,如果配置有效则覆盖对应配置项。
version 显示程序版本号

如果你使用了 Windows Powershell,你可以将一个更加复杂的命令设置为一个简单的 alias,编辑 Documents/WindowsPosershell/Microsoft.PowerShell_profile.ps1。例如:

function new-alias {
    chfs --path="C:/Users/username/Downloads" --port=8080
}

没有 Documents/WindowsPosershell/Microsoft.PowerShell_profile.ps1 ?你可以手动建立该文件,亦或者可以在 Powershell 中输入 code $PROFILE

大功告成

启动 Chfs 后,打开 WS 并尝试访问你的局域网 IP 地址,可以看到你的本机文件了

!<( ̄︶ ̄)↗[GO!]

Chfs-Capture

其他

  • 安装 Scoop 的过程可以过于缓慢,你可以配置好 Powershell 中的代理再重试(如果你拥有正确的联网软件),可以编辑 Microsoft.PowerShell_profile.ps1,添加以下代理:
$Env:http_proxy="http://127.0.0.1:7890";$Env:https_proxy="http://127.0.0.1:7890"