美文网首页
广外校赛RE1的破解----迷宫题

广外校赛RE1的破解----迷宫题

作者: 小白King | 来源:发表于2019-01-16 17:20 被阅读0次

RE:

1、RE1:

是个exe文件,首先拖进peid:

发现不是有效的PE文件,而且它也打不开(可以试试),想到有功能强大的ida可以用,于是拖进去试试,用64位试试:

发现连main函数都没有?!于是去其他的窗口看看信息:

[图片上传失败...(image-61f364-1542020739439)]

在16进制编译窗口那里找到了我们想要的flag

2、simple_re:

[图片上传失败...(image-fc1c2b-1542020739439)]

搞下来,打开发现是个注册窗口,首先拖Peid查壳:

[图片上传失败...(image-9963f5-1542020739439)]

发现没有壳,而且是用C#语言编写的程序,这个和我们之前一直接触到的C++和C和java语言有所不同,开始很难想到突破口,因为ida和OD无计可施(可以自行尝试),后来想到应该针对语言去找对应的工具,于是谷歌C#反编译器,成功找到IL Spy:

[图片上传失败...(image-14a975-1542020739439)]

把文件拖进去看看反编译的效果:

[图片上传失败...(image-5697d8-1542020739439)]

熟悉的java代码,根据分析,应该是输入的字符串转换成ASCII进行一系列的移位运算,得到下标,再进行切片处理得到密文(切这个字符串“ABCDEFGHIJK........”),找到关键代码:

[图片上传失败...(image-226528-1542020739439)]

text2就是输入的字符串经过一系列切片操作后拼成的字符串,而 "I5LUQVD3OR3HE3RQOVSXE3LEGV6Q"就是要比较的字符串,相同则true,不同则false。通过观察发现这一串东西很像base的特征,感觉可以试一波,于是进行base32解密:

[图片上传失败...(image-1b3e8b-1542020739439)]

刚好就是我们要的Flag,这里很轻巧,(但是之前头铁,想着算法逆回去,写脚本,但是失败了,想着暴力破解,拿头一个个去逆,泪......)

3、MAZE:

打开文件:

[图片上传失败...(image-c35785-1542020739439)]

看来是要输入Flag,首先拖进Peid,查壳:

[图片上传失败...(image-b3c014-1542020739439)]

发现是UPX壳(右上角EP区段),于是先进行脱壳:

[图片上传失败...(image-61fd0-1542020739439)]

成功脱壳,然后拖进32位的ida(事实证明是32位的exe):

[图片上传失败...(image-2818dd-1542020739439)]

F5大法,来到main函数,接着进去:

[图片上传失败...(image-82b794-1542020739439)]

[图片上传失败...(image-73712d-1542020739439)]

[图片上传失败...(image-f04d4e-1542020739438)]

经过一波分析,可以大概预测出,str时输入的字符串,然后复制给str1,接着拿str1进行操作:

[图片上传失败...(image-8da555-1542020739438)]

看到一个strcmp函数,看到”GWHT{“,看来是先比较前五位,相同则进一步操作,看switch

[图片上传失败...(image-40510c-1542020739438)]

v4是从输入的字符串中得到的,是核心,引起v8和v9的变化,再看LABEL_14:

[图片上传失败...(image-b5e318-1542020739438)]

看到congratulation!,猜想是要满足那个if表达式,(&v12+4v9+v8),v12应该是个数组,

点v12进去,单击var_12,右键转成array后,返回,按F5,可以看到了:

[图片上传失败...(image-5caaa1-1542020739438)]

都是ASCII码,全部转一下(单击数字,右键,转成char)

[图片上传失败...(image-a459f7-1542020739438)]

[图片上传失败...(image-f66b9c-1542020739438)]

[图片上传失败...(image-65638a-1542020739438)]

此时,V1是从Str输入字符串中得到的,v1变化引起v7和v8的变化,发现* . 和#,同时输入的字符串后5位之后都是由0,O,_,o这4个组成的(case),根据MAZE提示,发现是迷宫问题,接触的是64位,88的迷宫,这里数组16位,应该是44的迷宫,同时发现V8需要进行乘4操作,V7则一步操作,说明在迷宫中,V7是左右操作,V8是上下操作,于是手动画图出来:

[图片上传失败...(image-452001-1542020739438)]

顺序是0_00__OOOo

所以得到flag就是GWHT{0_00__OOOo},很有趣的一道题。

相关文章

网友评论

      本文标题:广外校赛RE1的破解----迷宫题

      本文链接:https://www.haomeiwen.com/subject/vracfqtx.html