2.1欢乐向逆向刷题被虐哭日常记录

Posted dorinxl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.1欢乐向逆向刷题被虐哭日常记录相关的知识,希望对你有一定的参考价值。

2.1【欢乐向】逆向刷题被虐哭日常记录

前面好多题之前做了也没记录,懒得整了,直接从剩下的几个开始:

Getit

这一段是解密的关键,后面的是把flag写入文档又给删了。

其实可以修改程序逻辑让他别删,但是我不会

技术图片

?

逆着来推一边,不会写py,用c写个。

技术图片

?

技术图片

?

?不应当,我大概是忘了加括号。

技术图片

?

???我觉得我的没啥问题,去网上查了查相关的:

?

技术图片

?

?

在IDA里没看到有S,咱也不知道咋回事

?

技术图片

?

?

?

?

no-strings-attached

直接扔IDA瞅瞅:

?

技术图片

?

挨个函数筛,筛出最后一个有、东西。

?

?

?

技术图片

?

有个叫decrypt的函数,看起来像是加密函数,去gdb里下个断点看看。

?

技术图片

?

r运行,n单步走。

?

?

技术图片

?

中间那一大坨大概是没设置好,现学gdb怎么用先不管了。

查内存找字符串,

加密好的东西放进了寄存器eax里:

?

?

技术图片

?

翻翻寄存器里的东西,找到第一个0x00结尾的是字符串的结尾。

?

技术图片

?

x:就是用来查看内存中数值的,后面的200代表查看多少个,wx代表是以word字节查看看,$eax代表的eax寄存器中的值

在这里我们看到0x00000000,这就证明这个字符串结束了,因为,在C中,代表字符串结尾的就是"",那么前面的就是经过decrypt函数生成的falg

C:按字符格式显示,把这些十六进制的换成好看一点的。

?

?

技术图片

?

?

?

?

python-trade:

Pyc文件,网页反编译一下:https://tool.lu/pyc/

技术图片

?

技术图片

?

翻译翻译,这堆字母让我们输入一串字符串,然后经过encode函数一系列操作之后和correct比较,正确了就算是输对了flag。

?

那咱们就反其道而行之。

先给他把correct给base64解密了。

?

技术图片

?

完事了之后在逆着走一遍。

技术图片

?

?

?

技术图片

?

?

?

?

技术图片

?

再次被自己菜哭,我觉得没啥问题咋就不给我过?

又上网查了查,去评论转了一圈,发现有人说可能是base64解码的问题,我用的网页解码,不应该有差才对的,怪事。

补上了几个字符然后过了,正确的是这个:nctf{d3c0mpil1n9_PyC}

?

?

?

?

Maze

题目给的叫迷宫,运行了一下也没啥东西,扔进ida看看:

技术图片

?

看起来像是四个字符:0oO.

?

技术图片

其实在IDA里把光标选择ASCII码按R键就可以把ASCII码变成字符了。

?

技术图片

然后这几个是坐标移动

v9是一个二维数组,用来控制上下和左右这两种方向的。

两种可能:

1.v9代表横向、&v9+1代表竖向

2.v9代表竖向、&v9+1代表横向

反正是诶个试过去了

技术图片

从左上角到#,经历→↓→→↓↓←↓↓↓→→→→↑↑←←,转换为o0oo00O000oooo..OO

Flag:nctf{o0oo00O000oooo..OO}

好像是南邮的题吧...真厉害。

?

还剩一个比较难搞,明天继续。

技术图片

以上是关于2.1欢乐向逆向刷题被虐哭日常记录的主要内容,如果未能解决你的问题,请参考以下文章

[20161108]校招面试题被虐经历总结

准备了一周就去字节跳动面试,结果一面就被虐哭了------面试官做个人吧

腾讯软件测试岗二面:web 测试问题被虐哭了,直到学长给了我这些知识点.....

运维日常集合(个人向 坚持更新)

日常linux操作命令日常记录

Python错误日常记录(持续更新)