对Python源码加密及反编译前后对比

关于python的加密

目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行

成都创新互联公司专注于灵武企业网站建设,响应式网站设计,购物商城网站建设。灵武网站建设公司,为灵武等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程。

1、 对 python转exe加壳

下载最新版加壳工具,使用加壳工具直接对demo.exe进行加壳操作

2、对.py/.pyc加密

第一步,使用加壳工具对 python 安装目录下的 python.exe 进行加壳,将 python.exe 拖入到加壳工具 VirboxProtector 中,配置后直接点击加壳。

第二步,对.py/.pyc 进行加密,使用 DSProtector 对.py/.pyc 进行保护。

安全技术:

l 虚拟机外壳:精锐5的外壳保护工具,创新性的引入了预分析和自动优化引擎,有效的解决了虚拟化保护代码时的安全性和性能平衡问题。

l 碎片代码执行:利用自身成熟的外壳中的代码提取技术,抽取大量、大段代码,加密混淆后在安全环境中执行,最大程度上减少加密锁底层技术和功能的依赖,同时大量大段地移植又保证了更高的安全性。

l Virbox加密编译引擎:集编译、混淆等安全功能于一身,由于在编译阶段介入,可优化空间是普遍虚拟化技术无法比拟的,对代码、变量的混淆程度也有了根本的提升。

l 反黑引擎:内置R0级核心态反黑引擎,基于***行为特征 的(反黑数据库)反制手段。精准打击调试、注入、内存修改等***行为,由被动挨打到主动防护。

加密效果:

未经深思保护#

对Python源码加密及反编译前后对比
生成的dis文件可以用 notepad++ 查看出源码
对Python源码加密及反编译前后对比

解决方案#

由上图可看出,没有经过加密的.pyc文件可以很轻易的通过Easy Python Decompiler v1.3.2工具反编译出源码 ,深思对.pyc保护的方式是通过DS Protector工具进行保护 ,防止源码被反编译 。

DS Protector是北京深思数盾自主研发的程序数据保护工具 ,它弥补了加壳VirboxProtector的功能, Virbox Protector是对程序编译后的二进制代码行保护,配合DS Protector数据保护工具就形成了代码,数据三位一体的防护。

而对于 python 开发的程序保护方式主要是对 开发的程序保护方式主要是对 pyc 文件进行加密,可以保护主要代码逻辑不被反编译,从而最大程度保护软件开发者的合法权益。

通过 Virbox Protector先对解析文件的python.exe进行加密,加密时打开 DS Protector 插件功能,然后通过DS Protector对pyc文件进行加密,并使用壳生成的配置将后文件进行加密后的python.exe pyc文件和授权三者关联起来。

经深思保护#

加密后使用 Easy Python Decompiler v1.3.2工具反编译 pyc文件失败。
对Python源码加密及反编译前后对比

对可执行的exe进行保护#

未经深思保护#

通过打包工具py2exe和跨平台的PyInstaller工具都可以将 python 脚本打包成可执行文件,打包后的可执行文件不依赖 python,可以直接在没装python 的机器上运行。 注:不同的打包方式原理不同,源码存放位置也不同,所以需要保护具体模块也不同。

使用 Py2exe打包后,只需使用unpy2exe-master,将exe文件放入待反编译的程序目录下,执行 python unpy2XXX.exe件,反编译为 pyc pyc文件;

使用 PyInstaller打包后,将pyinstxtractor.py 放入待反编译的程序目录下,执行 pyinstxtractorXXX.exe,会对应的生成一个文件夹,在文件夹中找到名字和程序相同pyc文件。 然后使用 Easy Python Decompiler v1.3.2工具反编译 pyc 文件,成功后同目录下生成一个带后缀dis的文件,生成的dis文件可以用notepad++查看出源码。

对Python源码加密及反编译前后对比

对Python源码加密及反编译前后对比

对Python源码加密及反编译前后对比

对Python源码加密及反编译前后对比

对Python源码加密及反编译前后对比

解决方案#

python脚本打包的可执行文件,可以直接使用 Virbox Protector 对exe 程序进行加壳保护,加壳软件中内置了虚拟机、碎片代码执行混淆等多种安全技术,能有效阻止 exe 程序被反编译,无法dump内存。
注:不同的打包方式原理不同,源码存放位置也不同所以需要保护的具体模快也不同

经深思保护:#

加密之后再尝试解压 XXX.exe 失败 ,已经无法进行反编译,使用常规工具也是无法分析的。
对Python源码加密及反编译前后对比

加密之后再尝试解压log322.exe失败,已经无法进行反编译,使用常规反编译工具也是无法进行分析的。


本文标题:对Python源码加密及反编译前后对比
转载来源:http://ybzwz.com/article/gdodoh.html