对用pyinstaller打包的exe程序进行反编译,获得源码

参考文章:

1、https://www.cnblogs.com/DirWang/p/12018949.html#PyInstallerExtractor

2、https://msd.misuland.com/pd/2884250137616455620

3、https://www.perfcode.com/p/720.html

4、https://blog.csdn.net/ZhaDeNianQu/article/details/87717293

1. 研究对象

1.1. 使用pyinstaller打包成的exe文件

1.2. pyinstxtractor反编得到的代码

1.3. 添加pyc头后源文件的pyc文件

1.4. uncompyle反编译成的py文件

2. 工具准备

2.1. 软件

  2.1.1. 010editor

  2.1.1.1. 安装包

2.2. Py程序

  2.2.1. pyinstxtractor

  2.2.2. uncompyle6

   2.2.3. pyhotn的函数,pip install uncompyle6

3. 具体方法

3.1. pyinstxtractor.py文件和exe程序放在同一文件夹下

3.2. 命令行进入上述文件目录,执行命令python pyinstxtractor.py  ***.exe,的到***.exe_extracted文件夹

3.3. 找到没有后缀的文件,即编写的主程序,通常会有一个.mainfest和它名字相同,用010editor打开,按下键盘insert键选择插入模式

3.4. 找到base_library.zip文件,解压,用010editor打开,比较它和上面主程序文件的区别,把首位多的pyc文件头直接复制出来,添加到主程序的开头,将主程序另存为***.pyc文件

3.5. 命令行进入刚刚产生的pyc文件目录,执行命令uncompyle ***.pyc > output.py

3.6. 至此,output.py就是我们要找的源程序,其中的中文由于编码成unicode,需要再进行解码

posted @ 2020-03-19 19:42  xiaofeifeixd  阅读(3466)  评论(1编辑  收藏  举报