基于pyinstaller超级加密操作(加壳和转c)
1.首先安装上必须的包
pipinstallCython pipinstallpyinstaller
2.最好是安装vs版本的话
我安装的是最新的2019,选择安装界面的时候选如下图这个和python的
python应该是可选的,但是我怕麻烦就直接选上了
3.然后接下来就是写setup.py文件了
fromdistutils.coreimportsetup fromCython.Buildimportcythonize setup( ext_modules=cythonize(["main8_2.py"]),#add.py为需要打包的文件名,不能包含中文 ) #pythonsetup.pybuild_ext--inplace #在把.cp36-win_amd64删掉
这个是固定的
里面是自己要加密转c的的py文件,我是把所有功能都封装在这个里面了,到时候引入包直接调用他
命令行运行
pythonsetup.pybuild_ext--inplace
结束后会在当前路径下生成一个main8_2.cp36-win_amd64的文件,他的后缀名就不用管它了,直接把你要加密的那个包额外的部分删除掉就行了,我删除的部分就是.cp36-win_amd64,这里地的确的确是有一个点号的
然后把相应的py文件换个路径,好像可以不换,优先级不一样,为了避免麻烦,我也懒得查资料,所以我就换了他的路径
4.接下来就是主程序进行调用了
这个py现在变成了一个pyd文件,还有一个c文件,可以把它理解成一个包,跟py的包一样去调用就行了
5.还有很重要的一点
要把所有调用的包都导入一次
我用的pycharm虽然想报错,但是运行是没有错误的
6.再用key进行加密
虽然这种法几乎没多大用处,但是由总比没有要好
pyinstaller-ifa.icoxxx.py-F--keyhsakdhiia8--clean
最终成成功打包exe,在当前路径下的dist可以找到可执行文件
补充:python程序的加密和打包
在程序发布时,有时会有程序加密和打包的需求,SO:
用CYTHON编译加密:
build.py
#!/usr/bin/python #encoding:gb2312 filename="client_missions.py" print"--------------------------------------" print"pythonbuild.pybuild_ext--inplace" print"--------------------------------------" fromdistutils.coreimportsetup fromdistutils.extensionimportExtension fromCython.Distutilsimportbuild_ext importsys efile=filename.split('.')[0] setup( cmdclass={'build_ext':build_ext}, ext_modules=[Extension("%s"%efile,["%s"%filename])] )
开始编译加密:
pythonbuild.pybuild_ext--inplace
打包成一个文件
pyinstaller--onefileMoonServer.py
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。