XCTF-Reverse-ExerciseArea-005-writeup

0x00 介绍

本题是xctf攻防世界中Reverse的新手第五题。

根据题目描述:菜鸡拿到了一个被加壳的二进制文件,可以知道这次的二进制文件被加壳处理了,因此需要先查壳,脱壳,再进行逆向分析找到flag

实验环境:IDA Pro 7.0

0x01 解题过程

1.1 判断文件类型

在Vscode中安装插件:hexdump for VSCode,用Vscode打开,显示文件的十六进制:

在这里插入图片描述

可以看到文件的开头有 ELF,说明这是一个在Linux下的可执行文件;相应的,如果再文件开头看到 MZ,说明是在Windows下的可执行文件;

用IDA打开原始文件simple_2,可以看到识别出来的函数很少,应该就是被加壳了

在这里插入图片描述

1.2 脱壳

首先应当查壳,可以用PEID查。

在ctf比赛中的pwn大多在Linux下,一般linux下很少有强力的壳,利用upx工具对该二进制文件进行脱壳


upx.exe -d D:\ctf-learning\reverse-engineering\xctf\ExerciseArea\005\simple2 -o simple2_upx

在这里插入图片描述

得到脱壳后的二进制文件: simple2_upx

用IDA打开,可以看到识别出来的函数变多了

在这里插入图片描述

1.3 逆向分析

用IDA打开,可以看到main函数中,需要输入96个字符,然后将用户的输入与一个字符串比较。可以看到字符串是 flag{...} 的形式。因此,到这里为止就拿到了flag:


flag{Upx_1s_n0t_a_d3liv3r_c0mp4ny}

在这里插入图片描述

这题考察的就是查壳和脱壳了,逆向分析这块不是考察重点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值