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通过urllib2爬网页上种子下载示例
Feb 24 Python
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
python链接Oracle数据库的方法
Jun 28 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
Python实现按中文排序的方法示例
Apr 25 Python
python 删除非空文件夹的实例
Apr 26 Python
在python中使用with打开多个文件的方法
Jan 07 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
Django视图、传参和forms验证操作
Jul 15 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/03/27 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
新手简单了解vue
2019/05/29 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
前端性能优化建议
2020/09/17 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python中List.index()方法的使用教程
2015/05/20 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
Python3 中文文件读写方法
2018/01/23 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
Python读取表格类型文件代码实例
2020/02/17 Python
python 5个实用的技巧
2020/09/27 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
幼师辞职信范文大全
2015/05/12 职场文书