对Python生成的EXE文件进行反编译
本文最后更新于:2024年11月13日 下午
源代码误删?小问题,只要没有经过加壳操作,反编译一下吧
我使用的python版本 Python 3.8.2
第一步 准备需要的软件
下载Ming Loh的python反编译项目
链接: https://github.com/countercept/python-exe-unpacker.
下载编辑16进制的软件 wxmedit
官网:http://wxmedit.github.io/zh_CN/downloads.html.
蓝奏云
链接: https://zzcwhair.lanzous.com/b015dcq1e
密码:fjlc
第二步 进行反编译
查看反编译软件的目录
再这里面运行 cmd界面
python pyinstxtractor.py xx.exe
这是运行成功界面
然后你会发现目录下多了个文件夹
进去文件夹后 找到你的软件名称 我这里是修改过了 之前的软件名称是pldc
好了 到了这里 就用开始下载的16进制的软件打开这两个文件 进行对比
具体什么意思我也不是很懂 看了很多文章说 前面代表版本啥啥啥的 我就不解释了 按下面操作吧
现在对比 struct 跟 pldc 可以看到 struct 比 pldc 多了一些东西 所以不要慌 给这两个文件复制一下 放到桌面做个备份 免得下面的操作 没实现 就麻烦了
以下是我自己操作的过程图 选择查看
复制后 直接粘贴过去
但是你会发现粘贴的跟你复制的不一样 其实 叫你这样复制 不是为了直接复制过来 因为这个软件我也没搞懂换行跟别的 所以就复制过来了
小问题不要慌 去struct 里面 按ctrl+C 复制一下 再粘贴过来
上面 有几张图是我自己操作过程中 发现没办法换行去增加16进制 所以找的一个蠢方法
最终的结果图
到了这一步 那么老铁 直接保存 然后更改pldc的后缀为 pldc.pyc
然后再终端pip install uncompyle安装uncompyle,
uncompyle6 pldc.pyc
uncompyle6 pldc.pyc > pldc.py
废话有点多 将就着看
python版本是
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
别的版本不知道能不能成
以上方法反编译没有加壳的python生产的exe文件
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!