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使用htpasswd实现基本认证授权的例子
Jun 10 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
在CMD命令行中运行python脚本的方法
May 12 Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 Python
利用Python库Scapy解析pcap文件的方法
Jul 23 Python
Python的互斥锁与信号量详解
Sep 12 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
如何使用 Flask 做一个评论系统
Nov 27 Python
如何利用python正则表达式匹配版本信息
Dec 09 Python
用Python爬虫破解滑动验证码的案例解析
May 06 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/09/07 PHP
初品cakephp 入门基础
2012/02/16 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
php修改数组键名的方法示例
2017/04/15 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
在Python的Django框架中编写编译函数
2015/07/20 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python中进程和线程的区别详解
2017/10/29 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
详解python中init方法和随机数方法
2019/03/13 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书