2025年如何反编译exe(如何反编译exe文件)

如何反编译exe(如何反编译exe文件)昨天手贱删除了一个 py 源文件 该文件已经通过 pyinstaller 生成 exe 由于通过恢复数据的方法没有找回 因此只能通过现有的 exe 反编译到源代码 网络上的教程一方面讲的不详细 另一方面存在误导 有的是 python2 x 下面是我写的基于 python3 的反编译教程 该方法实现的是 a py 通过 installer 得到 a exe 现在的目的是通过 a exe 还原到 a py

大家好,我是讯享网,很高兴认识大家。



昨天手贱删除了一个.py源文件(该文件已经通过pyinstaller生成exe),由于通过恢复数据的方法没有找回,因此只能通过现有的exe反编译到源代码。网络上的教程一方面讲的不详细,另一方面存在误导(有的是python2.x)。下面是我写的基于python3的反编译教程,该方法实现的是:

a.py通过installer得到a.exe,现在的目的是通过a.exe还原到a.py

Python版本:python3.6.1

系统版本:win10 1809版本

====================

这部分是准备工作:


  1. 下载pyinstxtractor.py

    地址:https://sourceforge.net/projects/pyinstallerextractor/

  2. 下载HxD(十六进制编辑器)

    地址:https://3.xp510.com/xp2011/HxD.xp510.com.rar

  3. pip安装uncompyle6

    方法是:win+r,输入cmd,输入pip install uncompyle

=====================

下面正式开始反编译:


讯享网


  1. 先解压编译好的exe:把pyinstxtractor.py和py_ext.exe文件(需要反编译的文件)放在同一个目录下(比如目录C:\Users\Administrator\Desktop\A)win+r,输入cmd,进入dos

    输入:cd C:\Users\Administrator\Desktop\A

    再输入:python pyinstxtractor.py py_ext.exe

    运行后生成py_ext.exe_extracted文件夹,进去后是各种文件,瞄准一些无后缀文件(这个例子中的py_ext),其实是少了pyc头的pyc文件。(如图) 

  2. 再补充pyc的头,方法是:第一步先把上面图中说的不带后缀的py_ext加上后缀.pyc,即py_ext.pyc,后面有用。第二步:进入文件夹:

    C:\Users\Administrator\Desktop\A\py_ext.exe_extracted\PYZ-00.pyz_extracted, 随便找一个以pyc为后缀的文件,比如此图中的ast.pyc(根据个人情况解压后的pyc文件未必相同,任意选择一个即可)

    可以清晰注意到:ast.pyc文件的头部比py_ext.pyc头部多了33 0D 0D 0A 00 00 00 00 00 00 00 00,这些数据,下面就要把标准pyc文件(这里就指的是ast.pyc)头部数据多出来的这部分:330D 0D 0A 00 00 00 00 00 00 00 00复制到py_ext.pyc头部去,方法是:在ast.pyc文件hxd界面右键复制33 0D 0D 0A 00 00 00 00 00 00 00 00,然后回到py_ext.pyc文件hxd界面,在头部即E3前面,右键插入即可,提示会改变文件大小选择确认,最后点击上面的保存即可。

  3. 下面使用开始反编译,方法是:

    win+r,输入cmd,输入:

    cd C:\Users\Administrator\Desktop\A\py_ext.exe_extracted

    再输入:

    uncompyle6 py_ext.pyc >log.txt

    程序运行结束无提示,但是文件夹会生成log.txt(此即源代码)

    C:\Users\Administrator\Desktop\A\py_ext.exe_extracted

  4. 大功告成!

由于我没有了源文件的代码,因此没法上一张对比图了。亲测成功,不成功请留言。

小讯
上一篇 2025-05-10 07:59
下一篇 2025-06-02 13:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/150417.html