大家都知道外面有一些人使用逆向工程技术来做坏事。范围从能够免费使用付费软件(黑客)到发现允许他们在未经许可的情况下做自己想要的事情的漏洞(黑客)。当然,它也有一个好的方面。我们可以使用它来保护软件免受此类人员攻击,并使用它从事物中学习。

但是在哪里知道他是否被允许?一个人如何确保他遵守法律和许可证?

软件和服务并不总是在其许可证中列出或与NDA一起提供,我不知道法律是否对此有明确规定。因此,这将使人们变得一无所知...


他是否被允许进行逆向工程。
他是否可以使用他的发现来达到目标​​。
/>在什么条件下他可能会或可能不会发布结果。

如果没有声明该怎么办?是一个人必须明确地问这个问题,还是他们对此有一些规定?虽然规范的回答将使大多数人受益,并且省去了提问。


评论

您的意思是“当他们未经许可就想要他们想要的东西吗?”

糟糕,在那里跳过了几个字符;谢谢。

我投票结束了这个问题,因为它过于笼统:根本无法涵盖所有​​情况和地区。有几个很好的答案,所以我想挽救这个问题,但是我看不到一种编辑它以使其有用的好方法。如果有人有主意,请介入。

是的,有人要求这样做以帮助塑造社区。而且因为它迟早会在某人的脑海中浮现,所以我认为它很有价值,应尽可能予以挽救。如果不是这样,我们距离定义该社区的边界应有更广泛的认识还差一步。

目前,这个范围太广了。它需要变得更加具体或需要减少以仅涵盖其尝试涵盖的众多方面之一。

#1 楼

就像大多数情况一样,答案是“取决于”。首先,这取决于您所在的国家/地区,不同的国家/地区在逆向工程方面有不同的规则。

现在,在美国,逆向工程通常被认为是一种合法的发现形式,主要是因为它鼓励创新。逆向工程合法的法律依据是:


美国最高法院-Kewanee Oil诉Bicron-1974年
美国最高法院-Bonito Boats。 v。Thunder Craft-1989年

大多数主要公司都会购买竞争对手的产品并对其进行逆向工程,我的来源是我自己,因为我曾在一家从事该业务的手机公司工作过。通常来说,如果您购买设备,则可以随心所欲地使用它。商业秘密法仅保护秘密所有者免受他人不当地获取该秘密的影响(您不得闯入他人的工作场所并取得原型)

NDA的范围完全是不同。如果公司告诉您有关未获得专利的商业机密,则您无法透露该信息。一旦公司为该秘密申请了专利,它就不再是秘密(此时您甚至不必进行逆向工程,有关详细信息可从专利局获取)。

逆向工程,您可以发布结果。它一直在发生。当一家公司不希望您这样做时,他们会在代码中放置一层又一层的安全保护措施。再次...我工作过的手机公司使用引导程序进行了此操作。

....也就是说,绕过反规避设备是DMCA第1201条所涵盖的单独问题,如果涉及规避技术保护措施,则禁止进行逆向工程。

因此,如果您想了解某件产品的工作原理,要确保与某个产品具有互操作性,要进行加密研究或进行安全性测试……那就去吧。如果您想对某些软件进行逆向工程以使其成为一个关键的一代,那么人们就不必购买它了……我会把它留给自己。

希望有帮助。

评论


等待,所以不允许“绕过反规避设备”吗?这在理论和实践上如何工作?我要说这不是真的,因为有很多人对混淆代码进行反向工程(想想:混淆JavaScript)。另外,DeDRM(cf.)之类的东西也必须合法,因为Github并未被迫将其删除。

–起搏器
16 Jan 23'3:11



#2 楼

Eldad Eilam撰写的《逆向:逆向工程的秘密》一书为美国境内逆向工程的合法性提供了一些指导。该书建议在开始任何“高风险”逆转项目之前先寻求法律顾问,然后给出以下几节作为高风险的指导原则。系统。 1991年,在对Sega Genesis编程接口进行反向工程并为Sega Genesis发行游戏之后,索尼公司于1991年因侵犯版权而起诉了加利福尼亚州游戏开发商Accolade。 Accolade之所以胜诉,是因为Accolade游戏不包含Sega的任何代码,并且由于公共利益导致竞争加剧。
竞争
逆向工程在从他人盗窃他人代码时可能被视为非法。竞争过程。
商业秘密和专利
由于专利信息已经公开,因此逆向工程专利技术将毫无意义。在恶意员工可能试图将竞争对手的秘密出售给竞争对手的情况下,存在商业秘密来保护开发人员。只要竞争者对产品进行逆向工程,只要该产品在公开市场上可以买到并且是合法获得的,作为商业秘密的产品就不能保护其开发者。
《数字千年版权法》
DMCA合法地保护版权保护系统不受规避。 DMCA不适用于任何其他类型的受版权保护的软件,因此许多反向工程工作将不受DMCA授予的规则和例外的约束。数字千年版权法案(DMCA)明确禁止的事情:

版权保护系统的规避

规避技术的发展。该书特别提到了密钥生成器将是规避技术的一个很好的例子。但是本书没有提到如何使用工具来创建规避技术(例如IDA Pro)。

但是,有一些例外情况允许规避技术。


互操作性“在需要进行此类工作才能与所讨论的软件产品互操作的情况下,可以允许逆转和规避DRM技术。例如,如果出于复制保护目的对程序进行了加密,则该软件如果那是与它进行互操作的唯一方法,则开发人员可以对其进行解密。“

加密研究可以被允许,只要保护技术干扰了对加密技术的评估

安全测试为了“评估或改善计算机系统的安全性”,允许进行逆转和规避。紫po

保护隐私“收集或传输个人信息的产品可能会被颠倒,并且可能会规避包括其在内的任何保护技术。”

许可协议注意事项
关于软件许可协议中的反逆向工程条款,Eilam说,没有单一的权威性答案,而且这完全取决于逆向工程工作的具体情况。 。
维基百科也有一个关于逆向工程的合法性的部分,其中声称“法院发现此类合同性禁止超越了明文许可的版权法;参见Bowers诉Baystate Technologies。”
应当指出,Bowers诉Baystate Technologies确立了许可协议可以抢占合理使用权,并扩大版权持有人的权利,使其超出美国联邦法律规定的范围。

评论


我要对Eilam的书表示赞同,这是值得花时间阅读的。

– WPrecht
13年3月20日在18:36



#3 楼

还可能值得考虑如何滥用法律来向从事逆向工程的人员施加压力,要求他们停止并撤回其调查结果-出于这个原因,DMCA的反规避条款经常被滥用。

例如TI-83 +签名密钥的分解-并不是要进行盗版,但TI却以此主张试图停止研究。

EFF已记录了许多此类滥用案件-阻止研究人员是一种令人不安的普遍策略。即使在您完全享有权利的情况下,也很难与律师大军抗衡。

#4 楼

如果您有法律问题,请咨询律师。即使是律师也永远无法确保您的任何事情。他们将根据先例提供法律咨询。如果您想深入探讨此问题,则需要进行审判。

,但这不是法律建议,在美国,您通常可以发布法律规定不涉及的任何内容。您与另一方之间达成的协议,表明您不会这样做,并且这不是机密信息。这是因为您拥有第一个修订权。