很多在最近的AI逆向工程软件浪潮中讨论的内容都让我感到很恼火,所以我想来这里分享一些信息来澄清很多误解。让我们从一些定义开始:

逆向工程

逆向工程(在软件中)是创建具有相同特性集的软件的实践。传统上,这是通过“黑盒”方法完成的,为了保持法律合规,两个团队被部署。一个团队创建一个规范,一个包含尽可能多详细信息的文档,关于软件的工作原理和功能,另一个团队根据这些需求从零开始编写软件。关键的是,团队B永远不会看到原始源代码,因此公司不会犯知识产权盗窃的错误。例如,我们都玩过马里奥吧?任天堂不能因您的游戏具有跳跃机制而起诉您盗窃知识产权,因为您没有取用马里奥的源代码。法律先例表明游戏机制不是您的知识产权。这是一个好事,因为这意味着我们可以自由地从不同游戏中混合和匹配机制,创造出新的酷东西。

解编译

解编译完全不同,它是将二进制文件转换为人类可读的代码。这取决于编程语言的二进制文件是否容易或困难。例如,C#很容易解编译,具有完整的方法名称,在其他语言中,您可能只会有通用方法和变量名称。解编译本身并不一定是非法的,但您不能使用解编译的代码在自己的项目中,因为那是知识产权。

这与盗版有什么关系?

首先让我们澄清一下:如果游戏的一部分经过逆向工程,这不是盗版。我们应该都很高兴法律这样工作,因为这意味着我们可以自由地使用来自其他游戏的机制,并通过组合不同机制来创造新的东西。盗版游戏通常需要解编译二进制文件,以便修改它,避免DRM等。这个做法就是知识产权盗窃。

基于我几个月前写的一篇文章(https://www.reddit.com/r/gamedev/s/698VSe8gkV),我知道大多数开发者在这个子版块中都同意自己的游戏被盗版。然而,现在我看到很多人对AI被用于逆向工程或解编译他们的游戏感到愤怒……所以我只是想问, guys,到底发生了什么事?我以为我们都同意自己的游戏被完全盗版,为什么我们突然变成了知识产权盗窃的鹰?难道这恐惧不是对最新AI新闻的反应吗?