对python3.7打包而成的exe进行反编译
记一次对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进行反编译相关推荐
- 【干货】Python文件打包 .exe文件反编译
一.Python文件 打包 成 .exe 可执行文件 第一步:安装pyinstaller 首先安装pyinstall,使用命令:pip3 install pyinstaller,当然有可能报错,如下图 ...
- Python代码封装的可执行exe文件反编译为Py脚本
起因是笔者有个课,教图形图像学,作业的代码调不出老师的效果,于是就又有了hack的想法,把老师给的用来演示的exe文件反编译.主要是根据这篇文章的方法来的.将 exe 文件反编译成 Python 脚本 ...
- 初识Ildasm.exe——IL反编译的实用工具(转自Youngman)
Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序--Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且 ...
- 将exe4j打包的java exe程序反编译过程
开始,我用了http://blog.csdn.net/lanximu/article/details/16879545的方法,但十六进制文件看着有乱码,试着截了几次进行压缩,但都不对,不管是用ultr ...
- unity 打包的exe进行反编译
首先找到打完的exe包 然后依次打开 xxxxx _Data>Managed找到Assembly-CSharp.dll这个文件 反编译工具 dnSpy 请出反编译的工具 dnSpy 然后将这个d ...
- exe4j生成的exe文件反编译
现在网络上越来越流行.net和java写的客户端的小应用程序,而且后缀是exe.本文讨论的是如何从exe4j封装的exe文件中将自己想要的jar抽取出来. exe4j一直是一种比较通用的java ex ...
- 【Java 虚拟机原理】Dalvik 虚拟机 ( 打包 Jar 文件和 Dex 文件 | 反编译 Dex 文件 | 分析 Dex 文件反编译结果 )
文章目录 前言 一.打包 Jar 文件和 Dex 文件 1.示例代码 2.打包 Jar 文件 3.打包 Dex 文件 二.反编译 Dex 文件 三.分析 Dex 文件 1.Student 类相关信息 ...
- pyinstaller 打包exe 防反编译(加密)
如果对安全性要求不高,可以选择直接将py文件,打包成exe即可,解压出来的是pyc文件,pyc文件还原成源码,也是有一定复杂度的,相对而言也是有一定的安全性的 在源文件同级目录下创建build文件 b ...
- python pyinstaller 打包的exe程序 反编译源码
首先找到 pyinstxtractor 程序 https://github.com/extremecoders-re/pyinstxtractor 执行 这个 python 程序把要破解的exe程序名 ...
最新文章
- mysql5.5与5.5版本关于修改字符集的方法
- 12月13日主题讨论日
- mysql中建立索引的原则_在SQL数据库中设定索引的原则是什么?(注意是设定不是创建)...
- 微信小程序的基础 (一)
- VBA 脚本快速copyExcel单元格的格式
- windows模拟微信小程序_Windows 版微信新版本内测!小程序可以直接添加到电脑桌面了...
- 4个人的学校(转载)
- 项目移植过程中报:“Project facet Java version 1.7 is not supported.” 错误
- 【详细步骤】小米路由器认证锐捷账号教程(mentohust)
- w8系统服务器垃圾清理,win8系统盘太大怎么办?来给TA瘦身吧! | SDT技术网
- 机器学习笔记 - 探索性数据分析(EDA) 概念理解
- 线性代数的本质(第一部分)
- 分类模型confusion matrix混淆矩阵可视化
- Scala中的方法函数的定义
- 大数据加工的方法,主要分为哪几种?
- 程序员转行一般是因为什么,会去哪些行业?
- 如何利用路由器连接wifi并将wifi网络分发出去
- 拓扑排序 POJ - 3687反向图跑字典序(重边)
- karaf学习 (2)
- 《ISLR》学习笔记 —— Bagging、随机森林、Boosting
热门文章
- Ubuntu——多线程实现单词统计工具
- Laya水波shader
- win7系统开启snmp服务器配置,win7 开启 snmp服务器配置
- 物流车队养内鬼1年半盗1680部iPhone4S
- 2020年中国FEVE氟碳涂料行业市场运行现状及需求结构分析[图]
- Oracle hh24和hh时间格式的区别 以及怎样打印含有“年月日”字符格式的日期
- 浅谈android源码之system
- 图神经网络(GNN)的基本原理
- Matlab Robotics project 1 phase 1 <Experiment Recording>
- sleep睡眠时间的疑问