如果在我的世界搭建了一个红石计算机,在里面运行病毒程序,它是否可以逃逸到真机?
不行,我给你说一个最理想的情况,一台配置超级高的计算机,足以运行一个超大型,超复杂的红石系统。而且这个红石系统,已然达到了人工智能的水平并发展出了自我意识。
它想要突破程序,感染外部的计算机环境,我能想到的方法就是通过修改游戏的存档文件,在其中写入病毒代码将自己带出程序。且它的手段十分高明,能够骗过计算机的杀毒软件,成功感染系统。
但是第一步它就失败了,因为我的世界里没法直接生成文件或代码到程序外面去。通过在游戏中修改方块排布也无法以这种方式在存档文件里生成一个复杂的病毒代码。类似于缸中之脑,你知道自己被困在哪里,甚至知道怎么出去,但苦于你没有手脚,无法实施越狱的行为。
还有一种办法,那就是利用玩家,通过忽悠进入游戏的玩家去撰写病毒代码,将自己复制出游戏程序。但基于现实的情况,红石电路的效率太低,不足以造出计算机。就是真有这个一个红石计算机,它感染了病毒也只是这台红石计算机出现故障,也影响不到游戏中的其他内容,更不可能影响到程序外面,而红石系统的复杂度也不足以支持生成人工智能。不过你创意十分新颖有趣,作为小说题材非常合适。
追加更新:
回答评论区里的一些质疑,我们先讨论一下计算机的分类,这里我要承认我描述的不够严谨,严格意义上讲,单片机也是计算机,我说没有红石计算机,指代的是通用计算机,至于我为什么要这么说呢,后面我会详述。
计算机按照功能级别可以简单宽泛的分类成,具有指定功能的单片机或功能电路,带有嵌入式操作系统(即专用操作系统)的单片机或计算机,搭载通用操作系统的计算机。第一种目前的红石电路已能实现,不过这种和你理解的"计算机"相去甚远。比如说计算器,它其实也是计算机的一种,但是它的复杂度不足以承载一个"电脑病毒",我相信题主所描述的也应该不是这种东西。
第二种嵌入式操作系统,目前我看到的红石计算机都没有能达到这个标准的,没有资源调度,多任务和文件管理能力,最多就是做到嵌入式硬件的水平,只能在硬件层面进行编程。我再打个补丁,运用模组来实现的不讨论。嵌入式系统以它的复杂度就可以承载电脑病毒了,不过并没有虚拟机病毒。嵌入式操作系统一般情况是绑定于硬件之上的,这种病毒更多是恶意代码,用以破坏嵌入式操作系统的运行,仍然远达不到虚拟机病毒那么高级。
第三种通用式操作系统,它是不依附于硬件设备的操作系统,具有通用性,即你可以在苹果手机上刷安卓系统,也可以在MAC电脑上装Windows。目前所搭建的红石电路还不足以实现这种级别的应用,能够攻破虚拟机的病毒也是这种情况下才可能出现。
假设你真的用红石造出来一个具有通用操作系统的计算机,并且还搭载了病毒。那么红石电路病毒和虚拟机病毒有什么区别?很明显的就是,虚拟机病毒是运行在电脑内存上的,他是通发现过虚拟机软件的漏洞来攻破虚拟机,逃出到外部计算机环境的。而红石病毒是存在于红石电路里的内存上的,红石电路本身就已经是一层虚拟机了。红石电路则是通过游戏环境来运行的,红石病毒需要先想办法从红石电路里逃出来,攻破游戏环境,再考虑入侵运行游戏的计算机。
那么有人说了,红石电路不也是运行在电脑内存上的吗?能不能通过内存驻留或者内存泄露来实现外逃?可能性也很小,内存驻留需要较高的系统权限,而我的世界程序没有那么高的系统权限,并且也需要发现计算机操作系统的漏洞才能实现。而内存泄漏是有可能的,但几率很小,难度也很大。JVM拥有内存监测与垃圾回收的机制,折腾的再厉害也就是把游戏整崩溃了,就算突破了游戏环境,这里还有一个问题,红石病毒是基于游戏环境的格式来存在于物理层面的电脑内存当中,这个格式能否感染计算机?相当于突破了游戏引擎的限制,我对这种功能的实现表示存疑。
还有人提到log4j漏洞,这个突破的可能性比内存泄漏还低。首先就是红石电路在游戏中没有那么高的权限,红石电路能触发指令方块,但不能修改指令方块的内容,也不能影响触发漏洞的日志。不排除有通过红石电路来触发的游戏漏洞,但前提是你能找到。
我前面还提到过基于红石电路的人工智能,因为红石电路对游戏内容可操作的限制,所以就算是比电脑病毒更高级的存在,它也是难以突破物理层面的封锁,因此我将它称之为"缸中之脑"。我希望各位先明确题目所说的,它必须先是红石电路病毒,才能进一步衍化成电脑病毒,不要把二者的主次关系搞混了。至于说什么漏洞的,你先找到这个漏洞,然后把这之间的运作原理想清楚了再来讨论。我也可以说病毒能突破,谁知道未来会发展成什么样呢,那现在呢?你说可以你就给大家做一个看看。