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基于PycURL实现POST的方法
Jul 25 Python
python selenium UI自动化解决验证码的4种方法
Jan 05 Python
Python实现PS图像明亮度调整效果示例
Jan 23 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
python自动化测试之如何解析excel文件
Jun 27 Python
django之静态文件 django 2.0 在网页中显示图片的例子
Jul 28 Python
TFRecord格式存储数据与队列读取实例
Jan 21 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
Python3基于print打印带颜色字符串
Jul 06 Python
Python文件的操作示例的详细讲解
Apr 08 Python
python执行js代码的方法
May 13 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显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
jQuery绑定事件的几种实现方式
2016/05/09 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
Python 中迭代器与生成器实例详解
2017/03/29 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python阶乘求和的代码详解
2020/02/14 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
伊索寓言教学反思
2014/05/01 职场文书
公司表扬信格式
2015/05/04 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
六一儿童节致辞
2015/07/31 职场文书
高中历史教学反思
2016/02/19 职场文书
导游词之包公祠
2019/11/25 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android