记一次反编译python文件生成的exe文件

准备工作:

1.网上下载  pyinstxtractor.py文件
2.安装 uncompyle6 包    pip install uncompyle6
3.下载十六进制文本编辑器

 

接下来我开始演示反编译过程:

1.打开exe的同级目录,将pyinstxtractor.py 粘贴进去。
 

 

 

 

 其中demo.exe是我们要反编译的程序。

 

2.执行 python  pyinstxtractor.py demo.exe

 

 

  接下里我们看到 生成了一个目录 demo.exe_extracter. 如下:

 

 我们进入找到demo.pyc文件和struct文件。但是我发现,demo文件并没有后缀,struct文件也没有后缀。

 

 

 3.手动更改demo文件为demo.pyc文件。

这时候我们发现用十六章文件编辑器打开的demo文件全部变成?? 号了。这样显然是反编译不了的。

执行uncompyle6 demo.pyc > demo.py 报错
。。。。。。。。。。。。。。。。

 

 没错,就是因为没有魔法数字所以报错。

 

4.获取Magic number.

我们随便写个test.py文件,然后用pyinstaller打包,得到文件如下:

 

 

 进入__pycache__文件

 

 

 打开test.cpython-37.pyc文件,

 

 第一排的二进制即为magic number

 

5.demo.pyc文件插入magic number 。

插入前:

 

 插入后:

 

 然后保存。

 

6.开始反编译。

 

 得到demo.py 

我们打开demo.py 看到正是我们需要的代码 。

 

 

收工!

 

posted @ 2021-11-12 19:02  龙卷风之殇  阅读(752)  评论(0)    收藏  举报