Python加密保护-对可执行的exe进行保护
Python 是一种面向对象的解释型计算机程序设计语言,Python 语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。 在计算机内部,Python解释器把源代码转换成称为字节的中间形式,然后再它翻译计算机使用的机器语言并运行。这使得Python更加简单 ,也使得Python程序更加易于移植。 Python也是FLOSS(自由 /开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动把一部分用于新自由软件中 ,所以对软件开发者自主研出的源码保护起来是十分必要的。
Python 开发的程序很容易被反编译出来源码。
如何反编译
通过打包工具py2exe和跨平台的PyInstaller工具都可以将 python 脚本打包成可执行文件,打包后的可执行文件不依赖 python,可以直接在没装python 的机器上运行。 注:不同的打包方式原理不同,源码存放位置也不同,所以需要保护具体模块也不同。
使用 Py2exe打包后,只需使用unpy2exe-master,将exe文件放入待反编译的程序目录下,执行 python unpy2XXX.exe件,反编译为 pyc文件;
使用 PyInstaller打包后,将pyinstxtractor.py 放入待反编译的程序目录下,执行 pyinstxtractorXXX.exe,会对应的生成一个文件夹,在文件夹中找到名字和程序相同pyc文件。 然后使用 Easy Python Decompiler v1.3.2工具反编译 pyc 文件,成功后同目录下生成一个带后缀dis的文件,生成的dis文件可以用notepad++查看出源码。
解决方案
python打包的exe可执行文件,可以直接使用 Virbox Protector 对exe 程序进行加壳保护,加壳软件中内置了虚拟机、碎片代码执行混淆等多种安全技术,能有效阻止 exe 程序被反编译,无法dump内存。
Virbox Protector 加壳工具对exe文件直接进行加壳保护。加密后的软件可直接发布,无需授权,无法二次加壳,方便易用。
如果需要对加密后的软件授权使用,可使用Virbox LM授权方案,使用云锁/软锁/加密锁来配合加密,用户必须拿到加密后的软件及授权才能使用,同时可做限时/限次/限功能/限模块等,实现订阅式销售。
Virbox Protector 加壳工具:shell.virbox.com
Virbox LM:lm.virbox.com
转载于:https://blog.51cto.com/senseshield/2373462
Python加密保护-对可执行的exe进行保护相关推荐
- python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从头到尾这么一遍下来,也是要花费可观的时间成本的. 有没有什么办法,可以让.p ...
- bilibili缓存文件在哪里_简单使用Pyinstaller将Python文件打包为可执行性exe
本文只讲如何通过pyinstaller将我们的Python代码打包为exe文件,关于其他的打包工具请自行查找. 1.在当前代码环境下安装Pyinstaller pip install pyinstal ...
- Python如何生成windows可执行的exe文件
打包工具 pyinstaller 安装pyinstaller 如果你的网络稳定,通常直接使用下面的命令安装即可: pip install pyinstaller 当然了,你也可以下载pyinstall ...
- python编译exe文件太大了_python编译windows下可执行的exe文件
python编译windows下可执行的exe文件的操作流程: 1.在安装python环境的windows下,安装 pyinstaller,请在dos下执行如下命令: pip install pyin ...
- python 加密-对exe加密
Python 是一种面向对象的解释型计算机程序设计语言,Python 语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序. 在计算机内部,Python解释器把源代码转换成称为字节的中间形式, ...
- Python代码封装的可执行exe文件反编译为Py脚本
起因是笔者有个课,教图形图像学,作业的代码调不出老师的效果,于是就又有了hack的想法,把老师给的用来演示的exe文件反编译.主要是根据这篇文章的方法来的.将 exe 文件反编译成 Python 脚本 ...
- python变成exe后启动弹出选文件窗口_通过.py脚本执行的.exe文件隐藏控制台窗口...
我试图隐藏从EXE文件弹出的控制台窗口.我正在从我自己的EXE(一个Python脚本冻结通过PyInstaller)运行这个EXE.在 我发现,每当我通过IDLE或PyCharm运行脚本时,我都可以隐 ...
- python加密反编译_对Python源码进行加密及反编译前后对比
关于python的加密 目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行 保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程. ...
- Python通过Django搭建网站执行Lua脚本 (实现数据解析)
目录 Python通过Django搭建网站执行Lua脚本 (实现数据解析) 一.问题背景和解决 二.执行Lua效果预览 三.主要代码解析: translate.py LuaParser.lua Bin ...
最新文章
- 国家地理:子宫日记 Womb
- 独家 | 关于数据湖架构、战略和分析的8大错误认知(附链接)
- iOS开发 QQ粘性动画效果
- ORA-27041: unable to open file--恢复被rm意外删除数据文件
- [Qt教程] 第46篇 进阶(六) 国际化
- JS中完美兼容各大浏览器的scrolltop方法
- larvel php restful_laravel 实现一个简单的 RESTful API
- html中在线预览pdf文件之pdf在线预览插件
- [开源]KJFramework.Message 智能二进制消息框架 - 新能力
- 使用socat实现对asok的远程访问
- 纪念工作一周年,也纪念我的blog开张。
- 欢迎使用CSDN-markdown编辑器闲置iPhone别扔 利用Carplay打造智能汽车
- matlab中的插值函数
- python存钱挑战_【Python 22】52周存钱挑战2.0(列表list和math函数)
- 上海车展6大热门车型自动驾驶配置梳理
- 3Dmax自动加载脚本错误,语法错误:位于bad,需要因子
- Android开发:一个TextView中设置文字不同字体大小和颜色的2种高效方法
- 前端如何设置浏览器窗口的网站logo
- 动态表格中点击图片放大
- 电容震动音的滋滋声音的原因与消除