相关疑难解决方法(0)

我如何保护Python代码?

我正在开发一个Python软件,将分发给我的雇主的客户.我的雇主希望使用时间限制的许可证文件来限制软件的使用.

如果我们分发.py文件甚至.pyc文件,那么很容易(反编译)删除检查许可文件的代码.

另一个方面是我的雇主不希望我们的客户阅读代码,担心代码可能被盗或至少是"新颖的想法".

有没有一个很好的方法来处理这个问题?优选使用现成的解决方案.

该软件将在Linux系统上运行(所以我认为py2exe不会这样做).

python obfuscation licensing copy-protection

607
推荐指数
22
解决办法
27万
查看次数

混淆Python代码?

我正在寻找如何隐藏我的Python源代码.

print "Hello World!" 
Run Code Online (Sandbox Code Playgroud)

我如何编码这个例子,以便它不是人类可读的?我被告知使用base64,但我不知道如何.

python

49
推荐指数
17
解决办法
8万
查看次数

如何部署Python桌面应用程序?

我已经开始在桌面上运行个人python应用程序.我使用wxPython作为GUI工具包.如果需要这种类型的应用程序,我可能希望将其商业化.

我不知道部署"真实"的Python应用程序,尽管我py2exe过去曾使用过不同的成功.我如何模糊代码?我可以以某种方式只部署字节码吗?

一个理想的解决方案不会危害我的知识产权(源代码),不需要直接安装Python(虽然我确定它需要一些嵌入式解释器),并且是跨平台的(Windows,Mac和Linux的).有谁知道这个领域的任何工具或资源?

谢谢.

python deployment

30
推荐指数
2
解决办法
3万
查看次数

有没有一个工具可以删除Python中没有使用的函数?

我有以下情况:我正在开发几个使用我编写的库模块的项目.库模块包含几个类和函数.在每个项目中,使用库的一些代码子集.

但是,当我为其他用户发布项目时,我只想放弃该项目使用的代码而不是整个模块.这意味着,对于给定的项目,我希望从库代码中删除未使用的库函数(即创建一个新的简化库).有没有可以自动执行此操作的工具?

编辑

一些澄清/答复:

  1. 关于"你不应该这样做"的回复:最重要的是,在实践中,在我发布项目之前,我手动浏览库模块并删除未使用的代码.由于我们都是程序员,我们知道当您可以轻松地向计算机解释如何执行此操作时,没有理由手动执行某些操作.所以实际上,编写这样的程序是可能的,甚至不应该太难(是的,它可能不是超级一般).我的问题是,在我开始考虑自己实施之前,是否有人知道这样的工具是否存在.此外,欢迎任何关于实施这一点的想法.
  2. 我不想简单地隐藏我的所有代码.如果我想这样做,我可能不会使用Python.实际上,我想发布源代码,但只发布与相关项目相关的代码.
  3. 关于"你受法律保护"评论:在我的具体案例中,法律/许可证保护对我没有帮助.此外,这里的问题比一些窃取代码更普遍.例如,它可能是为了清楚起见:如果有人需要使用/开发代码,您不希望包含许多不相关的函数.

python

11
推荐指数
1
解决办法
268
查看次数

如何防止反编译或检查python代码?

让我们假设有一个大的商业项目(又名Project),它使用Python来管理插件,以配置可以由Project附加和使用的新控制表面.

有一个小的信息泄漏,Project的Python API的某些部分泄露给公共信息,人们能够编写Python脚本,这些脚本由底层Python实现调用,作为Project的插件加载机制的一部分.

此外,使用inspect模块和原始__dict__读数,人们能够找到Project的底层Python实现的主要部分.

有没有办法保密Python密码?

快速浏览Python的文档揭示了一种以inspect这种方式抑制模块导入的方法:

import sys
sys.modules['inspect'] = None
Run Code Online (Sandbox Code Playgroud)

它完全解决了这个问题吗?

python decompiling inspect

5
推荐指数
2
解决办法
4762
查看次数

Python 代码可以像 Javascript 一样被压缩吗?

我想知道 Python 代码是否可以像 Javascript 一样被压缩/非人类可读。我知道缩进在Python中很重要,它的核心理念是可读性,但是有没有一种方法可以允许压缩Python代码呢?顺便说一句,Python 2.7。

python compression performance readability python-2.7

5
推荐指数
1
解决办法
812
查看次数

运行没有pyc扩展名的python模块

我在Linux上编译了一个名为abc.pyc的Python 2.6程序.如果我跑

./abc.pyc
Run Code Online (Sandbox Code Playgroud)

它运行正常.但是,如果我将其重命名为abc(即没有pyc扩展名),则无法运行.它给出了错误消息:

ImportError: No module named abc
Run Code Online (Sandbox Code Playgroud)

如何在没有.pyc扩展名的情况下运行我的程序?

更新: 我想运行编译(pyc)版本而不是py版本

或者,我知道我可以使用Cython将模块编译为.so文件,但是我可以将我的主Python程序编译为可以在Linux平台上执行的程序吗?如果是这样,将欣赏Cython命令行示例.

更新 我把Cython问题作为一个单独的问题提出来了.

python

4
推荐指数
1
解决办法
1689
查看次数