polarctf靶场[reverse]shell、PE结构、拼接

reverseshell

考点:脱壳

将所解压的文件拖入DIE有无有壳,文件类型

发现有UPX壳,是32位的文件,先脱壳

用FFI工具脱壳

将脱壳后的程序用32位IDA进行反汇编

点开_main_0函数进行查看

看到flag,(F5)查看伪代码

得到本题的flag

reversePE结构

考点:PE结构

PE结构知识点看大佬:https://blog.csdn.net/freeking101/article/details/102752048

解压之后用DIE查看信息

发现显示不出任何信息,根据题目名称猜测,可能是PE结构出现问题

将文件拖入101 editor

DOS头 和 NT头 就是 PE 文件中两个重要的文件头

一个 WORD 类型,值是一个常数 0x4D5A,用文本编辑器查看该值位'MZ',可执行文件必须都是'MZ'开头

这里是发现是DOS头被调改了

更改之后保存直接运行就能出来本题的flag

或者可以按部就班就再用DIE查看信息,再用相应的IDA反汇编来查找flag

reverse拼接

考点:C语言

将名为zip的文件先用记事本打开,发现是文件头有PK,是个zip

改拓展名,解压就能得到一个名为拼接的exe文件

老规矩,先查壳 ,能看到没有加壳,且文件为32位

用相应IDA(32位)反汇编,看到main函数

点看_main_0,看到有flag字眼和一串字符串,根据题目也能猜出来是这两个部分拼接而成就为本题的flag

要是有疑问可以再次页面(F5)查看伪代码

代码大致意思是:

将"flag{"先复制到Destination,然后再将v8的字符串在其Destination后边拼接一起,再用输入的字符串与其Destination比较,相等就说明用户输入的字符串是flag

相关推荐
外收内放10 小时前
面向对象高级(实战案例)
开发语言·python·学习
薛定e的猫咪11 小时前
(ICLR 2020)MAML 靠的不是快速学习,而是特征复用
人工智能·深度学习·学习·算法·机器学习
薛定e的猫咪12 小时前
(ICLR 2026)DF-META:面向 FJSP 的无导数元学习实例自适应调度
人工智能·深度学习·学习·算法·机器学习
时代新威powertime13 小时前
时代新威·视角|云计算平台中数据隐私保护机制的研究
网络安全·云计算
别动我齐刘海15 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
一直C15 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
承渊政道16 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
andrsted16 小时前
练题簿免费刷题小程序:和学习搭子共用一份题库,一起刷题复习
学习·面试·微信小程序·小程序·学习方法·刷题
fqbqrr16 小时前
2610学习,ahk学习技巧
学习
fengci.16 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php