leech系统DLL代码行为并重新实现是非法的吗?

时间:2015-07-02 08:37:33

标签: c# windows

我需要在slc.dll中使用SLGetWindowsInformation,但我宁愿实现我自己的版本,而不是在应用程序启动时将其旋转200次并创建它需要的数据类型,因此反汇编库并编写我自己的代码是非法的嘲笑这个功能的行为

p.s我正在使用c#所以我不会内联一个程序集,生病只是复制行为

2 个答案:

答案 0 :(得分:2)

  

反汇编库并编写我自己的代码是不合法的

这取决于你的位置。有些司法管辖区的逆向工程是受保护的消费者权利,因此任何在用户协议中禁止它的企图都是无效的。有些司法管辖区的逆向工程不是受保护的消费者权利,因此,只有在您的许可协议允许的情况下,您才可以这样做。

如果您是合法进行逆向工程的地方,可能仍会对其他法律(例如专利)进行限制,但即使您不复制任何人,专利也会受到影响。以独立的方式实现这一想法,以及进一步的创新(尽管具有讽刺意味的是,专利最初旨在实际上鼓励创新)。

真的,你最好完全避免这个问题,除非你的代码是在允许它的许可下发布的,否则永远不要看你做同样事情的代码。 / p>

  

我宁愿实现我自己的版本

为什么不实施自己的版本?如果你认为自己可以比其他人做得更好,你真的需要复制那个人吗?

答案 1 :(得分:1)

对于律师而言,这确实是一个问题,而不是程序员,但是......

这一切都取决于图书馆的许可证。 AFAIK系统dll在安装之前需要获得您同意的MS许可,我打赌它有一条禁止任何类型拆卸的线路。即使有免费的图书馆,你也应该小心,因为大多数人都不喜欢逆向工程。如果您需要修改库,它应该是带有许可证的开源软件,允许它。