一文学会如何将Python打包后的exe还原成.py
目录
- 前言
- 用到的工具
- 安装方法
- 第一步:解包
- 第二步:添加头信息
- 第三步:逆向目的文件.pyc
- 总结
前言
我们介绍过如何将python程序打包为exe可执行文件。但有时候会遇到另一种情况,就是我们拿到别人打包好的exe文件,但是我想看看里面源代码是怎样的,这个能不能实现呢?
如果是用py打包而成的exe,是可以还原成py文件的,今天我们就给大家分享一下这个过程。
用到的工具
- pyinstxtractor.py 拆包(解压)工具,将exe文件解压成一个文件夹
- uncompyle6 pyc反编译工具
- 010EditorEditor 或者其他二进制查看与修改工具,我这里用的010Editor
安装方法
pip install uncompyle6
第一步:解包
python3 pyinstxtractor.py ***.exe # 这里替换成你要反编译的exe文件 # 会生成一个以 exe文件名+_extracted 的文件夹,这个就是解包后的数据
第二步:添加头信息
PyInstaller打包后,pyc文件的前8个字节会被抹掉,所以最后要自己添加回去。前四个字节为python编译的版本,后四个字节为时间戳。想要获得编译版本可以查看打包文件里struct的信息
1). 进入文件夹,找到以exe文件名命名的文件(没有后缀),这个就是目的文件
2). 用 010Editor 打开 struct,前八位就是我们想要的信息,将其复制
3). 用 010Editor 打开目的文件我这里是 abc_text,将上一步复制的信息插入到开头
修改前:
修改后:
4). 将目的文件我这里是 abc_text,添加pyc的后缀
第三步:逆向目的文件.pyc
1). 其实这里已经可以使用了。了解python的都知道pyc是py文件编译后的二进制文件,因此如果想要分析源码还得继续逆向成.py文件
2). uncompyle6逆向pyc文件
uncompyle6 abc_text.pyc > abc_text.py
如此就成功逆向还原出py文件。
总结
到此这篇关于如何将Python打包后的exe还原成.py的文章就介绍到这了,更多相关Python打包后exe还原成.py内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
python脚本打包后无法运行exe文件的解决方案
技术栈win7+python3+selenium 之前有个需求需要实现自动化提流程,为了在任何电脑都能实现该功能,特此写了个爬虫,并将其打包成EXE文件,但在点击EXE文件是出现了问题 点击exe文件终端小黑窗一闪而过 为了看到终端是否有报错可以在该exe文件目录下输入cmd执行终端,并在终端中输入exe文件名称如下 回车后会看到报错 一开始怎么也无法找到错误所致(因为在虚拟环境都有导入selenium包),后来索性直接在windows环境下pip install selenium,成功的解决了
-
Python三种打包exe方法案例教程
cxfreeze,pyinstaller,py2exe三种方式 目前网上能获取的免费的Python打包工具主要有三种:py2exe.PyInstaller和cx_Freeze.其中PyInstaller最新版只支持Python2.7,py2exe计划开发支持python3.x版本,但是目前还没有完成.只有cx_Freeze支持python3.X版本,也支持python2.X版本.个人也觉得cxfreeze比较简单,不容易出错. cxfreeeze有几种文件形式,msi和whl.msi是安装包,直
-
Python中.py文件打包成exe可执行文件详解
前言 最近做了几个简单的爬虫python程序,于是就想做个窗口看看效果. 首先是,窗口的话,以前没怎么接触过,就先考虑用Qt制作简单的ui.这里用前面sinanews的爬虫脚本为例,制作一个获取当天sina头条新闻的窗口. 生成py文件后,运行该py文件,这里窗口我只是随便拖了几个组件进去,主要的text browser用于显示获取到的sinanews. 首先贴一下我的配置 官方下载: Python 3.3.3 PyQt5-5.2.1 for Py3.3(当安装完Python3.3后,安装对应P
-
一篇文章学会两种将python打包成exe的方式
目录 前言 详细步骤 图形窗口打包 总结 前言 python 可以做网站应用,也可以做客户端应用.但是客户端应用需要运行 py 脚本,如果用户不懂 python 就是一件比较麻烦的事情.幸好 pyton 有第三方模块可以将脚本可以转成 exe 执行. 有些人可能要问了既然可以做成网站,为啥还要做成客户端的,直接部署到服务器给客户不就可以了吗?小编的回答是当然是为了追小姐姐呀.在公司给小姐姐写点 python 脚本打包成 exe 减轻上班的工作量.再弄出点 bug,一来二去不就会产生故事了? py
-
将python文件打包exe独立运行程序方法详解
首先需要安装pyinstaller库. pip install pyinstaller exe程序打包步骤 cmd 进入要编译的python文件所在的文件夹, 然后 pyinstaller -F hello.py hello.py就是我要打包的文件. 常用参数: -F 生成单个的exe文件. -w 隐藏运行窗口. -h 可以查看帮助信息,更多指令可以通过这个查看. 最开始 D:\pyinstaller 目录下只有hello.py这一个文件,其它的文件都是后生成的. 生成的exe文件在dist里,
-
Python打包为exe详细教程
一.安装 → pyinstaller 1.1 方式1:cmd 1. 调出运行窗口:win + r, 并输入 cmd 2. 切换到 pip.exe 目录(Scripts,参考如下:) cd C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\Scripts # D: # 若是其它盘,如 D # cd D:\xx 3. 执行命令 pip install pyinstaller 1. 切换到 pip.exe 的目录(找到你本
-
一文学会如何将Python打包后的exe还原成.py
目录 前言 用到的工具 安装方法 第一步:解包 第二步:添加头信息 第三步:逆向目的文件.pyc 总结 前言 我们介绍过如何将python程序打包为exe可执行文件.但有时候会遇到另一种情况,就是我们拿到别人打包好的exe文件,但是我想看看里面源代码是怎样的,这个能不能实现呢? 如果是用py打包而成的exe,是可以还原成py文件的,今天我们就给大家分享一下这个过程. 用到的工具 pyinstxtractor.py 拆包(解压)工具,将exe文件解压成一个文件夹 uncompyle6 pyc反编译
-
将python打包后的exe还原成py
目录 用到的工具 安装方法 用到的工具 pyinstxtractor.py 拆包(解压)工具,将exe文件解压成一个文件夹 uncompyle6 pyc反编译工具 010EditorEditor 或者其他二进制查看与修改工具,我这里用的010Editor 安装方法 pip install uncompyle6 第一步:解包 python3 pyinstxtractor.py ***.exe # 这里替换成你要反编译的exe文件 # 会生成一个以 exe文件名+_extracted 的文件
-
python打包生成的exe文件运行时提示缺少模块的解决方法
事情是这样的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一个exe程序,但是运行时提示我缺 少bs4模块然后我就去查pyinstaller的使用方法,找到pyinstaller有一个-p参数: 1.设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录. 2.也可以使用多个-p参数来设置多个导入路径 然后我找到bs4模块所在的目录E:\pyth
-
浅析python打包工具distutils、setuptools
python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install 包名(window) python包在开发中十分常见,一般的使用套路是所有的功能做一个python模块包,打包模块,然后发布,安装使用.打包和安装包就是最常见的工作.学习中遇到distutils和setuptools两种打包的工具,学习之后做笔记记录. distutils distutils 是 python 标准库的一
-
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
setup.py: #!/usr/bin/env python # coding=utf-8 from distutils.core import setup import py2exe setup( description = 'software', version = '0.0.1', console=[{"script": "main.py", "icon_resources": [(1, "icon.ico")]}],
-
详解Python打包分发工具setuptools
Python打包分发工具setuptools:曾经 Python 的分发工具是 distutils,但它无法定义包之间的依赖关系.setuptools 则是它的增强版,能帮助我们更好的创建和分发 Python 包,尤其是具有复杂依赖关系的包.其通过添加一个基本的依赖系统以及许多相关功能,弥补了该缺陷.他还提供了自动包查询程序,用来自动获取包之间的依赖关系,并完成这些包的安装,大大降低了安装各种包的难度,使之更加方便,将程序打包以后可以可以安装到自己的虚拟环境中,也可以上传到PyPI,这样非常方便
-
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
wheel文件 Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改为.zip即可可看到压缩包里面的内容.按照官网说法,wheels是发行版Python的新标准并且要取代.egg. Egg格式是由setuptools在2004年引入,而Wheel格式是由PEP427在2012年定义. Wheel现在被认为是Python的二进制包的标准格式. 以下是Wheel和Egg的主要的不同点: Wheel有一个官方的PEP427来定义
-
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
windows系统下安装Pyinstaller cmd下输入指令 pip install PyInstaller Pyinstaller的使用 进入需要打包的目录下,执行打包命令 Pyinstaller [opts] yourprogram.py 示范 pyinstaller -F -W helloworld.py opts可选的参数 参数 含义 -F -onefile,打包成一个exe文件 -D -onefile,创建一个目录,包含exe文件,但会依赖很多文件(默认选项) -c -consol
-
史上最详细的Python打包成exe文件教程
打包成exe文件可以让python代码在没有python环境的条件下,依然能够运行,实在是码农们写追女朋友表白.情人节浪漫的必需品! 1.使用豆瓣镜像源下载: pyinstaller 有需要了解如何使用国内镜像的小伙伴可以滴滴到此: 国内镜像源详细使用教程! https://blog.csdn.net/xtreallydance/article/details/112596963 在python终端或者cmd中输入此命令: pip install pyinstaller -i https://p
随机推荐
- seajs实现强制刷新本地缓存的方法分析
- GO语言实现的http抓包分析工具pproxy介绍
- VBS教程:方法-GetDriveName 方法
- Node.js利用js-xlsx处理Excel文件的方法详解
- 老生常谈设计模式之动态代理
- 利用Python获取赶集网招聘信息前篇
- ajaxpro.dll 控件实现异步刷新页面
- 纯JS代码实现气泡效果
- C++输出斐波那契数列的两种实现方法
- JS判断对象是否存在的10种方法总结
- iframe 父窗口和子窗口相互的调用方法集锦
- 怎样调用动态获取的自定义对象的方法
- ajax+php中文乱码解决办法
- javaweb中Http协议详解
- jquery 关于event.target使用的几点说明介绍
- jQuery实现用户输入自动完成功能
- 用C++面向对象的方式动态加载so的方法
- Android 仿今日头条简单的刷新效果实例代码
- C#实现的简单验证码识别实例
- Android中创建一个透明的进度对话框实例