将python生成的exe文件反编译成py文件的方法

这篇具有很好参考价值的文章主要介绍了将python生成的exe文件反编译成py文件的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

闲来无事,就喜欢瞎折腾,之前用python打包过exe小工具,然后今天就突然想到,既然能打包,那就肯定能反编译成py文件,为了这个想法,就网上查资料,自己操作了一下,过程参考了文章:

https://www.cnblogs.com/smart-zihan/p/14434498.html

如果觉得我写的看不懂,可以去看这个,哈哈哈

逻辑

这个逻辑的话,其实很简单,但是里面的详细原理,就要再研究研究了(本人不才,只知其然,不知其所以然)

首先,.py文件打包生成exe文件的过程就不过多讲了,网上有很多资料,我之前文章也写过(利用pyinstaller打包)

然后说下反编译的过程,总体逻辑就两步:

1、将.exe反编译成.pyc的二进制文件
2、将.pyc文件反编译成.py文件

需要用到的插件有以下三个,这两个到网上找下资源,自己下载一下:

pyinstxtractor.py

uncompyle6

16进制编辑器(16进制编辑器(HxD Hex Editor) v2.2.1.0 绿色中文版 下载-脚本之家)

然后下面说下具体操作步骤。

操作步骤

1.首先,这两个文件放到同一个文件路径下(exe文件就是此次需要反编译的文件,pyinstxtractor.py文件是需要下载的插件)

exe转py,pycharm,ide,python

然后在cmd命令行或者pycharm中执行以下命令:

python pyinstxtractor.py gxtest2023060101.exe

exe转py,pycharm,ide,python

对应路径下会生成一个文件夹

exe转py,pycharm,ide,python

2.然后将生成的文件夹中,对应的以下两个文件拷贝出来(其中一个是与exe文件名字相同的,没有后缀的) 

exe转py,pycharm,ide,python

3.然后用16进制编辑器打开上述两个文件,下图是struct文件,可以看出,struct文件和gxtest2023060101文件中都有E3字段,不同的是,struct文件中,在E3前面多了一行,所以要把这一行的数据拷贝到gxtest2023060101文件中(直接在这个工具中拷贝就行),拷贝完成后,将gxtest2023060101文件另存为gxtest2023060101.pyc文件(加个后缀)

 

exe转py,pycharm,ide,python

exe转py,pycharm,ide,python

4.以上都做完后,最后执行命令: uncompyle6 -o gxtest2023060101.py gxtest2023060101.pyc

exe转py,pycharm,ide,python

然后在文件夹中查看,就会发现新增一个.py文件

exe转py,pycharm,ide,python

 这个反编译的文件和原始文件,会有些不同,一是注释没有了,二是双引号变成单引号了

 

总结

整体来说不复杂,后面有时间可以再加一层加密,就是反编译过程中加密一层,这样可以避免别人破解自己的代码文章来源地址https://www.toymoban.com/news/detail-700938.html

到了这里,关于将python生成的exe文件反编译成py文件的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Pycharm一键将.ui文件生成.py文件配置教程、一键打开QTDesigner教程

    2df3621a-7ffd-4f18-9735-b86464b83a5b 前言 我痛恨所有将白嫖归为理所应当的猪🐖。 教程 打开pycharm之后,依次点击File-Settings-Tools-External Tools,进入如下界面: 1、配置快捷打开Qt Designer 点击+号,开始我们的配置,首先配置快捷打开Qt Designer软件的配置项,配置了之后,我们直接点击

    2024年01月16日
    浏览(48)
  • 【Python打包成exe】快速将多个py文件及其他文件打包为exe可执行文件

    尝试了很多种Python打包为exe可执行文件的方式,通过总结,得出一种最简洁、最有效的打包方式分享给大家! 准备好将要打包的工程文件(夹) 如上图所示, 首先将主文件UI.py和文件夹./file放在一级文件夹./YW下方,如果有同级其他.py文件与UI.py放在同一级文件夹即可! 然后

    2024年01月21日
    浏览(46)
  • py2exe打包Python程序为Windows下的exe执行文件

    py2exe 是一个将 Python 脚本转换成 Windows 上可独立执行的**.exe 程序的工具,这样就可以在不用装Python解析器的情况下在 Windows**系统上运行这个可执行程序。 py2exe 已经被用于创建 wxPython 、 Tkinter 、 Pmw 、 PyGTK 、 pygame 、 win32com client和server ,和其它的独立程序。 py2exe 是发布在开

    2024年02月04日
    浏览(47)
  • 如何将Python文件.py打包成.exe可执行程序(最简教程吗)

    相信对python有过学习的朋友都知道可以用IDLE编写并跑一跑python, 但是 如何做到别人电脑没有装python的情况下运行python的脚本呢?( 看标题 ) 这里简单提一下.exe 可执行程序   .exe是文件扩展名,带有.exe扩展名的文件名按下Enter 键就可运行。这么个意思不就是: 不需要有p

    2024年02月05日
    浏览(109)
  • 【Python小工具】解决Python的Pyinstaller将.py文件打包成.exe可执行文件后文件过大的问题

    在文章 【Python小项目】Python的GUI库Tkinter实现随机点名工具或抽奖工具并封装成.exe可执行文件中我们实现了一个python小项目的制作并将其打包成了.exe可执行文件。但是,当我们查看了一下文件大小后,好家伙,一百多行代码打包完竟然有242M。于是,我们静下心来思考,是不

    2024年02月10日
    浏览(56)
  • C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

    1、如下几张图,提示很友好,但我都点击了确定,并进行了运行,提示: 此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何。。。 2、根据提示安装依赖库 (1)搜索栏搜索应用Visual Studio Installer (2)双击打开,选择单个组件安装,选择 MFC 库(

    2024年02月06日
    浏览(97)
  • 如何将Python文件打包成.exe文件(利用PyCharm)

    自上次的用Python写一个假的病毒炸弹的代码,现在将它作为例子用PyCharm打包成一个exe文件 首先我们要确保我们的PyCharm有下载安装pip,若没有则打开terminal对话框输入: 如下图 安装完pip后,我们现在利用pip来下载pyinstaller 还是打开刚才的terminal输入: 回车执行 在terminal中输入

    2024年02月09日
    浏览(48)
  • 利用Pycharm将python程序打包为exe文件(亲测可用)

            最近做了一个关于py的小项目,对利用Pycharm将python文件打包为exe文件不是很熟悉,故学习记录之。 目录 一、下载pyinstaller库 二、打开Pycharm进行打包(不更改图标) 三、打开Pycharm进行打包(更改图标)   1. 点击win+r,输入cmd打开控制管理器 2. 输入pip install pyins

    2024年02月08日
    浏览(46)
  • Windows编译开源代码方法之关于lame.exe文件的测试及过程

    可以看到成功编译了源代码为exe也就是可执行文件 在这个例子中,lame的源文件中的INSTALL文件中的说明很全。所以配置好环境之后就可以编译了。主要是学到了不少东西。 之前我一直是在Linux上操作的,Linux对源码的支持度比较好,我也查了原因后面我会放链接。而到了wind

    2024年02月11日
    浏览(34)
  • Python IDE Pycharm服务器配置方法并结合内网穿透工具实现远程开发

    本文主要介绍如何使用Pycharm进行远程开发,并实现在家远程与公司服务器资源同步。 新版本 Jetbrains 系列开发IDE( IntelliJ IDEA , PyCharm , GoLand )等都支持远程使用服务器编译,并且可以 通过SFTP同步本地与服务器项目代码 。 这样做的好处是**我们只要连接上服务器就能开始

    2024年02月04日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包