这篇文章是关于PyInstaller打包工具的反编译教程。作者分享了自己在使用该工具时的经历和一些技巧。
以下是教程的步骤:
首先,将exe文件拖到pyinstxtractor-master文件夹下面,然后打开cmd。
成功的话会出现一个类似ezpy.exe_extracted这样后缀的文件夹。
进入文件夹,可以找到与exe同名的pyc文件。
作者提醒读者要确保使用工具的环境与Python版本一致,否则ezpy.exe_extracted文件夹中的文件夹会是空的。
作者还分享了自己使用的新版本pyinstxtractor,不需要补充magic。
在Python3.7及以上版本的编译后二进制文件中,头部除了四字节Magic Number,还有四个字节的空位和八个字节的时间戳+大小信息,后者对文件反编译没有影响,全部填充0即可;Python3.3 - Python3.7(包含3.3)版本中,只需要Magic Number和八位时间戳+大小信息;Python3.3 以下的版本中,只有Magic Number和四位时间戳。
作者提到,本题目用uncompyle6反编译会报错。由于没有pycdc,所以作者找了一个线上反编译工具。
作者推荐了两个在线工具,一个有次数限制,另一个没有。
接下来是关于反编译ezpy.pyc的过程。作者发现需要Litctfbase64模块,这是出题人自定义的。在PYZ-00.pyz_extracted文件夹中找到了相关文件。
最后,作者分享了关于反编译Litctfbase64.pyc的过程,并得到了base64的换表。
整个教程以作者的实际经验为基础,详细讲解了PyInstaller打包工具的反编译过程。适合对此感兴趣的读者参考学习。