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实现的数据结构与算法之基本搜索详解
Apr 22 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
Python编程pygal绘图实例之XY线
Dec 09 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
5款Python程序员高频使用开发工具推荐
Apr 10 Python
Python时间序列缺失值的处理方法(日期缺失填充)
Aug 11 Python
python getopt模块使用实例解析
Dec 18 Python
Python如何在main中调用函数内的函数方式
Jun 01 Python
python爬虫基础知识点整理
Jun 02 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
python调用有道智云API实现文件批量翻译
Oct 10 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 xml实例 留言本
2009/03/20 PHP
php后台程序与Javascript的两种交互方式
2009/10/25 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
文本框的字数限制功能jquery插件
2009/11/24 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
Python的subprocess模块总结
2014/11/07 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
光声世纪笔试题目
2012/08/25 面试题
什么是索引指示器
2012/08/20 面试题
上班看电影检讨书
2014/02/12 职场文书
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
党员一帮一活动总结
2014/07/08 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python