![2cec73648074df8fb0d701eaa9a3e41d.png](https://img-blog.csdnimg.cn/img_convert/2cec73648074df8fb0d701eaa9a3e41d.png)
有时候就是有这么奇葩的需求,自己写的python代码,不小心删除了,只剩下打包过的exe,想要重写一遍,感觉自己已经不能写出那么牛逼的代码了【手动狗头】,于是上网搜索折腾了一番,记录一下:
1.在python的site-packages目录下搜索archive_viewer.py
2.拷贝到exe可执行文件所在的目录
3.执行 python archive_viewer.py your_app.exe
4.在显示出来的列表中看到了your_app之后,输入x your_app
5.按照提出输入一个导出文件名如,your_app
6.下载一个 Hex Editor Neo,用它打开导出的your_app, 右键insert模式,插入一行00
![dc4506f70020fc01d78444821be4f31c.png](https://img-blog.csdnimg.cn/img_convert/dc4506f70020fc01d78444821be4f31c.png)
7.参考步骤4输入x struct生成struct并用hex editor打开,将首行替换过去,我做的时候只替换了四个字节就可以了,替换多少参考struct,编辑为一样的即可。
![65a00395491603a55b184f200c17a14a.png](https://img-blog.csdnimg.cn/img_convert/65a00395491603a55b184f200c17a14a.png)
8.至于为什么要替换,多在网上看几篇参考,里面有说明,我这里只记录怎么做,替换完成后保存,并添加好后缀.pyc
9.安装pip install uncompyle6,这个项目说了能支持python2/3全系列,其他也有很多转换工具,但不是全版本支持。我不知道你要转换那个版本的,所以安装这个简单方便。
10.然后uncompyle6 your_app.pyc > your_app.py完成反编译。