1.exe pythonԴ??
2.逆向pyinstaller打包的exe软件,获取python源码(4)
3.别再问我exe反编译成Python脚本了!
4.逆向pyinstaller打包的exe软件,获取python源码(6)
5.反编译Python生成exe软件(Py3-polySML)
6.逆向pyinstaller打包的exe软件,获取python源码(3)
exe pythonԴ??
年创作了一款安全事件分析小工具,这是erp生产 java源码我初次尝试为安全驻场人员开发的简易工具。利用pyinstaller打包为PE格式,使用起来十分便捷,只需导入态势感知的安全事件列表,小工具便会自动进行分析。这款工具旨在辅助驻场人员理解安全事件,同时收集现场信息,便于后续运营效果评估。 近期,在探索逆向工程的过程中,我了解到可以逆向pyinstaller打包的exe软件,从而获取python源码。这促使我回忆起之前在GitHub上分享的项目。现在,就让我讲述这个过程:逆向工程之旅。 小工具操作步骤如下:首先,对exe程序进行反编译处理。x站整站源码
接着,进入反编译后得到的extracted文件夹。
仔细观察struct.pyc和main.pyc文件头的前字节,它们之间可能存在关键线索。
然后,对pyc文件进行反编译,逐步揭示python源代码。
最后,虽然目前只能看到主函数,但这是逆向工程的一个重要突破。
尽管未能完全揭示所有函数,但这无疑为后续深入研究打开了新的可能。逆向pyinstaller打包的exe软件,获取python源码(4)
在之前的文章“ailx:逆向pyinstaller打包的exe软件,获取python源码(1)”中,我们已经成功逆向出了主程序。然而,导入的py文件并未被逆向出来。得益于知乎网友的提醒,我们发现了“PYZ-.pyz_extracted”文件夹,这激发了我们继续探索的酷信源码口号兴趣。这个小工具依赖于四个文件,而我们此次成功地还原了pyinstaller打包的exe软件的所有python源码。尽管pyinstaller操作便捷,但在打包过程中,我们仍需注意对python源码进行加密。
第一步,我们进入“PYZ-.pyz_extracted”文件夹,确实发现了依赖文件。第二步,我们逆向了pyc文件,成功获取到了所有python源代码。第三步,我们在pycharm中打开了这些代码,并解决了所有依赖问题。最后,第四步,我们直接运行了python代码,成功启动了软件。
别再问我exe反编译成Python脚本了!
本文源自凹凸数据,作者小小明。layui注册登录源码
本篇文章将指导大家如何反编译exe文件,即将exe文件还原成Python源码。
以一个使用Python一键自动整理归类文件的示例,展示了如何使用打包命令。
无论是打包成单文件还是文件夹,最终都会生成一个exe文件。
为提取出exe文件中的pyc文件,可以使用特定的脚本或工具。
可以下载并使用pyinstxtractor.py脚本,该脚本位于github项目python-exe-unpacker中。
执行该脚本后,可以将exe文件中的pyc文件提取到指定目录。
在提取出的pyc文件后,使用uncompyle6库进行解码,可将.pyc文件反编译为Python脚本。
有专门的网站提供解密服务,但uncompyle6库提供更为直接的解码方式。
反编译.pyc文件时,需注意保留注释,以保持代码的可读性。
对于pyinstaller提取的广东到重庆源码pyc文件,由于缺少头信息,反编译时需人工添加。
使用UltraEdit等工具,通过添加前个字节,包括magic和时间戳,实现反编译。
对于非入口运行的pyc文件,需要添加额外的字节以确保正确反编译。
实现批量反编译的Python脚本,可简化操作,提高效率。
此脚本应包含读取、校准和反编译等步骤,适用于处理多个Python脚本的exe文件。
通过在打包命令中添加加密参数,如--key ,可以防止exe被反编译。
加密依赖tinyaes库,可通过命令安装。
在使用加密参数后,仅入口脚本可以反编译,被依赖的脚本被加密,无法直接反编译。
常规手段无法破解加密的中间结果,反编译需要进行底层逆向分析或深入研究源码。
逆向pyinstaller打包的exe软件,获取python源码(6)
在之前的讨论中,我们已经成功逆向了由pyinstaller打包的exe程序的主程序。然而,关于其依赖的python文件,其实获取方法相当直接。关键在于PYZ-.pyz_extracted文件夹,其中包含编译exe时转化为pyc格式的依赖文件。只要对这些pyc文件进行逆向,就能揭示出整个exe的所有python源代码,这种方法屡试不爽。然而,有知乎网友推荐使用Nuitka进行exe打包,以增加代码的防护,防止源码被轻易反编译。具体步骤如下:首先,进入PYZ-.pyz_extracted文件夹,你将发现所需的依赖文件。
接着,对这些pyc文件进行逆向处理,从而获取到全部的python源代码。
在pycharm等开发环境中,打开这些源代码,解决任何依赖关系问题。
最后,直接运行你修改后的代码,程序即可成功启动。
反编译Python生成exe软件(Py3-polySML)
本文将讲解如何通过反编译Python生成的exe软件,以理解源代码逻辑。反编译对象为名为polySML的软件,此软件使用python打包,且未经过加密加壳处理,仅用于学术研究。
使用工具为 Editor和uncompyle。
反编译过程分为几个步骤。首先,将exe文件拆解为pyc文件。如果最后一行显示“Successfully ...”,则表示拆解完成。通常,个人编写的主程序为“Possible entry point: MatML_no_comments”,或根据对python包名称的了解进行推测。
接着,通过在 Editor中打开“MatML_no_comments”和"struct"文件,将"struct"文件中对应"MatML_no_comments"文件开头的部分复制到其后,确保两文件内容一致。保存并添加后缀名".pyc",至此,修复完成。
使用uncompyle库将pyc文件还原为py文件。在python环境中安装uncompyle库,并在命令行运行uncompyle进行还原。有时会遇到编码错误,此时需要在python文件中手动输入。
对于其他py文件的还原,需要对python的包有较好的理解,或直接在pypi上搜索以判断文件来源。找到作者自定义的文件名,进入文件夹"PYZ-.pyz_extracted",找到相应的pyc文件。同样需要进行修复步骤,重复步骤2与步骤3,以完成对exe文件的初步反编译。
通过阅读源代码,可以深入了解作者编写的逻辑或辅助理解文章内容的逻辑结构。
逆向pyinstaller打包的exe软件,获取python源码(3)
年,我开发了第三个安全运营小工具,这个工具是为安全驻场人员设计的。本来打算将其与第一个软件整合,但由于时间限制未能实现。当时过于急于求成,没有深入分析代码。然而,最近的一次威胁狩猎事件激发了我对逆向工程的兴趣,我顺便尝试了逆向pyinstaller打包的exe软件,以获取python源码。回顾过去的代码,转眼已到年。我一直从事网络安全业务,但在coding技术上却毫无进步。今年,我决心提升代码水平,争取创造出有差异性的成果。
提醒:故事还有后续,我将逆向pyinstaller打包的exe软件的所有源代码:ailx:逆向pyinstaller打包的exe软件,获取python源码(6)
态势感知体检小工具说明:
第一步:对exe程序进行反编译[1]
第二步:进入新获得的extracted文件夹
第三步:查看struct.pyc和main.pyc前4字节之间的区别
第一个软件前个字节,第二个软件只有前8个字节相同,第三个软件只有前4个字节相同,不知道为什么,但我在这里并未发现任何问题。
第四步:反编译pyc文件得到python源代码
第五步:欣赏一下反编译的代码