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批量同步web服务器代码核心程序
Sep 01 Python
Python中的True,False条件判断实例分析
Jan 12 Python
Python中eval带来的潜在风险代码分析
Dec 11 Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 Python
Python3.7实现中控考勤机自动连接
Aug 28 Python
浅谈numpy生成数组的零值问题
Nov 12 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
通过实例了解python property属性
Nov 01 Python
python 使用opencv 把视频分割成图片示例
Dec 12 Python
python opencv图片编码为h264文件的实例
Dec 12 Python
Python获取二维数组的行列数的2种方法
Feb 11 Python
Tensorflow 模型转换 .pb convert to .lite实例
Feb 12 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php删除文本文件中重复行的方法
2015/04/28 PHP
ThinkPHP实现附件上传功能
2017/04/27 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Python中标准库OS的常用方法总结大全
2017/07/19 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Python装饰器用法示例小结
2018/02/11 Python
django ajax json的实例代码
2018/05/29 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
python制作微博图片爬取工具
2021/01/16 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
阿里巴巴英国:Alibaba英国
2019/12/11 全球购物
override和overload的区别
2016/03/09 面试题
自行车广告词大全
2014/03/21 职场文书
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
运动会报道稿大全
2015/07/23 职场文书