使用ChatGPT理解Python反汇编

你好,我是morimolymoly!

今天我将介绍如何使用ChatGPT处理Python的反汇编代码!

PyInstaller是一个用于将Python应用程序转换为可执行文件的工具。它可以将Python代码及其所有依赖项打包成一个独立的可执行文件,方便用户在不安装Python解释器的情况下运行应用程序。PyInstaller支持跨平台,可以在Windows、Linux和MacOS等操作系统上使用。

您可以使用PyInstaller从Python源代码创建单个应用程序。

Simple code
executed result

这段简单的代码将会成为一个EXE文件。

PyInstaller

EXE 从 Pyinstaller 执行时与脚本一样!

Executed result

pyinstxtractor是一个用于提取、分析和解密使用pyinstaller打包的Python程序的工具。它可以帮助用户还原被打包的程序文件,获取源代码并进行进一步分析和调试。此工具对于研究和逆向工程pyinstaller打包程序非常有用。

您可以使用pyinstxtractor提取pyc(Python编译文件)。

Executed result
Extracted one

提取的文件在这里。

最有趣的一个是main.pyc。

HEX

十六进制编辑器显示这不是可读的人类文件。

我们需要解编译器或反汇编器。

pycdc

pycdc同时具有反编译器和反汇编器!

然而,反编译器有时会生成垃圾代码。

Decompilation failure

一些CTF比赛的挑战中包含了PyInstaller,并且有时候它们是由新版Python制作的,导致pycdc无法正常工作。

我们必须查看反汇编代码!

disassembly code

这是一个反汇编代码!

这是一个简单的脚本,非常容易理解,但有时候你会遇到复杂的脚本,你需要另外的能力。

ChatGPT

请告诉我关于这个Python反编译的情况。

结果在这里!

最后,ChatGPT对这段反汇编代码进行了反编译!

Decompiled code

另一个提示问题是:“这个main.pyc文件的反编译代码是什么?”

结论

将Python的解码代码提供给ChatGPT是CTF玩家和恶意软件分析人员的绝佳技术!

PyInstaller有时候确实很混乱,但反汇编工作却有90%的成功率!

让我们来试试!

2024-02-03 04:20:39 AI中文站翻译自原文