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进行保护的更多相关文章

  1. windows环境下把Python代码打包成独立执行的exe

    windows环境下把Python代码打包成独立执行的exe可执行文件   有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从 ...

  2. windows环境下把Python代码打包成独立执行的exe可执行文件

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

  3. python 脚本编译成可执行二进制(exe)

    本文python3,pyinstaller也支持py2 cmd下载模块pyinstaller 首先: pip install pyinstaller 其次: cmd下进入需要编译的xxx.py文件目录 ...

  4. Python加密保护解决方案

    防止代码反编译,高强度加密保护exe或pyc文件 产品简介 Python语言写的程序无需编译成二进制文件代码,可以直接从源代码运行程序.在计算机内部,Python解释器把源代码转换成字节码的中间形式, ...

  5. Python加密与解密

    前言 据记载,公元前400年,古希腊人发明了置换密码.1881年世界上的第一个电话 保密专利出现.在第二次世界大战期间,德国军方启用“恩尼格玛”密码机, 密码学在战争中起着非常重要的作用. 随着信息化 ...

  6. 将Python的.py文件转变为可执行文件.exe

    python是个很强大的工具,但我们生成的.py文件在没有Python环境下运行就需要转为.exe文件,我使用的是PyInstaller 1.安装PyInstaller: pip install Py ...

  7. Python 加密 shellcode 免杀

    Python 加密 shellcode 免杀 环境准备:   Windows7 32 位系统: Shellcode 使用 kali linux Metasploit 生成 shellcode Wind ...

  8. Python自制小时钟,并转换为exe可执行程序详解

    一,简介Python写完程序,要靠命令来执行太LOW,太低调了,还不华丽了. 再说别人的电脑,都没有Python库,怎么执行,还能不能愉快的一起玩耍了. 所以哪怕只会写一个HelloWorld,也要弄 ...

  9. Python - 面向对象(三)公共变量,受保护变量,私有变量

    前言 在Python的类里面,所有属性和方法默认都是公共的:但Python也可以设置受保护.私有类型的变量or方法 受保护类型的变量.方法 一般称为:protected变量 #!/usr/bin/en ...

随机推荐

  1. 5、Filebeat工作原理

    Filebeat工作原理 Filebeat由两个主要组件组成:inputs和harvesters. 这些组件协同工作来查看最新文件内容并将事件数据发送到指定的输出.(注意与之前版本的不同,之前版本是p ...

  2. js 读取文件

    读取文本文件 读取文本文件: <input type="file" id="file1" accept="*" /> </ ...

  3. java中的BigDecimal和String的相互转换,int和String的类型转换,Integer类和String相互转换

    一: /*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ 注:BigDecimal在数据库中存的是number类型. import java.math.B ...

  4. python开发环境_windows系统安装_错误记录

    1 安装python编译器2.7.11版本 (安装包自带pip,setuptools,依赖,会将pip,setuptools安装到自己的类库中) 配置环境变量: 配置python_home,然后加入p ...

  5. Ubuntu+IntelliJ IDEA+Android 配置NDK环境+openCV

    最近需要将Python人证对比模型移植安卓端.安卓端需要使用openCV简单的人像提取处理.在配置openCV前首先需要配置NDK环境. NDK的介绍(http://www.cnblogs.com/l ...

  6. 企业级Docker-Harbor

    [环境准备] # yum install -y yum-utils device-mapper-persistent-data lvm2 下载docker-ce版本的yum源 # yum-config ...

  7. celery使用

    1.常用命令 (1)启动后台职程 celery worker -A tasks --loglevel=info celery worker -A tasks --loglevel= -A 是指cele ...

  8. Django 学习第十一天——中间键和上下文处理器

    一.中间键的引入: Django中间件(Middleware)是一个轻量级.底层的"插件"系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出. djang ...

  9. .net程序员面试小结(内附一些面试题和答案)

    今天下午去面试,面试官和HR小姐姐都很好,没有做面试题,用聊天的方式来交流技术,整个过程很轻松,从中也学到了很多知识. 下面就来总结一下面试过程. 一.深刻了解自己的简历 无论是HR还是技术面试人,首 ...

  10. Petrozavodsk Summer-2016. Ural FU Dandelion Contest

    A. Square Function 留坑. B. Guess by Remainder 询问$lcm(1,2,3,...,n)-1$即可一步猜出数. 计算$lcm$采用分治FFT即可,时间复杂度$O ...