pyinstaller还原python代码过程图解


Posted in Python onJanuary 08, 2020

这篇文章主要介绍了pyinstaller还原python代码过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

pyinstaller 的作用就是将python打包成对应平台的可执行文件。一般这种可执行文件的体积都比较大。
我们可以先通过逆向软件查看一下具体信息

pyinstaller还原python代码过程图解

查看字符串信息 只要有诸如以上的字符串 就说明这个可执行文件有很大程度上是通过pyinstaller打包的 解密方法有两个

1. pyinstxtractor.py

方法很简单 直接python pyinstxtractor.py 待解密的文件

当然有可能会报错,不过绝大多数情况下是可以使用的

pyinstaller还原python代码过程图解

2. pyi-archive_viewer

通过查看pyinstaller的文档,发现提供pyi-archive_viewer这样一款工具,去提取可执行文件中的py代码。根据官网的介绍,这款工具的作用就是查看可执行文件中的各种py代码。如图

https://pyinstaller.readthedocs.io/en/v3.3.1/advanced-topics.html

pyinstaller还原python代码过程图解

首先要pip install pyinstaller ,安装pyinstaller 才能使用pyi-archive_viewer这条命令
执行如图命令

pyinstaller还原python代码过程图解

这时就会列出集成进去的py包

找到那个py文件,提取出来

pyinstaller还原python代码过程图解

现在就已经还原pyc代码了。

pyinstaller还有一个问题,就是他在打包pyc的时候,会去掉pyc的magic和时间戳。所以我们需要手工修复。pyinstaller在打包的系统库的时候是不会去掉magic的,所以我们查看一下系统库的magic,如下

pyinstaller还原python代码过程图解

magic为\x03\xf3\x0d\x0a,时间戳的话,随便写一个就行,不过必须是4个字节

如图修复

pyinstaller还原python代码过程图解

保存,然后找个pyc还原py代码的网站就可以了。

至此,完整的提取出pyinstaller打包的文件了。

pyinstaller还原python代码过程图解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 文件和路径操作函数小结
Nov 23 Python
浅谈Python处理PDF的方法
Nov 10 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
Python采集代理ip并判断是否可用和定时更新的方法
May 07 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
如何给Python代码进行加密
Jan 10 Python
python 解决tqdm模块不能单行显示的问题
Feb 19 Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 Python
如何基于python3和Vue实现AES数据加密
Mar 27 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 03 Python
利用Python实现Picgo图床工具
Nov 23 Python
python Tensor和Array对比分析
Jan 08 #Python
Pycharm小白级简单使用教程
Jan 08 #Python
python如何实现不可变字典inmutabledict
Jan 08 #Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 #Python
python从内存地址上加载python对象过程详解
Jan 08 #Python
PyCharm第一次安装及使用教程
Jan 08 #Python
Python namedtuple命名元组实现过程解析
Jan 08 #Python
You might like
php实现的用户查询类实例
2015/06/18 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
SVM基本概念及Python实现代码
2017/12/27 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
django settings.py 配置文件及介绍
2019/07/15 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
Python底层封装实现方法详解
2020/01/22 Python
Python如何操作docker redis过程解析
2020/08/10 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
酒店收银员岗位职责
2015/04/07 职场文书