BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)

目录

1.easyre

 2.reverse1

 3.新年快乐


1.easyre

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第1张图片

把附件下载下来,放到ExeinfoPe中看一下

这里主要是看一下是几位的,以及有没有壳

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第2张图片

64位的,无壳

至于有壳长什么样,可以看第三题--新年快乐

放到IDA中

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第3张图片 看到很多人可能感觉很复杂,不慌,咱们先shift+f12查找所有的字符串

一般flag肯定都会在字符串里有提示

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第4张图片

 直接找到了flag

flag{this_Is_a_EaSyRe}

 2.reverse1

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第5张图片

 老规矩,还是先把附件下载下来,放到ExeinfoPe中看看

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第6张图片

 无壳,64位

放到IDA中

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第7张图片

依旧是先shift+f12查找所有字符串

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第8张图片

仔细观察一下 

this is the right flag 这里肯定有flag的相关提示

{hello word}看起来很像是flag,提交一下,发现不是

那让我们双击this is the right flag看一下这个二字符串

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第9张图片

继续ctrl+x(交叉引用)查看是哪段函数调用了该字符串

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第10张图片 ok

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第11张图片

 肯定很多人看不懂这些乱七八糟的,咱们可以f5进入伪代码观察一下

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第12张图片

ok

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第13张图片

这样就可以看到咱们比较熟悉的代码了

分析一下

 咱们先找到this is the right flag"代码段,从这里开始看

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第14张图片

sub_1400111D1应该是类似于print的输出函数

这串代码的意思简单来说

检查字符串 Str2 是否与 Str1 相同。如果是,输出 "this is the right flag!",否则输出 "wrong flag"

 咱们继续往上看,找一找str1和str2都是什么内容

根据字符串的提示,不难猜出,str1应该是我们输入的内容

那str2是什么呢,咱们找一个str2双击,看一下str2是什么

 str2是咱们一开始猜测的flag:{hello word}

继续回到咱们的代码,继续分析

这里明显对str的内容进行了替换

111和48很明显是ascii编码

IDA可以直接把鼠标 放到ascii编码上按“R”键就可以转换成字符

原来是将o替换成了0

所以flag为 flag{hell0_w0rld}

 3.新年快乐

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第15张图片

 下载附件,放到ExeinfoPe中

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第16张图片

32位的,并且有壳

这里要用到脱壳机了

https://github.com/upx/upx/releases/tag/v3.96

下载下来之后

在文件目录输入cmd

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第17张图片

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第18张图片

成功脱壳

IDA打开 

 后面就很简单了

shift+f12查看所有字符串

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第19张图片

这个HappyNewYear!看着就很像flag

咱还是一步一步来

双击this is true flag!

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第20张图片

ctrl+x 查看是哪段函数调用了该字符串

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第21张图片

F5伪代码分析代码 

BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)_第22张图片

flag{HappyNewYear!}

写的比较详细,主要是面对新手的,我做的时候找了很多wp都不是特别详细,那干脆我就自己写一篇吧,不过写这么详细确实挺费时间的,以后应该是随缘更新了。 

你可能感兴趣的:(ctf逆向,安全,经验分享,笔记)