Pyinstaller加密打包成反编译可执行文件
目录
- 前言
- PYD
- 打包
- 说明
前言
了解 Python 的都知道 Pyinstaller 可以将 .py 文件打包成 windows 下可执行的 .exe 文件, 但是在我们不想让他人反编译获取源码的时候就显得无能为力, 此时我们可以了解 .pdy 文件。
PYD
pyc 是二进制文件, 是由 Python 编译器进行编译后生成的文件, 加载速度快。pyo 是优化编译后的二进制文件, 可以通过 python -O file.py 生成。pyd 则是 Python 的动态链接库, 由其他语言编写。
那 .pyd 可不可以反编译呢?
这是文档上的一段描述, .pyd 由 C 或者 C++ 编译组成, 至于它是否完全不可反编译, 我相信是不可能的, 仅是加大了反编译的难度。
打包
你需要安装 Cython 以及 pyinstaller 两个扩展包作为依赖。 Docs
将主要代理编写至 main_code.py 文件中, 建议提供入口函数 main()
编写 build.py 代理并键入以下内容:
from distutils.core import setup from Cython.Build import cythonize setup( name='随你写什么', ext_modules=cythonize([ "main_code.py", # 你的主要代码封装文件名 ]) )
执行 python3 build.py build_ext --inplace 生成 .pyd 文件
重命名生成的 .pyd 为 main_code.pyd
新建执行脚本文件 run.py 并键入以下内容:
from main_code import * if __name__ == '__main__': main()
此时你可以尝试修改 main_code.py 成别的名字, 并运行 run.py 文件, 你会发现运行正常。
执行 pyinstaller -D -i xxx.ico -w run.py
最后你会发现你的代码中没有 .pyc 的主要逻辑代码。
说明
为了使用打包的时候使用 -D 而不使用 -F?
在生成唯一 .exe 文件后执行速度过慢, 当然我仅仅是推荐, 你可以使用任何自定义的方式编译你想要的效果。
以上就是Pyinstaller加密打包成反编译可执行文件的详细内容,更多关于Pyinstaller加密打包反编译的资料请关注我们其它相关文章!
相关推荐
-
Pyinstaller加密打包应用的示例代码
pyinstaller是一个非常简单的打包python的py文件的库.用起来就几条命令就够了, 官方文档:pyinstaller 代码混淆 使用https://pyob.oxyry.com/ 进行代码的混淆(找不到什么可用的离线混淆库) 抓取真实api后 def obfuscation(py_file, save_path): print("读取文件:", py_file) with open(py_file, "r", encoding="utf-8&q
-
Pyinstaller打包Pytorch框架所遇到的问题
目录 前言 基本流程 一.安装Pyinstaller 和 测试Hello World 二.打包整个项目,在本机上调试生成exe 三.在新电脑上测试 参考资料 前言 第一次尝试用Pyinstaller打包Pytorch,碰见了很多问题,耗费了许多时间!想把这个过程中碰到的问题与解决方法记录一下,方便后来者. 基本流程 使用Pyinstaller打包流程可分为以下三步: 安装Pyinstaller,写个Hello world打包测试 打包整个项目,在本机上调试生成exe 将exe拷贝到新电脑上,测试
-
python非单一.py文件用Pyinstaller打包发布成exe
目录 一:背景以及项目结构介绍 二:实施步骤 1:总体思路 2:安装pyinstaller 3:具体步骤(以我项目为例子) 三:疑难杂症和需要注意的坑 1:打包找不到模块问题 2:打包后,一直提示Failed to execute scrpt xxx问题 3:cmd下运行打包好的exe,运行一段时间卡主不动,按一下回车才继续 4:其他注意事项 一:背景以及项目结构介绍 第一次将自己做的python爬虫项目打包成exe,搜了很多网上教程,大部分都是打包一个py文件的小demo,这里先给个笑脸吧,除
-
pyinstaller打包后,配置文件无法正常读取的解决
目录 pyinstaller打包配置文件无法正常读取 pyinstaller又踩一坑,configparser os.mknod 完整代码 pyinstaller打包配置文件无法正常读取 import os file = os.path.dirname(os.path.abspath(__file__)) cf = configparser.ConfigParser() print(file) cf.read(file+'/data.ini') 先获取绝对路径在读取 pyinstaller又踩一
-
使用pyinstaller打包.exe文件的详细教程
为什么要打包? 1:当你想把你做的python游戏或者是脚本等.py文件发给别人时,打包为.exe文件,即使对方没有安装python也能运行 2:单纯想秀一下hhh 安装pyinstaller 安装pyinstaller很简单,直接cmd使用pip命令即可 pip install pyinstaller pyinstaller打包单个.py文件步骤 使用之前做的时钟为例进行演示 1:单击以下区域输入cmd切换到目标文件目录 2:输入pyinstaller -F -w Analog_clock.p
-
Pyinstaller加密打包成反编译可执行文件
目录 前言 PYD 打包 说明 前言 了解 Python 的都知道 Pyinstaller 可以将 .py 文件打包成 windows 下可执行的 .exe 文件, 但是在我们不想让他人反编译获取源码的时候就显得无能为力, 此时我们可以了解 .pdy 文件. PYD pyc 是二进制文件, 是由 Python 编译器进行编译后生成的文件, 加载速度快.pyo 是优化编译后的二进制文件, 可以通过 python -O file.py 生成.pyd 则是 Python 的动态链接库, 由其他语言编写
-
将python依赖包打包成window下可执行文件bat方式
1. 打开一个记事本,将需要安装的第三方python依赖包写入文件,比如:需要安装urllib3.flask.bs4三个python库(替换成你想要安装的库,每个库之间用空格隔开),输入"python -m pip install ",再输入"urllib3 flask bs4"完成输入后,把记事本命名成requirement,文件名后缀txt改成bat,保存:"python -m pip install "是指使用python运行(需要pyth
-
python之pyinstaller组件打包命令和异常解析实战
项目场景: Python版本:3.8 因公司业务需求,须开发一套局域网内视频会议软件,此次采用Python实现此功能. 程序编写完并在编译器实现此功能后,采用pyinstaller组件打包成应用程序 问题描述: 在使用pyinstaller组件打包过程中,着实遇到一些问题,以下列出此次遇到主要的问题: 1.如何打包多个文件? 2.打包完运行后控制台显示"找不到指定模块.mkl_intel_thread.l.dll",图示如下: 3.打包如何排除不需要的组件以减少包的大小? 4.待补充
-
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
环境: win7+python3.5(anaconda3) 理论上,win7及以上的系统和python任意版本均可. 一.基础脚本 首先我们构建一个简单的脚本,比如输出一串数字.文本之类,这里我们输出一串文字的同时计算一下3次方好了. # -*- coding: utf-8 -*- """ Created on Wed Aug 29 09:18:13 2018 @author: Li Zeng hai """ def test(num): pri
-
Python可执行文件反编译教程(exe转py)
python的便利性,使得如今许多软件开发者.黑客都开始使用python打包成exe的方式进行程序的发布,这类exe有个特点,就是可以使用反编译的方法得到程序的源码,是不是很神奇?我们接下来就开始学习如何反编译有python打包成的exe程序吧.PS:下面介绍的是使用比较广泛的pyinstaller的反编译方法. 下面是一个由pyinstaller打包的勒索病毒,我们通过其图标,就可以知道它是pyinstaller打包的. 反编译的第一步是将exe文件转换成pyc文件,这里使用的是pyinstx
-
使用PyInstaller库把Python程序打包成exe
一.pyinstaller简介 Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安装包就是这样做的) .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库. 可执行文件:对于非码农用户或者
-
Pyinstaller将py打包成exe的实例
背景:分享python编写的小脚本时,拷贝代码还缺各种环境,使用Pyinstaller将py可以打包成exe,直接运行即可 1.安装pyinstaller运行时所需要的windows拓展pywin32 2.安装pyinstaller pip install pyinstaller 验证是否成功:pyinstaller -v 3.pyinstaller指令 参数 含 义 -F 只生成一个exe文件 –distpath 指定生成的exe存放的目录 –workpath 指定编译中临时文件存放的目录 -
-
Python脚本打包成可执行文件过程解析
Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安装包就是这样做的) .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库. 可执行文件:对于非码农用户或者一些小白用户,你让他装个Pyth
-
Android Apk反编译及加密教程
目录 一.Apk文件组成 二.反编译必备工具及使用 1)apktool 2)Dex2jar 3)jd-gui 三.Apk的加密过程 这几天在上海出差,忙里偷闲学习了一下Apk的反编译工具的基本使用.下面就简单介绍一下如何将我们从网上下载的Apk文件进行反编译得到我们想要获得的资源文件和源码. 一.Apk文件组成 Android的应用程序APK文件说到底也是一个压缩文件,那么可以通过解压缩得打里面的文件内容,不过很显然,当你去解压完去查看的时候,发现里面的很多东西和你想象中的不太一样.资源文件等x
随机推荐
- 实例讲解Ruby中的钩子方法及对方法调用添加钩子
- jquery实现简单合拢与展开网页面板的方法
- VBS教程:函数-FormatCurrency 函数
- java 中newInstance()方法和new关键字的区别
- Java中Object.equals和String.equals的区别详解
- ADO.NET实现对SQL Server数据库的增删改查示例
- js随机生成网页背景颜色的方法
- js动态调用css属性的小规律及实例说明
- PHP单例模式是什么 php实现单例模式的方法
- PHP中使用FFMPEG获取视频缩略图和视频总时长实例
- Python 字典与字符串的互转实例
- 在Linux系统中安装Go语言的详细教程
- Require.JS中的几种define定义方式示例
- Thinkphp5微信小程序获取用户信息接口的实例详解
- java实现ftp上传 如何创建文件夹
- 使用curator实现zookeeper锁服务的示例分享
- 详解jQuery中的事件
- php 数组的创建、调用和更新实现代码
- 浅谈Android系统的基本体系结构与内存管理优化
- Android如何跳转到应用商店的APP详情页面