Python 将脚本打包为可执行文件是否是商业应用程序的解决方案?

Python 将脚本打包为可执行文件是否是商业应用程序的解决方案?,python,ruby,executable,Python,Ruby,Executable,将脚本打包为可执行文件时会发生什么?这是分发商业应用程序的好方法吗?我记得我很久以前读过一篇文章,当你把脚本打包成可执行文件时,在运行时,exe会将脚本解压到一个临时目录,在那里运行它们 如果是这样的话,我不认为这是一个好的解决方案,因为熟练的用户可以找到目录所在的位置并找到源代码。我对Python和Ruby很感兴趣。比如说Python——请确保获得SVN版本,发布的版本已经过时了——或者您可以打包字节码。当然,它可以进行反向编译,就像Java字节码或.NET程序集或机器代码一样,但我认为尽管存

将脚本打包为可执行文件时会发生什么?这是分发商业应用程序的好方法吗?我记得我很久以前读过一篇文章,当你把脚本打包成可执行文件时,在运行时,exe会将脚本解压到一个临时目录,在那里运行它们


如果是这样的话,我不认为这是一个好的解决方案,因为熟练的用户可以找到目录所在的位置并找到源代码。我对Python和Ruby很感兴趣。

比如说Python——请确保获得SVN版本,发布的版本已经过时了——或者您可以打包字节码。当然,它可以进行反向编译,就像Java字节码或.NET程序集或机器代码一样,但我认为尽管存在反汇编程序,它还是相当模糊的。我想你也可以在编译之前在源代码上使用类似的东西,使名称尽可能不可读,但我个人没有这样做的经验。

py2exe很棒,我以前使用过它,它可以很好地封装程序,以便它可以在其他计算机上运行,即使是那些缺少python的计算机。就像亚历克斯所说的,它可以被分解,但是C++二进制文件也是如此。这只是一个人需要投入多少精力的问题。如果有人可以物理访问存储数据的计算机,他们就可以访问数据,代码和数据之间没有区别。压缩它,加密它,编译它,这些只会减慢速度


实际上,如果您希望使程序的源代码尽可能不可访问,您可能不应该查看Python或Ruby。C++和其他一些更难反编译,从而提供更多的晦涩。你可以练习模糊处理这门艺术,但即使这样也不能阻止有人试图窃取它。你不需要理解代码就可以将它放到海盗湾上。

创建应用程序和创建商业软件业务是两件截然不同的事情

在我的工作中,我们有一个用RubyonRails开发的商业应用程序,安装在客户端;没有应用混淆或加密

在业务层面上还有很多事情要做:支持、定制、培训,以至于认为他们会对源代码做些什么几乎是可笑的。如果大多数网站能够腾出时间来管理应用程序,那他们就幸运了,更不用说开始沉迷于别人的代码库了


话虽如此,我们并没有公开发布代码或任何东西,只是我们选择了投资于使应用程序更好,让我们的客户做得更好,而不是浪费时间限制对我们应用程序的访问。

这在Python案例中已经讨论过,一些答案对Ruby也是有效的。我强烈建议您阅读本网站上的一个题为:。请注意前三个答案。

您知道您面临与DRM相同的命运:设计缺陷。