pyinstaller还原python代码过程图解

作者:potatso 时间:2022-04-09 10:06:59 

这篇文章主要介绍了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代码过程图解

来源:https://www.cnblogs.com/potatsoSec/p/12155892.html

标签:py,installer,还原,python,代码
0
投稿

猜你喜欢

  • python游戏测试工具自动化遍历游戏中所有关卡

    2021-10-05 13:03:20
  • 在linux下实现 python 监控usb设备信号

    2022-04-18 15:29:24
  • 讨论闭包传入参数:window & undefined

    2010-05-19 12:55:00
  • ASP面向对象编程探讨及比较

    2008-04-12 07:16:00
  • python中GIL的原理及用法总结

    2023-03-11 07:43:13
  • python安装pillow的三种方法

    2023-07-20 02:36:53
  • 同时安装sql2000和sql2005,经验点滴

    2008-03-04 17:56:00
  • Dreamweaver 4.0使用技巧集锦

    2007-11-08 12:47:00
  • Oracle 下医嘱执行函数

    2009-03-02 10:49:00
  • SQL Server数据库查询优化的常用方法总结

    2008-12-10 14:43:00
  • ThinkPHP使用smarty模板引擎的方法

    2023-11-14 11:37:19
  • Python原始字符串(raw strings)用法实例

    2021-05-04 18:29:27
  • python统计中文字符数量的两种方法

    2022-11-16 00:24:08
  • python的函数最详解

    2022-02-15 17:05:05
  • Python获取指定网段正在使用的IP

    2022-04-22 23:49:27
  • Mysql数据库备份和还原常用的命令

    2011-12-01 10:41:54
  • Python简单生成随机数的方法示例

    2021-01-21 02:30:37
  • Opera下cloneNode的bug

    2007-11-23 11:40:00
  • 浮动元素对浏览器的支持

    2008-02-02 10:05:00
  • python判断一个集合是否包含了另外一个集合中所有项的方法

    2022-01-15 19:08:06
  • asp之家 网络编程 m.aspxhome.com