建议关闭我的python项目的源代码

时间:2019-06-14 09:04:34

标签: python python-3.x obfuscation

我是python和pyqt5的新手。我用python和pyqt5编写了一个简单的项目,现在我想关闭源代码以免看到我的源代码。我认为通过obfuscate我可以做到这一点,因此我已经安装了pyminifier

sudo apt install python-setuptools
pip3 install pyminifier

在我的项目中,我有几节课。通过此命令,我可以obfuscate我的项目的一个类:

pyminifier --obfuscate --gzip MainWindow.py 
import zlib, base64
exec(zlib.decompress(base64.b64decode('eJytVU1v2zAMvftXaLnUGQJtl10G+NAmHbAObfPRIAWGwVBtylZrS64k56PYj59oO46dpNtlh8QW+UQ9PlI01yonS3HLhF.....

上面的输出在运行pyminifier --obfuscate之后显示在我的终端中。

是否必须对每个类都运行此命令,并将输出代码复制到其他新文件?

如果我这样做,我认为正确导入在一起的这些类是彼此不认识的,最后应用程序将无法运行!!!我是对的吗?

  

编辑

我通过以下命令混淆项目的入口点:

pyminifier --obfuscate --gzip Main.py
import zlib, base64
exec(zlib.decompress(base64.b64decode('eJzLzC3ILypRKK4s5sqyBZJ6qRWZJVzuYGZiUXoZV1pRfq5CQGVgialeYEl4Zkp6akmxQiZEV6BjQUFOZnJiSWZ+HkShb2JmXnhmXkp+OUwNQgSomMvHFlmPhrsmV6UtigoNTa4sDR+gK1KTNTQ1uQAalDgb')))
# Created by pyminifier (https://github.com/liftoff/pyminifier)

然后我将此代码复制到其他file.py中,我运行应用程序,但出现错误:

python new.py 
Traceback (most recent call last):
  File "new.py", line 2, in <module>
    exec(zlib.decompress(base64.b64decode('eJzLzC3ILypRKK4s5sqyBZJ6qRWZJVzuYGZiUXoZV1pRfq5CQGVgialeYEl4Zkp6akmxQiZEV6BjQUFOZnJiSWZ+HkShb2JmXnhmXkp+OUwNQgSomMvHFlmPhrsmV6UtigoNTa4sDR+gK1KTNTQ1uQAalDgb')))
  File "<string>", line 8
    j(L.exec())
           ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:1)

您是否正在使用Python 2运行Python 3程序?仅当您使用的是Python 2(其中exec是关键字)时,该错误消息才有意义。

有关混淆多个文件的信息,请参见http://liftoff.github.io/pyminifier/pyminifier.html

  

Pyminifier现在可以一次性缩小/混淆任意数量的Python脚本。例如,./pyminifier.py -O *.py将缩小并混淆当前目录中所有以.py结尾的文件。为了避免在多个文件中使用区分混淆标识符的问题,pyminifier将通过查找表跟踪替换内容的内容,以确保foo_module.what可以在所有源文件中获得相同的替换。 在版本2.0中添加