在Windows Sandbox无限试用软件的可能性——TMSR无限试用
某些收费软件授权价格暂时还不在我能承受的范围内,但又暂时找不到什么免费或者价格更低的替代品,比如TMSR,不仅是个能分析帧类型的切片工具,还能自动识别CM和TS档内不同段内容。于是在经过了Windows Sandbox(以下简称WSB)上接近半年的试用(白嫖)体验后,我写下了这篇文章,但由于WSB和依赖的Hyper-V都没有可供参考的公开文档,暂时没有理论依据支撑,仅供参考和为其他研究提供依据。
可能原理
试用严格限制每台机器只有一次试用机会(重装系统部分除外),因此可以大致确定试用限制是根据安装系统后生成的机器码判定的,想要无限免费试用只需要不停的重装系统就可以了。
在利用WSB之前,我的通常做法是为TMSR单独建立一个虚拟机实例,每次完成剪辑任务后直接退出而不关机,这样即便虚拟机的系统时间在流逝,TMSR处于打开状态后并不会再次校验试用证书有效性,因此可以无限试用下去。但也难免会有翻车的时候,当虚拟机的Win10迎来幸福大更新的时候就不得不重启了,TMSR试用期直接结束,只能被迫重装系统一切重来。
后来我把目光瞄向了WSB,相比起虚拟机其即开即用的特性能节省更多的开启时间,而且在不定期时间它的识别码还会自动刷新,省却了大量烦恼。不过识别码刷新机制暂时我还无从得知,希望能有后续文档或开放代码能揭秘这一原理。
前置要求
- WSB配置文件
- VC运行库安装文件
- 提前解压好的TMSR程序目录(可选)
- 一个自动部署脚本
- 在Windows可选功能中启用Windows Sandbox
尽管3是可选项,但我还是更建议事先就将TMSR目录解压好,这样能节省WSB每次开机部署工作环境的时间。
WSB配置文件中可以配置WSB的映射目录,直接将素材文件夹映射到WSB当中就可以直接通过网络传输文件,省去了复制粘贴的时间。以上这些内容(1、4直接提供了样例文件,2提供了下载路径,3提供了解压参考脚本)都可以在我的相关仓库中获得。
开始配置
WSB配置具体如何书写这里不再赘述,请直接根据MS Docs官方提供的说明自行修改。
VC运行库在物理机安装TMSR的过程中会附带安装,但由于WSB镜像的某些未知问题,连TMSR本身也无法顺利进行安装,而直接运行解压后的TMSR(安装包为MSI格式,可以直接进行解压)又缺少相关依赖,因此需要自行安装。下载链接:https://aka.ms/vs/17/release/vc_redist.x64.exe
前面提到,TMSR的安装包本质在自解压之后可以从临时文件夹找到,是MSI安装包,因此可以直接通过解压获取TMSR本体。在物理机执行安装程序完全解压后,不要急着进行下一步安装(直接安装也可以省略后面步骤,不过记得从Program Files拷贝安装路径到待映射目录下),进入%temp%\D0
路径下,找到TMSR6Retail_JA.msi
,极为我们所需要的MSI文件,此外还有安装引导程序和各种KB补丁,但由于2202年在Windows 10及以上环境已经不需要这些补丁了,因此可以直接无视他们。提取出MSI文件,然后关闭原安装程序。
1 | msiexec /a "TMSR6Retail_JA.msi" /qb TARGETDIR="YOURPATH" |
在命令行中执行上述命令,记得将YOURPATH
替换为需要映射到的TMSR放置路径,解压后仅保留Pegasys Inc
文件夹即可。
上述工作全部完成后编写WSB环境的部署脚本,VC运行库可以通过静默方式安装:
1 | VC_redist.x64.exe /install /quiet /norestart |
我们也可以通过VBScript来为TMSR生成快捷方式:
1 | set "exe=C:\Users\WDAGUtilityAccount\Videos\TMSR6\Pegasys Inc\TMPGEnc MPEG Smart Renderer 6\TMPGEncMPEGSmartRenderer6.exe" |
这里exe变量对应的文件位置请根据自己映射后需要放置的位置进行调整。
在WSB配置文件中令WSB开启后自动运行上述部署脚本,全部准备工作就完成了,每次打开配置文件即可直接启动带有无限试用TMSR的WSB环境:
在发稿日我的WSB环境剩余试用期间还有7天,但根据多次测试下面的序列号会在某个时间更新,又可以恢复到30天试用状态。不过根据测试,多台系统产生的序列号相同,不免让人担心Pegasys有朝一日会发现异样并进行修补,且用且珍惜吧。