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中的连接符(+、+=)示例详解
Jan 13 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
图解Python变量与赋值
Apr 03 Python
pandas多级分组实现排序的方法
Apr 20 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
Python超越函数积分运算以及绘图实现代码
Nov 20 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
Mar 06 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
Python pip安装第三方库实现过程解析
Jul 09 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 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
德劲1103二次变频版的打磨
2021/03/02 无线电
php mysql索引问题
2008/06/07 PHP
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
Vue异步加载about组件
2017/10/31 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
python计算最大优先级队列实例
2013/12/18 Python
Python实现学生成绩管理系统
2020/04/05 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
python中Lambda表达式详解
2019/11/20 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
表达自我的市场:Society6
2018/08/01 全球购物
内科护士实习自我鉴定
2013/10/17 职场文书
历史系自荐信范文
2013/12/24 职场文书
班组长岗位职责
2014/03/03 职场文书
公司保密承诺书
2014/03/27 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
七一晚会主持词
2015/06/29 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers