反编译python 生成的exe源码

反编译python 生成的exe源码

记录反编译exe工具使用

  • 工具准备
    – pyinstxtractor.py
    – uncompyle6
    – sublime Text(或者其他的二进制编辑工具)

一、解包(exe)
①:先把下载的pyinstxtractor.py文件和需要进行反编译的exe文件放在一个目录中
在这里插入图片描述
②:然后使用终端(cmd)执行:python3 pyinstxtractor.py main.exe
这样会得到上图中的带有"_extracted"后缀的文件夹
执行后应该得到下图:
反编译python 生成的exe源码_第1张图片
进入到文件夹中,找到没有pyc的文件,我的是main文件,添加.pyc后缀,添加完成后如下图:
反编译python 生成的exe源码_第2张图片
分别把这俩个文件使用编辑工具打开,打开后得到一堆二进制,注意看俩个文件的区别,struct比main多一行,这时需要把struct第一行复制到main第一行保存。
反编译python 生成的exe源码_第3张图片
二、解码反编译
前期工作都准备完成了,现在开始解析,有的人说直接去什么在线解析或者在线解码之类的就行了,我试了有的地方全是乱码或解析错误,如下图:
反编译python 生成的exe源码_第4张图片
推荐使用uncompyle6进行解析
①:pip3 install uncompyle6安装uncompyle6
安装完成后,使用uncompyle6可以进行反编译.pyc后缀的文件了
②:uncompyle6 main.pyc > test.py (这里的test.py就是重命名后的解析文件,可以自己重命名)
执行后会得到你想要的文件

注:如果是mac 直接运行uncompyle6 会提示:zsh: command not found:uncompyle6
在这里插入图片描述
终端切换 cd /Users/*****/Library/Python/2.7/bin/目录下
运行 uncompyle6 +需要反编译pyc的绝对路径即可:

uncompyle6 /Users/****/Downloads/dds/main.exe_extracted/main.pyc > /Users/****/PycharmProjects/shares_exe/test.py

你可能感兴趣的:(学习心得,python,开发语言)