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 01 Python
python数据结构之链表详解
Sep 12 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
python下载微信公众号相关文章
Feb 26 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
Python字符串的修改方法实例
Dec 19 Python
Python读取分割压缩TXT文本文件实例
Feb 14 Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
Feb 28 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
python如何实现word批量转HTML
Sep 30 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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
其他功能
2006/10/09 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
python实现udp数据报传输的方法
2014/09/26 Python
解析Python中的异常处理
2015/04/28 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
基于python3生成标签云代码解析
2020/02/18 Python
jupyter notebook实现显示行号
2020/04/13 Python
在keras里实现自定义上采样层
2020/06/28 Python
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
应届生高等护理求职信
2013/10/12 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
安全责任书范文
2014/03/12 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
嘉宾邀请函
2015/01/31 职场文书
民间借贷借条如何写
2015/05/26 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书