《 Python笔记》— 将pyinstalller打包封装的exe文件反编译为pyc文件和python文件

23 篇文章 4 订阅
18 篇文章 2 订阅

将pyinstalller打包封装的exe文件反编译为pyc文件和py文件

很多开发者没有发布源程序代码,而是将代码封装为exe可执行文件,这样不仅更有利于程序传播,方便了普通用户使用,而且相当于源程序更加保密或者说不公开自己的源码,但是对于同样也是开发者的话,就比较麻烦了。
那么难得真的就不能获得源码了吗,此时需要怎么办呢?
答案是:逆向反编译

对于用pyinstaller包将python程序代码打包封装的.exe文件怎么将其反编译出原始的python代码?
大体分为两步,提取.pyc文件和反编译,下面本文将提供详细步骤。


如何将Python程序打包为exe可执行文件?
请阅读另一篇文章:
https://blog.csdn.net/meenr/article/details/124549871


1 提取.pyc文件

第一步提取.pyc文件,从 .exe文件提取.pyc文件
首先需要用到pyinstxtractor.py脚本文件,从exe文件中提取出pyc文件。
1: 将.exe文件和pyinstxtractor.py文件放到同一路径下
pyinstxtractor.py文件的下载链接如下:
点击下载
https://pan.baidu.com/s/1J2FIomqpkIRm41JVJZy4Sw
提取码: 6yik

注:pyinstxtractor.py文件是一个专门用来反向解析pyinstaller打包的exe文件的脚本

2: 在当前路径下打开powershell 或 cmd命令行 cd 到该路径下

3: 在命令行中输入下面内容,并回车执行

python pyinstxtractor.py main.exe

运行完成后,在当前路径下回出现一个新的文件夹,打开则可以找到.pyc文件。

2 反编译

将获得的.pyc文件反编译为python程序
第1步: 安装uncompyle

pip install uncompyle

第2步:
文件所在文件目录执行如下命令:

uncompyle6 main.pyc > out.py

注:uncompyle6 包可以将python的二进制代码反向转换为python源代码

文件结构

以2贰进制小工具-批量给图片加水印应用程序(详见下面批量添加水印链接博文:批量添加水印)为例:
做如下总结:
exe文件通过pyinstxtractor.py脚本可直接反向编译为 → Watermark.pyc (Python二进制文件)
再通过uncompyle包将Watermark.pyc (Python二进制文件)转为 → out.py (Python源码)
在这里插入图片描述

更多内容

公众号地址:
https://mp.weixin.qq.com/s/ynG-dNNqO8kjIdf6ZFiZbg

CSDN主页地址:
https://blog.csdn.net/meenr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunAqua

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值