pyinstaller还原python代码过程图解
作者:potatso 时间:2022-04-09 10:06:59
这篇文章主要介绍了pyinstaller还原python代码过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
pyinstaller 的作用就是将python打包成对应平台的可执行文件。一般这种可执行文件的体积都比较大。
我们可以先通过逆向软件查看一下具体信息
查看字符串信息 只要有诸如以上的字符串 就说明这个可执行文件有很大程度上是通过pyinstaller打包的 解密方法有两个
1. pyinstxtractor.py
方法很简单 直接python pyinstxtractor.py 待解密的文件
当然有可能会报错,不过绝大多数情况下是可以使用的
2. pyi-archive_viewer
通过查看pyinstaller的文档,发现提供pyi-archive_viewer这样一款工具,去提取可执行文件中的py代码。根据官网的介绍,这款工具的作用就是查看可执行文件中的各种py代码。如图
https://pyinstaller.readthedocs.io/en/v3.3.1/advanced-topics.html
首先要pip install pyinstaller ,安装pyinstaller 才能使用pyi-archive_viewer这条命令
执行如图命令
这时就会列出集成进去的py包
找到那个py文件,提取出来
现在就已经还原pyc代码了。
pyinstaller还有一个问题,就是他在打包pyc的时候,会去掉pyc的magic和时间戳。所以我们需要手工修复。pyinstaller在打包的系统库的时候是不会去掉magic的,所以我们查看一下系统库的magic,如下
magic为\x03\xf3\x0d\x0a,时间戳的话,随便写一个就行,不过必须是4个字节
如图修复
保存,然后找个pyc还原py代码的网站就可以了。
至此,完整的提取出pyinstaller打包的文件了。
来源:https://www.cnblogs.com/potatsoSec/p/12155892.html


猜你喜欢
SqlDateTime溢出该怎么解决
Python基于pyecharts实现关联图绘制

Python 处理带有 \\u 的字符串操作

使用Python AIML搭建聊天机器人的方法示例
pycharm 如何跳出服务器证书不受信任的提示

浅谈javascript的分号[译]
MYsql库与表的管理及视图介绍

asp Server对象之MapPath方法
python中GIL的原理及用法总结
MYSQL 一个巧用字符函数做数据筛选的题
xmlhttp 乱码 比较完整的解决方法 (UTF8,GB2312)
基于python分享极坐标下的几类典型曲线

Python实现发送邮件到自己邮箱

matplotlib更改窗口图标的方法示例
Python反射和内置方法重写操作详解
python flask中静态文件的管理方法
Linux下用Python脚本监控目录变化代码分享
实现用python算法计算圆周率的小诀窍

MySQL Cluster集群的初级部署教程
