Python 打包的EXE文件反编译2|pyc文件自动反编译

本文介绍了如何将Python打包的EXE文件反编译为pyc,然后使用uncompyle6工具将pyc反编译回py源代码。uncompyle6是一个支持多版本Python字节码的反编译器,使得源码保密变得相对困难。在Windows环境下,通过将uncompyle6添加到环境变量,可以方便地进行反编译操作。
摘要由CSDN通过智能技术生成

Python 打包的EXE文件反编译说明

        python脚本编写完毕后,我们可以将其打包成exe文件发给别人,这样别人就可以直接运行,而不用安装相应的包和python运行环境了,同时,也能对我们的源码进行保密。但是,这种方法只能在一定程度上进行源码保密,对于熟悉python exe逆向工程的开发者来说,想要看到源码还是很简单的。

        下面会对Python 打包的EXE文件反编译方法进行详细的介绍。

概括

Python 打包的EXE文件反编译工作主要分为两部分:

1.EXE文件反编译为pyc文件;

2.pyc文件反编译为py文件;

此篇文章主要介绍如何将pyc文件反编译为py文件

上一篇文章已经讲过如何将EXE文件反编译为pyc文件

或者点击下面链接直达

Python 打包的EXE文件反编译1|EXE文件反编译为pyc文件https://blog.csdn.net/zh6526157/article/details/121556378

介绍

uncompyle6是一个原生python的跨版本反编译器和fragment反编译器,是decompyle、uncompyle、uncompyle2等的接替者。

uncompyle6可将python字节码转换回等效的python源代码,它接受python 1.3版到3.8版的字节码,这其中跨越了24年的python版本,此外还包括Dropbox的Python 2.5字节码和一些PyPy字节码。

github项目:https://github.com/rocky/python-uncompyle6

------------------

安装

pip install uncompyle6

(事实上,pip install uncompyle2 也会跳到安装uncompyle6)

使用

执行指令1

-o outfile必须先写,例如有一个pcat.pyc,想反编译输出文件为pcat.py

uncompyle6 -o pcat.py pcat.pyc

执行指令2

uncompyle6 pcat.pyc > pcat.py

windows上使用uncompyle6

事实上比uncompyle2容易多了,在windows里pip安装后,会在%python_home%\Scripts\目录下生成uncompyle6.exe

所以只要你把%python_home%\Scripts\加入到windows的环境变量里,即可像在linux上般使用uncompyle6命令。

右键添加快捷反编译的方法

1.python3 安装 uncompyle6.exe
pip installer  uncompyle6 -i https://pypi.mirrors.ustc.edu.cn/simple/
#安装成功后,在python的Scripts文件中找到uncompyle6.exe
#拷贝出来,放到自己需要的目录下,也可以不拷贝,看自己需要
2.编辑  pyc反编译.bat 文件
 路径要uncompyle6.exe的实际存放位置。

@echo off
D:
cd D:\2.tools\ctf-tool\re\uncompyle
set path=%~dp1
start uncompyle6.exe -o %path%\. %1
pause

3.运行中输入shell:SendTo 将bat文件放进去


4.使用
右键点击需要反编译的pyc文件,发送到"pyc反编译.bat"  就会在当前目录下生成编译的py文件

今日美图

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

《代码爱好者》

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

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

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

打赏作者

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

抵扣说明:

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

余额充值