沙箱,虚拟机等。
而且大多数情况下,写病毒的人有病毒源码,可以在测试其他部分时把有损害的操作暂时disable掉。即使必须要执行有损害的操作,也都清楚病毒做了些什么,知道该如何恢复。即使不能恢复,也很容易快速地复制一个新的虚拟机snapshot,从新开始。
这样还可以虚拟机里使用不同版本的操作系统和杀毒软件,测试病毒在这些不同环境下是否有效。
需要联网的病毒还可以用多台本地的虚拟机搭建局域网络,模拟病毒传播和远程控制。
只有极少数的病毒,会涉及到底层硬件的损伤。这时候虚拟机或者沙箱就不管用了。但这种程序也是只有在测试直接作用于硬件的那一部分代码的时候才需要上真硬件。所以也不是大问题。
----- 1/15/2018 update -----
破坏硬件设备的病毒依然存在
“计算机”这个概念并不限于普通家用电脑。病毒对计算机硬件造成损坏很常见,比如无人机炸机,自动驾驶失控出车祸等等。“震网”病毒攻击了伊朗的核设施,改变了离心机的转速,从而破坏了离心机。即使普通家用电脑,也有很多方式破坏硬件,比如过度读写硬盘。