首页 > 编程语言 >Pyinstaller打包exe的反编译——LitCTF 2024(公开赛道)ezpython!!!!!

Pyinstaller打包exe的反编译——LitCTF 2024(公开赛道)ezpython!!!!!

时间:2024-06-01 22:34:37浏览次数:18  
标签:反编译 exe Pyinstaller base64 ezpy extracted 文件夹

这个工具折磨了我很久,搭配题目记录一下...

题目

Die

打包工具: PyInstaller

建议下载GitHub的:GitHub - extremecoders-re/pyinstxtractor: PyInstaller Extractor

单独的一个 pyInstaller.py 会很麻烦

步骤:

将exe拖到pyinstxtractor-master文件夹下面,打开cmd

python pyinstxtractor.py ezpy.exe

成功的话会出现一个类似ezpy.exe_extracted这样后缀的文件夹

点进去,能在文件下找到与exe同名的pyc文件

在早些的版本中,XX.exe_extracted文件下,是一个同名的无后缀的文件,需要我们自己补上

 

 注意!!!你要确保使用工具的环境是和Python version一样(我这里是需要3.11)

不然,ezpy.exe_extracted文件夹点进去,类似PYZ-00.pyz_extracted的文件夹会是空的!!

不过文件夹下同名的文件ezpy.pyc倒是不影响反编译成py

 

 我使用的是新版本的pyinstxtractor,不用补magic

在Python3.7及以上版本的编译后二进制文件中,头部除了四字节Magic Number,还有四个字节的空位和八个字节的时间戳+大小信息,后者对文件反编译没有影响,全部填充0即可;
Python3.3 - Python3.7(包含3.3)版本中,只需要Magic Number和八位时间戳+大小信息
Python3.3 以下的版本中,只有Magic Number和四位时间戳。
———————————————

原文链接:https://blog.csdn.net/Myon5/article/details/134538103

本题目用uncompyle6反编译会报错(就是这里坑了我很久)

我没有pycdc,所以找了一个线上反编译工具

这里推荐两个(第一个有次数限制,第二个没有):

python反编译 - 在线工具 (tool.lu)

Pyc 转 Py - 百川在线工具箱 (chaitin.cn)

 

反编译ezpy.pyc

就是一个base64,肯定是换了表

发现需要 Litctfbase64 模块,这个是出题人自己定义的

去 PYZ-00.pyz_extracted 文件夹中找到

PYZ-00.pyz_extracted非常重要,一般一个稍微大一点的项目都会分成多个py文件,甚至会依赖其他模块,这些被依赖的文件解析后都会放入PYZ-00.pyz_extracted中,可以说这里放的是核心代码。

 反编译Litctfbase64.pyc

得到了base64的换表

 

找一个在线自定义base64编解码网站

推荐:在线自定义base64编解码、在线二进制转可打印字符、在线base2、base4、base8、base16、base32、base64--查错网 (chacuo.net)

 flag

LitCTF{61happy_LitCTF_nice_base64}

标签:反编译,exe,Pyinstaller,base64,ezpy,extracted,文件夹
From: https://www.cnblogs.com/demo41/p/18226496

相关文章

  • 将EXE程序以Windows服务方式部署
    1、NSSM(Non-SuckingServiceManager):NSSM是一个开源的Windows服务管理器,可以将任何可执行文件转换为服务。它提供了看门狗功能,可以监控服务的状态,并在服务崩溃或停止时重新启动。2、SRVANY:srvany是Windows平台上的一个实用工具,可以将任何可执行文件注册为服务。不再得到官......
  • 【使用技巧】CodeDecom.exe批量反编译JAR包+Beyond Compare对比
    使用工具进行批量反编译+差异对比,检查确认补丁变更D:\tmp\test\CodeDecom>CodeDecom.exe source D:\tmp\test\jarForder  D:\tmp\test\codeForder......
  • 彻底关闭解决Windows Defender实时防护(MsMpEng.exe、Antimalware Service Executable
    彻底关闭解决WindowsDefender实时防护MsMpEng.exe、AntimalwareServiceExecutable占用CPU和内存过多win11有效解决方法常规方法步骤一、修改注册表步骤二、组策略关闭WindowsDefender防病毒程序根治方法直接删除WindowsDefender实时防护功能简述解决过程Antima......
  • Supplementary Exercises [The Loons]
    SupplementaryExercises [TheLoons] I.TranslatethefollowingintoChinese.选择Reynolds来主持这个节目很奇怪。1. Reynoldswasan odd choice to host theshow. 2. Shemovedfromplacetoplacewhereshecouldfindtheodd bitofwork. 3. O......
  • height_scale = scales[2] IndexError: index 2 is out of bounds for axis 0 with si
    1.yolov5网络层优化在yolov5训练之前最好是改一下网络层,要不会报这个错。Traceback(mostrecentcalllast): File"convertCaffe.py",line159,in<module>   convertToCaffe(graph,prototxt_path,caffemodel_path,exis_focus=True,focus_concat_name="Concat_40",......
  • uniapp微信小程序使用瀑布流结合z-panging组件显示pexels的图片
    最终效果如下:  瀑布流组件用的:https://ext.dcloud.net.cn/plugin?id=7594下拉刷新组件用的:https://z-paging.zxlee.cn这两个搭配起来省了很多事z-paging中组合custom-waterfalls-flow,可下拉刷新、到底自动加载下一页。下拉刷新效果: 到底自动加载下一页效果: ......
  • @Pointcut 的常用方式:execution,within,this,target,args,@within,@target,@args,@annotation
    @Pointcut的常用方式先了解几个概念文中会涉及几个概念,先了解一下。target用来表示目标对象,即需要通过aop来增强的对象。proxy代理对象,target通过aop增强之后生成的代理对象。AspectJAspectJ是什么?AspectJ是一个面向切面的框架,是目前最好用,最方便的AOP框架,和spring中的......
  • psexec命令 应用
     psexec命令初级应用大纲介绍psexec命令解释psexec命令的作用和功能简要介绍psexec命令的用途和优势安装和配置下载和安装psexec工具配置环境变量(如果需要)基本语法演示psexec命令的基本语法和选项说明如何运行远程命令或程序远程执行命令演示如何......
  • .net 8 WPF发布程序只生成exe
    右击项目选择发布配置发布信息修改FolderProfile.pubxml文件内容ReleaseAnyCPUbin\Release\net8.0-windows\publish\win-x64</PublishDir>FileSystem<_TargetId>Folder</_TargetId>net8.0-windowswin-x64truefalsetruetrue<_SuppressWpfTrimError>......
  • MySQL的系统变量max_execution_time小结
    参数介绍:MySQL社区版MySQL5.7.8开始,新增了MAX_EXECUTION_TIME这个系统变量,它用来限制SQL语句的执行时间,确切来说是限制只读SELECT语句。如果查询语句的执行时长超过这个阈值,MySQL将自动停止该SQL语句的执行。如果其值为0,表示不启用该超时限制功能。该参数/变量单位是毫秒(milli......