这样用 Sandboxie 把 QQ 管起来

本文转自:https://steemit.com/cn/@momok/sandboxie-qq

--------------------------------------

Sandboxie + QQ

长久以来,我一直尝试尽可能少在电脑上安装中国公司软件。尤其是像腾讯、搜狗、迅雷、金山、奇虎这样的中国互联网公司,他们的产品往往充斥广告、存在后门。腾讯产品偷偷扫描硬盘早已不再是新闻,而迅雷也在迅雷 9 中彻底放弃了节操、致力成为浏览器产品。在这样的背景下,我选择避免安装中国公司出品的传统 Windows 软件。

迅雷 9

对于迅雷、搜狗拼音这类传统意义上的装机必备,其实大多可以很轻松地找到对应的替代品,但一旦涉及到 QQ、微信(WeChat)这样的通讯软件,就无法轻易地通过竞品替代。与其他软件不同,通讯软件作为社交类产品大多具有用户黏性。尽管我通常使用 Telegram 作为线上交流的主要渠道,但却无法改变老师同学都在 QQ、家人亲戚都在微信的现实。

微信和 QQ 是你永远逃不过的坎

在此前,我一般使用 UWP 版本 QQ 与微信来避免在系统上安装传统版本的腾讯软件。与传统的 Win32 应用不同,UWP 应用默认限制于沙盒之中,功能权限受沙盒限制,所以即便是国产软件也可以放心安装。

但是因 UWP 生态长久以来表现出的颓势,腾讯已经基本放弃了 UWP 应用的开发,UWP 版 QQ 的最近一次更新已经是 2016 年的事情,那之后的诸多新功能也都与之无缘,而 UWP 微信也在最近一次更新中完全更换为 Win32 转制版。

为了解决这些问题,我尝试过将这些无法替代的国产软件锁进虚拟机,但是为此付出的额外性能消耗似乎又显得得不偿失,于是我又尝试 Sandboxie。对 Windows 软件有些了解的朋友也许知道,Sandboxie 是 Windows 平台上的一款老牌沙盒软件,将目标程序所产生的变更与系统本体隔离开,在沙盒内的操作不会直接对系统产生影响,在沙盒内产生的文件变更也可以轻松撤回。

Sandboxie 演示

微信可以直接在 Sandboxie 中安装并完全正常工作,然而 QQ 一直以来因为底层驱动调用而与 Sandboxie 存在兼容性问题。

(没错,QQ 作为一款聊天软件却包含驱动,是不是很惊喜呢?)

此前在沙盒中安装 QQ 时 Sandboxie 便会弹出组件错误窗口并以安装失败告终,而在最近腾讯推出 QQ 的办公版本 TIM 时,我再次尝试安装 TIM 和 QQ 却发现问题出现好转:

这次的安装可以顺利进行直到完成,甚至安装完成后 QQ 和 TIM 也可以正常打开,但是在 Sandboxie 终止沙盒进程后却无法再次打开。

经过搜寻,终于发现问题出在 QQProtect.exe 进程,该进程从很早就开始以「QQ 安全防护进程」的名义绑定在 QQ 中安装,前文所提及的驱动也大多是以该进程的组件名义被安装。而 QQ 和 TIM 都设置为必须在 QQProtect 正常运行的情况下才能正常启动(归根结底 TIM 也只是基于 QQ 修改),一般系统安装完 QQ 或 TIM 时会增加 QQProtect 的启动项,而这点在沙盒中却无法做到。

所以我们可以尝试在沙盒中启动 QQ 或 TIM 前先手动运行 QQProtect.exe 进程,发现可以正常启动。但如果每次都如此手动运行未免过于麻烦,所幸的是卡饭的贴文中直接提供了通过批处理文件(*.bat)解决的方法:

"C:\Program Files\Sandboxie\Start.exe" /box:<沙盘名称> "C:\Program Files (x86)\Common Files\Tencent\QQProtect\Bin\QQProtect.exe"
"C:\Program Files\Sandboxie\Start.exe" /box:<沙盘名称> "C:\Program Files (x86)\Tencent\TIM\Bin\TIM.exe"

如果安装的是 QQ 则为:

"C:\Program Files\Sandboxie\Start.exe" /box:<沙盘名称> "C:\Program Files (x86)\Common Files\Tencent\QQProtect\Bin\QQProtect.exe"
"C:\Program Files\Sandboxie\Start.exe" /box:<沙盘名称> "C:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe"

在桌面创建文本文档,复制并粘贴上面对应的脚本,将其中的 <沙盘名称> 更改为安装 QQ 或 TIM 的实际沙盒名称,保存后更改文件后缀名为 .bat,今后在需要启动程序时只需双击运行该批处理文件即可。

注意:Sandboxie 是一款收费商业软件,个人及家庭用户可免费使用但在试用期后会出现包含等待时长的注册提示框,你可以在开发商官网或中国经销商数码荔枝处购买。


猜你喜欢

转载自sheng.iteye.com/blog/2417256
qq