1) Windows发行版可以考虑用py2exe打包成exe文件。
2)Linux发行版就杯具一点了。现在比较好的方法貌似就是发布pyc中间字节码文件了:
python -c "import compileall; compileall.compile_dir('path')"
这样就把path目录下面所有的py文件编译成pyc字节码文件了,这样就看不到源码了3)还可以用混淆器,如pyobfuscate http://www.lysator.liu.se/~astrand/projects/pyobfuscate/
1: Python闭源产品发布一般都是打包成二进制代码,不可能直接把代码或字节码交给用户。字节码甚至是二进制代码也是不安全的,要防止逆向工程还是要借助代码混淆等工具.
2: 最简单的用pyc格式,再就是用p2exe等工具生成exe,但是实际执行时,还是将pyc文件提取出来执行,和c,c++编译后生成的exe本质上有区别。两种方式都不算安全。
字节码也可以轻易的还原为source code所以只要你得Python App可以被执行,那么别人就能拿到源码。
如果想要不让别人知道你的逻辑,加花是一种方法。不过拿Python去做需要保密的程序本身很奇怪。可以考虑做成C/S模式,将验证逻辑放在Server.
============补充=============字节码已经经过了Python编译器的优化,已经无法完美还原成为SourceCode
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
1) Windows发行版可以考虑用py2exe打包成exe文件。
2)Linux发行版就杯具一点了。现在比较好的方法貌似就是发布pyc中间字节码文件了:
python -c "import compileall; compileall.compile_dir('path')"
这样就把path目录下面所有的py文件编译成pyc字节码文件了,这样就看不到源码了
3)还可以用混淆器,如pyobfuscate http://www.lysator.liu.se/~astrand/projects/pyobfuscate/
1: Python闭源产品发布一般都是打包成二进制代码,不可能直接把代码或字节码交给用户。字节码甚至是二进制代码也是不安全的,要防止逆向工程还是要借助代码混淆等工具.
2: 最简单的用pyc格式,再就是用p2exe等工具生成exe,但是实际执行时,还是将pyc文件提取出来执行,和c,c++编译后生成的exe本质上有区别。两种方式都不算安全。
字节码也可以轻易的还原为source code
所以只要你得Python App可以被执行,那么别人就能拿到源码。
如果想要不让别人知道你的逻辑,加花是一种方法。
不过拿Python去做需要保密的程序本身很奇怪。
可以考虑做成C/S模式,将验证逻辑放在Server.
============补充=============
字节码已经经过了Python编译器的优化,已经无法完美还原成为SourceCode