与 Windows Sandbox 文件互访

technics

概述

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 即可打开,可以组合使用参数

ParamHelp Info
help显示帮助信息
path你要共享的目录,默认为程序运行目录。如果需要共享多个目录,则用“
port程序使用的端口号,默认为80
allowIP地址过滤,可使用白名单模式或黑名单模式
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"

Author: DioPong

Permalink: https://blog.2to.fun/post/technics/windows-sandbox-file-transfer/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

Comments

Unable to load Disqus, please make sure your network can access.