建议闭源我的 python 项目
Suggestion to do close source my python project
我是 python 和 pyqt5 的新手。我用 python 和 pyqt5 写了一个简单的项目,现在我想关闭源代码,不要看到我的源代码。我认为通过 obfuscate
我可以做到这一点,所以我安装了 pyminifier
.
sudo apt install python-setuptools
pip3 install pyminifier
在我的项目中我有几个 class。通过这个命令,我可以 obfuscate
我的项目中的一个 class:
pyminifier --obfuscate --gzip MainWindow.py
import zlib, base64
exec(zlib.decompress(base64.b64decode('eJytVU1v2zAMvftXaLnUGQJtl10G+NAmHbAObfPRIAWGwVBtylZrS64k56PYj59oO46dpNtlh8QW+UQ9PlI01yonS3HLhF.....
以上输出显示在我的终端 运行ning pyminifier --obfuscate
.
之后
是否推荐每个 class 必须是 运行 并将输出代码复制到其他新文件?
如果我这样做,我认为这些 class 正确地一起导入时彼此不认识,最终应用程序不会 运行!!!我说的对吗?
Edit
我通过这个命令混淆了我项目的入口点:
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
你是 运行 一个 Python 3 程序和 Python 2 程序吗?该错误消息仅在您使用 Python 2 时才有意义,其中 exec
是关键字。
混淆多个文件,见http://liftoff.github.io/pyminifier/pyminifier.html:
Pyminifier can now minify/obfuscate an arbitrary number of Python scripts in one go. For example, ./pyminifier.py -O *.py
will minify and obfuscate all files in the current directory ending in .py. To prevent issues with using differentiated obfuscated identifiers across multiple files, pyminifier will keep track of what replaces what via a lookup table to ensure foo_module.whatever is gets the same replacement across all source files. Added in version 2.0
我是 python 和 pyqt5 的新手。我用 python 和 pyqt5 写了一个简单的项目,现在我想关闭源代码,不要看到我的源代码。我认为通过 obfuscate
我可以做到这一点,所以我安装了 pyminifier
.
sudo apt install python-setuptools
pip3 install pyminifier
在我的项目中我有几个 class。通过这个命令,我可以 obfuscate
我的项目中的一个 class:
pyminifier --obfuscate --gzip MainWindow.py
import zlib, base64
exec(zlib.decompress(base64.b64decode('eJytVU1v2zAMvftXaLnUGQJtl10G+NAmHbAObfPRIAWGwVBtylZrS64k56PYj59oO46dpNtlh8QW+UQ9PlI01yonS3HLhF.....
以上输出显示在我的终端 运行ning pyminifier --obfuscate
.
是否推荐每个 class 必须是 运行 并将输出代码复制到其他新文件?
如果我这样做,我认为这些 class 正确地一起导入时彼此不认识,最终应用程序不会 运行!!!我说的对吗?
Edit
我通过这个命令混淆了我项目的入口点:
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
你是 运行 一个 Python 3 程序和 Python 2 程序吗?该错误消息仅在您使用 Python 2 时才有意义,其中 exec
是关键字。
混淆多个文件,见http://liftoff.github.io/pyminifier/pyminifier.html:
Pyminifier can now minify/obfuscate an arbitrary number of Python scripts in one go. For example,
./pyminifier.py -O *.py
will minify and obfuscate all files in the current directory ending in .py. To prevent issues with using differentiated obfuscated identifiers across multiple files, pyminifier will keep track of what replaces what via a lookup table to ensure foo_module.whatever is gets the same replacement across all source files. Added in version 2.0