逆向pyinstaller打包的exe软件,获取python源码
前言
基于pyinstaller打包的exe软件,逆向出py源码,但逆向出的源码与真实源码有实际出入,但可以看出大概且可以实际使用
工具准备
1.pyinstxtractor.py工具,github地址:https://github.com/extremecoders-re/pyinstxtractor。直接下载:
2.uncompyle6工具,安装步骤:pip install uncompyle6或python -m pip install uncompyle6
3.notepad++(https://pan.ymypay.cn/api/raw/?path=/Files/%E8%BD%AF%E4%BB%B6/Notepad8.1.9.exe)以及HEX-Editor插件(github地址:https://github.com/chcg/NPP_HexEdit) 或 UltraEdit,也是文本查看工具,比notepad++更强大,下载以及破解放地地址:(32位:https://pan.ymypay.cn/api/raw/?path=/Files/%E8%BD%AF%E4%BB%B6/UE_26_x32_%E5%AE%89%E8%A3%85%E7%89%88.zip 64位:https://pan.ymypay.cn/api/raw/?path=/Files/%E8%BD%AF%E4%BB%B6/UE_27_x64_%E5%AE%89%E8%A3%85%E7%89%88.zip)
4.需要逆向的exe软件(pyinstaller打包的)
开始逆向
第一步 逆向出pyc文件
python路径\python.exe pyinstxtractor.py exe文件 可以指定python版本进行反编译

第二步 进入xxxxxextracted文件夹

第三步 利用notepad++或ue工具十六禁止打开struct.pyc文件与xxx.pyc文件
反编译步骤出来的这两个文件一定有pyc后缀,若没有,则是pyinstxtractor版本低或pyinstxtractor反编译失败,可尝试换python版本尝试


反编译出来的struct.pyc文件与xxx.pyc两个文件头如果不一样,则需把struct.pyc文件头(12个字节)附加到xxx.pyc头部,随后保存即可
第四步 反编译pyc文件
uncompyle6 xxx.pyc > xx.py 同样,此工具也可以指定python版本



其他
若确保pyc文件没问题,但uncompyle6 不支持反编译,因为uncompyle6到目前2023年3月9日只支持到3.9,具体支持可到github查看,github地址:https://github.com/rocky/python-uncompyle6 可用工具:pycdc,github地址:https://github.com/zrax/pycdc 此工具使用方法及编译方法:https://blog.csdn.net/qq_63585949/article/details/127080253
微信扫描下方的二维码阅读本文