记一次对pyinstaller打包的,无加壳exe程序的反编译。之前,有位朋友写了有关学校充电费的程序,打包成了exe,现在学校充电费的网站更新了,我就想把这位朋友写的程序反编译一下,然后进行代码修改。

首先:

将朋友写的exe程序放进HXD中,发现朋友也正好是用python3.7写的程序。在HXD中,结尾部分可多次发现py3.7之类的字符。

由于我们两个的python版本都是3.7,为接下来的反编译减去了不少的麻烦。

工具

接下来的反编译需要一个脚本pyinstxtractor.py。可在如下网站中下载:
pyinstxtractor
接下来将要进行反编译的exe程序与下载下来的脚本放到同一个目录下,然后通过cmd命令:

python pyinstxtractor.py 待反编译的exe文件

如果你的python版本与待反编译的exe文件python版本一致,会出现如下画面:

然后在当前目录下,你会看到生成的一个新的文件夹,以extracted结尾的文件夹,然后进入。

开始利用HXD

进入之后找到程序命名的文件,例如你的exe名为login.exe,那么你要找的文件便是login。然后要找到struct文件。如图:

将这两个文件拖入HXD,发现struct比程序文件多了十六个字节,如图


将struct多的那十六个字节补充进login头部中,并将新产生的文件命名为pyc文件。

进行pyc反编译

将得到的pyc文件,通过uncompyle6进行反编译。
对uncompyle6进行安装

pip install uncompyle6

然后通过命令进行反编译:

uncompyle6.exe file.pyc > file.py

就可以得到py源代码文件了。

补充
若打包的python不存在自写库,那么反编译就基本结束了,若还有作者自己写的库,那么还得将作者自写的库反编译一下。在如下文件夹中,将自写库反编译出来。

对python3.7打包而成的exe进行反编译相关推荐

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

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

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

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

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

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

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

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

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

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

  6. exe4j生成的exe文件反编译

    现在网络上越来越流行.net和java写的客户端的小应用程序,而且后缀是exe.本文讨论的是如何从exe4j封装的exe文件中将自己想要的jar抽取出来. exe4j一直是一种比较通用的java ex ...

  7. 【Java 虚拟机原理】Dalvik 虚拟机 ( 打包 Jar 文件和 Dex 文件 | 反编译 Dex 文件 | 分析 Dex 文件反编译结果 )

    文章目录 前言 一.打包 Jar 文件和 Dex 文件 1.示例代码 2.打包 Jar 文件 3.打包 Dex 文件 二.反编译 Dex 文件 三.分析 Dex 文件 1.Student 类相关信息 ...

  8. pyinstaller 打包exe 防反编译(加密)

    如果对安全性要求不高,可以选择直接将py文件,打包成exe即可,解压出来的是pyc文件,pyc文件还原成源码,也是有一定复杂度的,相对而言也是有一定的安全性的 在源文件同级目录下创建build文件 b ...

  9. python pyinstaller 打包的exe程序 反编译源码

    首先找到 pyinstxtractor 程序 https://github.com/extremecoders-re/pyinstxtractor 执行 这个 python 程序把要破解的exe程序名 ...

最新文章

  1. mysql5.5与5.5版本关于修改字符集的方法
  2. 12月13日主题讨论日
  3. mysql中建立索引的原则_在SQL数据库中设定索引的原则是什么?(注意是设定不是创建)...
  4. 微信小程序的基础 (一)
  5. VBA 脚本快速copyExcel单元格的格式
  6. windows模拟微信小程序_Windows 版微信新版本内测!小程序可以直接添加到电脑桌面了...
  7. 4个人的学校(转载)
  8. 项目移植过程中报:“Project facet Java version 1.7 is not supported.” 错误
  9. 【详细步骤】小米路由器认证锐捷账号教程(mentohust)
  10. w8系统服务器垃圾清理,win8系统盘太大怎么办?来给TA瘦身吧! | SDT技术网
  11. 机器学习笔记 - 探索性数据分析(EDA) 概念理解
  12. 线性代数的本质(第一部分)
  13. 分类模型confusion matrix混淆矩阵可视化
  14. Scala中的方法函数的定义
  15. 大数据加工的方法,主要分为哪几种?
  16. 程序员转行一般是因为什么,会去哪些行业?
  17. 如何利用路由器连接wifi并将wifi网络分发出去
  18. 拓扑排序 POJ - 3687反向图跑字典序(重边)
  19. karaf学习 (2)
  20. 《ISLR》学习笔记 —— Bagging、随机森林、Boosting

热门文章

  1. Ubuntu——多线程实现单词统计工具
  2. Laya水波shader
  3. win7系统开启snmp服务器配置,win7 开启 snmp服务器配置
  4. 物流车队养内鬼1年半盗1680部iPhone4S
  5. 2020年中国FEVE氟碳涂料行业市场运行现状及需求结构分析[图]
  6. Oracle hh24和hh时间格式的区别 以及怎样打印含有“年月日”字符格式的日期
  7. 浅谈android源码之system
  8. 图神经网络(GNN)的基本原理
  9. Matlab Robotics project 1 phase 1 <Experiment Recording>
  10. sleep睡眠时间的疑问