目录

  • 将pyinstalller打包封装的exe文件反编译为pyc文件和py文件
    • 1 提取.pyc文件
    • 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

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

  1. 将exe4j打包的java exe程序反编译过程

    开始,我用了http://blog.csdn.net/lanximu/article/details/16879545的方法,但十六进制文件看着有乱码,试着截了几次进行压缩,但都不对,不管是用ultr ...

  2. 【干货】Python文件打包 .exe文件反编译

    一.Python文件 打包 成 .exe 可执行文件 第一步:安装pyinstaller 首先安装pyinstall,使用命令:pip3 install pyinstaller,当然有可能报错,如下图 ...

  3. Python代码封装的可执行exe文件反编译为Py脚本

    起因是笔者有个课,教图形图像学,作业的代码调不出老师的效果,于是就又有了hack的想法,把老师给的用来演示的exe文件反编译.主要是根据这篇文章的方法来的.将 exe 文件反编译成 Python 脚本 ...

  4. unity 打包的exe进行反编译

    首先找到打完的exe包 然后依次打开 xxxxx _Data>Managed找到Assembly-CSharp.dll这个文件 反编译工具 dnSpy 请出反编译的工具 dnSpy 然后将这个d ...

  5. exe反编译为pyc,再反编译为py

    第一步反编译:exe到pyc 参考这篇文章,写的很好:有个注意点就是pyc文件必须加文件头. pyinstaller打包的.exe文件反编译成.py文件 - no1r - 博客园 (cnblogs.c ...

  6. so文件反编译为python代码_【反编译系列】四、反编译so文件(IDA_Pro)

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 安卓应用程序的开发语言是java,但是由于java层的代码很容易被反编译,而反编译c/c++程序的难度比较大,所以现在很多安卓应用程 ...

  7. 初识Ildasm.exe——IL反编译的实用工具(转自Youngman)

    Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序--Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且 ...

  8. 【python】pyc文件反编译为py文件

    需求:把项目里的 pyc 文件反编译出来,查看接口函数的逻辑 解决方案:uncompyle6可将python字节码转换回等效的python源代码,它接受python 1.3版到3.8版的字节码 具体实 ...

  9. 什么是pyc文件,把python的py文件编译成pyc文件,把pyc文件反编译成py文件。以及python编译的如何设置不生成pyc文件

    文章目录 1 什么是pyc文件 1.1 什么是pyc文件 1.2 pyc文件是怎么生成的,有什么好处 2 把python的py文件编译成pyc文件 2.1 使用python内置库py_compile把 ...

  10. Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)

    此文章自己做个学习记录,也希望对跟我有一样困扰的同学一些帮助! 使用到的工具下载链接我都已经附上,点击下面蓝色字体可直接下载: 1.pyinstxtractor.py 2.wxMEDIT 3.在线编译 ...

最新文章

  1. express支持i18n国际化
  2. r语言x%3c-读取文件,R语言读写最灵活的文件——txt文件
  3. WINCE6开机进度条
  4. 修改git历史提交的commit信息
  5. 标记三维点_便携式3D扫描仪全自动三坐标测量机三维扫描设计扫描测量摄影
  6. Linux后台进程(和jobs、bg、fg)
  7. 洛谷 字符串题单P1957:口算练习题
  8. 宁德时代推出“巧克力换电块”;热干面、小笼包、胡辣汤登上肯德基菜单 | 美通社头条...
  9. 动态与静态Shape
  10. 渗透测试 | IP信息收集
  11. 2019 小米校招笔试题 小米大礼包
  12. 看 Go 中的 struct 如何被优化,还有小插曲
  13. 重学Android基础系列篇(五):Android虚拟机指令
  14. papi酱视频因违规遭下线整改,你知道原因吗?
  15. Oracle中对数据分组统计
  16. php源码二次开发的技术,Thinkphp二次开发威客RW平台源码详细搭建教程(技术分享帖)-一颗优雅草科技yungui...
  17. 说一说美国大学常用的课本吧,各位想自学的可以参考
  18. 操作系统——进程之基本介绍
  19. 电线旋转接头主要的连接方法是什么
  20. QQ情话糖果情话内容获取并保存

热门文章

  1. 【论文】动态贝叶斯网络用于时序建模及动作分类
  2. 系统集成的系统架构图的相关的vsd素材_visio素材库
  3. W25Q16 存储器(Flash)
  4. 【软考】2019 上半年软件设计师 下午真题及答案
  5. 如何设计会员体系中心
  6. 【车载】FMEA、FTA、FMEDA
  7. matlab模糊数学隶属问题,模糊数学模型matlab
  8. python定时重启程序
  9. Microsoft Office Visio 2007和Microsoft Office Project 2007下载
  10. Microsoft Office 2016 简体中文 Vol 版镜像下载(Pro Plus、Visio、Project 下载)