在ailx10:逆向pyinstaller打包的exe软件,获取python源码(2)中,我们已经逆向出了主程序,但是import导入的py文件并没有被逆向出来,今天在知乎网友给的提醒下,说是在 PYZ-00.pyz_extracted 文件夹中,我们成功逆向出第一层的依赖文件,在逆向第二层的依赖文件时,发生了一点点小错误,导致部分函数丢失了,至今不知道怎么处理,尽管逆向pyinstaller打包的exe软件非常简单,但是逆向多层嵌套引入的python源码,还是有点困难的~
from tongyi import Ui_Form
from auto运营 import my_corefrom html测试 import html_ceshifrom 汇报测试 import huibao_ceshi
ailx10
1958 次咨询
网络安全优秀回答者
互联网行业 安全攻防员
去咨询
第一步:进入PYZ-00.pyz_extracted 文件夹,发现是空的,原来是python版本不对
第二步:使用python3.8解包,再次进入PYZ-00.pyz_extracted 文件夹,确实发现了依赖文件
第三步:逆向pyc文件,获得所有python源代码
其中主函数的依赖文件(tongyi.pyc 和 auto运营.pyc)反编译都很顺利
但是auto运营.pyc 中又包含了另外的python3.8的依赖文件,导致这个python3.6的uncompyle6逆向出错,这种依赖文件的依赖文件,反编译不好弄,总是报错
使用python3.8的uncompyle6,对主函数依赖的依赖,进行反编译,出现了一些问题,得到的python源码不完整,有一个函数无法反编译出来,无奈只好注释掉
第四步:在pycharm中打开,并解决所有依赖
- 解决中文乱码:点击左上角file---》选择Setting--->选择Editor---》选择FileEncoding-->选择编码格式gbk
- 解决依赖,使用国内源进行安装
pip install pandas -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
- 解决SyntaxError: Non-UTF-8 code starting with错误,在每个python文件头添加 #coding=gbk
第五步:直接运行,成功启动
由于注释了部分函数,所以功能不完整,不知道怎么修复
发布于 2023-01-17 20:06・IP 属地江苏