困难是常见的,因为对于大多数解释型语言(包括R),通常可以打开正在运行的所有命令的日志记录和检查.这可以否定许多技巧来混淆代码.
对于那些喜欢认为代码开放的人来说,好的,应该知道,混淆代码的常见原因是,如果正在咨询雇佣多个供应商的客户端.客户端从供应商A采集脚本并不常见,并要求供应商B为什么它不能与其系统一起使用. (这可能是由一个低级别的IT人员完成,而不是负责NDA合同的人员.)如果A& B是竞争对手,A的代码刚被交给B.当脚本==严重的程序时,严重的代码已被放弃.
我所看到的方式是:
>调用编译语言,并使用标准的保护措施.
>在不同的服务器上托管可执行文件,并使用对服务器的调用执行计算. (在R中,有多个服务器端选项.)
>在语言中使用编译(预处理/字节码)代码.
当代码可能广泛分发时,选项2实际上更容易和更好,而不仅仅是出于IP原因.一个主要优点是它可以让您升级代码,而无需经历站点范围的发布过程.如果需要新的库,没有问题 – 更新服务器.
选项3在Matlab中用.p文件完成,可以在Windows上使用py2exe进行Python.在R中,新的字节码编译可能是类似的,但是我不足以解决R语境中的.Rc文件和Matlab上下文中的.p文件之间的差异.有关编译器的更多信息,请参阅:http://www.inside-r.org/r-doc/compiler/compile
原文地址:https://www.jb51.cc/windows/371205.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。