窃取系统dll代码行为并重新实现它是否违法

本文关键字:实现 是否 新实现 dll 系统 代码 | 更新日期: 2023-09-27 18:00:42

我需要在slc.dll中使用SLGetWindowsInformation,但我宁愿实现我自己的版本,也不愿在应用程序启动时对其进行200次钉签并创建所需的数据类型,所以分解库并编写自己的代码来窃取此函数的行为是违法的吗

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

窃取系统dll代码行为并重新实现它是否违法

拆解库并编写自己的代码是违法的吗

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

如果你在一个可以合法进行逆向工程的地方,那么对生成的代码可能仍然会受到其他法律(如专利)的限制,尽管专利可能会阻碍你,即使你不复制任何人,并以独立的方式提出想法,以及进一步的创新(尽管具有讽刺意味的是,专利最初是为了鼓励创新而设计的)。

真的,你最好完全避免这个问题,在你试图做同样的事情时,永远不要看有什么作用的代码,除非该代码是在允许的许可证下发布的。

我宁愿实现我自己的版本

为什么不实现自己的版本呢?如果你认为你能比别人做得更好,你真的需要模仿别人吗?

这确实是一个律师的问题,而不是程序员的问题,但。。。

这完全取决于图书馆的许可证。AFAIK系统DLL在安装前必须获得您同意的MS许可证,我敢打赌有一条小规定禁止任何形式的拆卸。即使有免费的库,你也应该小心,因为大多数人都不喜欢逆向工程。如果你需要修改一个库,它应该是开源的,并有许可证。