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进行保护相关推荐

  1. python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe

    有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从头到尾这么一遍下来,也是要花费可观的时间成本的. 有没有什么办法,可以让.p ...

  2. bilibili缓存文件在哪里_简单使用Pyinstaller将Python文件打包为可执行性exe

    本文只讲如何通过pyinstaller将我们的Python代码打包为exe文件,关于其他的打包工具请自行查找. 1.在当前代码环境下安装Pyinstaller pip install pyinstal ...

  3. Python如何生成windows可执行的exe文件

    打包工具 pyinstaller 安装pyinstaller 如果你的网络稳定,通常直接使用下面的命令安装即可: pip install pyinstaller 当然了,你也可以下载pyinstall ...

  4. python编译exe文件太大了_python编译windows下可执行的exe文件

    python编译windows下可执行的exe文件的操作流程: 1.在安装python环境的windows下,安装 pyinstaller,请在dos下执行如下命令: pip install pyin ...

  5. python 加密-对exe加密

    Python 是一种面向对象的解释型计算机程序设计语言,Python 语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序. 在计算机内部,Python解释器把源代码转换成称为字节的中间形式, ...

  6. Python代码封装的可执行exe文件反编译为Py脚本

    起因是笔者有个课,教图形图像学,作业的代码调不出老师的效果,于是就又有了hack的想法,把老师给的用来演示的exe文件反编译.主要是根据这篇文章的方法来的.将 exe 文件反编译成 Python 脚本 ...

  7. python变成exe后启动弹出选文件窗口_通过.py脚本执行的.exe文件隐藏控制台窗口...

    我试图隐藏从EXE文件弹出的控制台窗口.我正在从我自己的EXE(一个Python脚本冻结通过PyInstaller)运行这个EXE.在 我发现,每当我通过IDLE或PyCharm运行脚本时,我都可以隐 ...

  8. python加密反编译_对Python源码进行加密及反编译前后对比

    关于python的加密 目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行 保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程. ...

  9. Python通过Django搭建网站执行Lua脚本 (实现数据解析)

    目录 Python通过Django搭建网站执行Lua脚本 (实现数据解析) 一.问题背景和解决 二.执行Lua效果预览 三.主要代码解析: translate.py LuaParser.lua Bin ...

最新文章

  1. 国家地理:子宫日记 Womb
  2. 独家 | 关于数据湖架构、战略和分析的8大错误认知(附链接)
  3. iOS开发 QQ粘性动画效果
  4. ORA-27041: unable to open file--恢复被rm意外删除数据文件
  5. [Qt教程] 第46篇 进阶(六) 国际化
  6. JS中完美兼容各大浏览器的scrolltop方法
  7. larvel php restful_laravel 实现一个简单的 RESTful API
  8. html中在线预览pdf文件之pdf在线预览插件
  9. [开源]KJFramework.Message 智能二进制消息框架 - 新能力
  10. 使用socat实现对asok的远程访问
  11. 纪念工作一周年,也纪念我的blog开张。
  12. 欢迎使用CSDN-markdown编辑器闲置iPhone别扔 利用Carplay打造智能汽车
  13. matlab中的插值函数
  14. python存钱挑战_【Python 22】52周存钱挑战2.0(列表list和math函数)
  15. 上海车展6大热门车型自动驾驶配置梳理
  16. 3Dmax自动加载脚本错误,语法错误:位于bad,需要因子
  17. Android开发:一个TextView中设置文字不同字体大小和颜色的2种高效方法
  18. 前端如何设置浏览器窗口的网站logo
  19. 动态表格中点击图片放大
  20. 电容震动音的滋滋声音的原因与消除

热门文章

  1. 【第一篇】Volley的使用之json请求
  2. mysql 设置密码
  3. Ubuntu 下监控进程网络流量
  4. HBuilder创建app 基础
  5. codeforces1013E - DP
  6. Oracle的 EXEC SQL CONTEXT学习
  7. nyoj 86 找球号(一)
  8. 贪心算法——字典序最小问题
  9. maven spring hibernate shiro
  10. C#可逆加密-Rijndael算法