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

[reverse]shell

考点:脱壳

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

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

用FFI工具脱壳

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

点开_main_0函数进行查看

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

得到本题的flag

[reverse]PE结构

考点: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

相关推荐
my_daling7 小时前
DSMC通信协议理解,以及如何在FPGA上实现DSMC从设备(2)
学习·fpga开发
70asunflower7 小时前
半导体产业的经济逻辑、技术瓶颈与AI芯片格局:一份学习笔记
人工智能·笔记·学习
凉、介7 小时前
C 语言类型强转引发的隐蔽内存破坏问题分析
c语言·开发语言·笔记·学习·嵌入式
知识分享小能手7 小时前
R语言入门学习教程,从入门到精通,R语言分布式数据可视化(6)
学习·信息可视化·r语言
一名优秀的码农7 小时前
vulhub系列-82-doubletrouble: 1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
Robot_Nav7 小时前
Mobile ALOHA:通过低成本全身远程操作 to 实现双手机器人移动操控学习【文献解读】
学习·机器人·模仿学习·双臂移动机器人
sinat_255487817 小时前
收藏品·学习笔记
java·javascript·windows·学习·microsoft
一个脚本boy7 小时前
【渗透测试中收集信息命令并利用漏洞与提权命令总结基础版(适合新手入门学习渗透测试)】
学习·web安全·网络安全
一名优秀的码农7 小时前
vulhub系列-81-Os-hackNos-3(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
zhangrelay7 小时前
三分钟云课实践速通--数字电子技术-数电--SimulIDE
linux·笔记·学习·ubuntu·simulide