反编译的合法性

逆向工程 反编译 法律
2021-07-01 17:21:43

读取和编辑 .exe 文件、.dll 文件和其他编译的源文件有多“合法”?反编译是获取程序的已编译代码,通常被压缩和混淆,并试图在编写时恢复原始源代码,或者至少以人们可以阅读的形式获取它。个人或公司在编译时使其代码更难阅读的原因有多种,但我最常看到的 2 个原因与节省资源(如空间、RAM、电源等)有关,并使其如此代码更难阅读,因此用户无法轻松看到它的作用。由于我们是一个质疑逆向工程实践的社区,我认为可以肯定地说我们大多数人不喜欢第二个原因。不过,我在这里要求的是事实,而不是意见。

因为这个问题可能会变得非常广泛,我将把它限制在特定国家的法律和各种有影响力或受欢迎的公司的规则中,但也欢迎关于一般性的信息。我绝对不是在问道德/伦理,尽管我知道这些肯定会出现。

已经有一个关于逆向工程的合法性的问题,但我在这里只谈论反编译。正如这个问题的答案所述,反编译是一种逆向工程。据我所知,另一个问题没有得到关于反编译的具体答案,尽管您可以自己提供这些答案。一个答案确实说这个问题太广泛了,但也许这个问题会有更好的范围。

2个回答

反编译的合法性取决于EULA您希望使用的二进制文件(最终用户许可协议)。虽然开源许可协议GPL可能允许编辑/反编译二进制文件,但其他闭源专有协议在大多数情况下会阻止您。

话虽如此,根据欧洲和美国的版权法,反编译在一定程度上始终是合法的。

有关此主题的更多信息
https://uk.answers.yahoo.com/question/index?qid=20111105222757AAGuJvd
http://en.wikipedia.org/wiki/Decompiler#Legality
https://security.stackexchange.com/问题/30359/是反编译软件被认为不道德或非法

在澳大利亚,您需要拥有该软件的有效许可证,并出于“兼容性”目的进行逆向操作。这是相当广泛的,包括调查安全问题。显然,如果代码可从供应商处获得,则您需要获取该源代码而不是逆向。