美文网首页Python学习
反编译python编写的exe文件的详细方法

反编译python编写的exe文件的详细方法

作者: XY_Coder | 来源:发表于2022-01-04 18:07 被阅读0次

    因为python是解释型语言,所以反编译的难度相对于其他编译型的语言低了很多

    总的来说,反编译分为两步:

    1、将.exe反编译成.pyc的二进制文件
    2、将.pyc文件反编译成.py文件

    接下来具体说一下步骤:

    一、将.exe反编译成.pyc的二进制文件

    1、获取archive_viewer.py文件

    这个文件在pyinstaller库里,还没有安装的需要安装一下(已经安装的跳过安装)

    pip install pyinstaller
    

    安装完成后在python安装路径下的\Lib\site-packages文件夹搜索archive_viewer.py文件

    搜索文件

    找到文件后可以复制到你想要放置的位置(不复制也行)

    2、反编译出archive_viewer.pyc文件
    python archive_viewer.py your_app.exe
    

    这一步会把编译出的文件都罗列出来,像这样


    image.png

    但是我们只需要找到我们exe对应的名字的文件就好了,确认存在之后滑到最下面,会发现有个?号用于输入接下来的命令,在这边我们输入

    x your_app(your_app是exe文件的文件名,不带.exe后缀)
    

    会显示 to filename?让你输入需要输出的pyc文件名称,这边输入 your_app.pyc回车就好了
    接下来又会显示?号,接着输入x struct回车,输入struct文件名称struct回车

    3、修改pyc文件前面字节

    由于用PyInstaller打包后,pyc文件的前8个字节会被抹掉,所以最后要自己添加回去。前四个字节为python编译的版本,后四个字节为时间戳。
    这边使用Hex Editor Neo软件同时打开.pyc文件和struct文件,复制struct文件前面8个字节插入到.pyc文件的前面:

    1)复制struct文件前8个字节
    image.png
    2)在pyc文件中右键选择insert模式
    3)选中第一个字节,输入八个空字节00
    4)选中插入的前八个字节,右击粘贴
    5)保存pyc文件

    这样我们就得到了完整的pyc文件

    4、使用uncompyle 反编译出py文件

    安装uncompyle库

    pip install uncompyle6
    

    反编译

    uncompyle6 your_app.pyc > your_app.py
    

    相关文章

      网友评论

        本文标题:反编译python编写的exe文件的详细方法

        本文链接:https://www.haomeiwen.com/subject/ahzqcrtx.html