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 加壳工具:https://shell.virbox.com
Virbox LM:https://lm.virbox.com
Python加密保护-对可执行的exe进行保护的更多相关文章
- windows环境下把Python代码打包成独立执行的exe
		windows环境下把Python代码打包成独立执行的exe可执行文件 有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从 ... 
- windows环境下把Python代码打包成独立执行的exe可执行文件
		有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从头到尾这么一遍下来,也是要花费可观的时间成本的. 有没有什么办法,可以让.p ... 
- python 脚本编译成可执行二进制(exe)
		本文python3,pyinstaller也支持py2 cmd下载模块pyinstaller 首先: pip install pyinstaller 其次: cmd下进入需要编译的xxx.py文件目录 ... 
- Python加密保护解决方案
		防止代码反编译,高强度加密保护exe或pyc文件 产品简介 Python语言写的程序无需编译成二进制文件代码,可以直接从源代码运行程序.在计算机内部,Python解释器把源代码转换成字节码的中间形式, ... 
- Python加密与解密
		前言 据记载,公元前400年,古希腊人发明了置换密码.1881年世界上的第一个电话 保密专利出现.在第二次世界大战期间,德国军方启用“恩尼格玛”密码机, 密码学在战争中起着非常重要的作用. 随着信息化 ... 
- 将Python的.py文件转变为可执行文件.exe
		python是个很强大的工具,但我们生成的.py文件在没有Python环境下运行就需要转为.exe文件,我使用的是PyInstaller 1.安装PyInstaller: pip install Py ... 
- Python 加密 shellcode 免杀
		Python 加密 shellcode 免杀 环境准备: Windows7 32 位系统: Shellcode 使用 kali linux Metasploit 生成 shellcode Wind ... 
- Python自制小时钟,并转换为exe可执行程序详解
		一,简介Python写完程序,要靠命令来执行太LOW,太低调了,还不华丽了. 再说别人的电脑,都没有Python库,怎么执行,还能不能愉快的一起玩耍了. 所以哪怕只会写一个HelloWorld,也要弄 ... 
- Python - 面向对象(三)公共变量,受保护变量,私有变量
		前言 在Python的类里面,所有属性和方法默认都是公共的:但Python也可以设置受保护.私有类型的变量or方法 受保护类型的变量.方法 一般称为:protected变量 #!/usr/bin/en ... 
随机推荐
- linux的时间问题
			在linux系统中时间分为修改时间(modify time 简写:mtime ),访问时间(access time 简写: atime),状态修改时间(change time 简写:ctime)三种: ... 
- Java 模拟http请求
			package ln; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRea ... 
- STL复习之 map & vector  ---  disney HDU 2142
			题目链接: https://vjudge.net/problem/40913/origin 大致题意: 这是一道纯模拟题,不多说了. 思路: map模拟,vector辅助 其中用了map的函数: er ... 
- python class属性
			代码一: class A(object): pass a = A() a.name = "class_A" print(a.name) #class_A 代码二:class A(o ... 
- Fragment基础操作
			Fragment和Activity类似,同样是具备UI的属性:也就是都能用于规划UI布局... Building a Dynamic UI with Fragments --> Fragment ... 
- BZOJ 4763
			有毒 第一开始一直RE,我就把dfs改成了bfs 结果一直TLE,自己造的数据要跑8s 因为 lxl 等人讲随机 $\sqrt{n}$ 个点作为关键点就可以了 但是我把随机改成深度有关就AC了,而且那 ... 
- [Code+#4]最短路 解题报告
			Luogu · 传送门 Orz THU众大佬,lct(注意不是link-cut-tree,是一个大佬) 这道题很容易让人联想到 最短路,但是最短路需要先 建图: 暴力建出所有边的算法显然是不可行的,因 ... 
- JS功能函数
			1.整数每三位增加一个, function toThousands(num) { return (num || 0).toString().replace(/(\d)(?=(?:\d{3}) ... 
- windows 2008下IIS7 安装ASP.NET 遇到500.19
			windows 2008下IIS7 安装ASP.NET 遇到如下错误: HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. ... 
- Safari 浏览器模拟iPhone和其他浏览器
			1.打开safari浏览器中的偏好设置 2.在偏好设置中,选择高级,勾选在菜单栏中显示开发菜单 3.打开开发,进入响应式设计模式 4.可以选择iphone 或ipad.浏览器等不同模式,进行模拟 5. ... 
