攻防世界逆向高手题《流浪者》《re4-unvm-me》《tt3441810》《BABYRE》

Posted Corax0o0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了攻防世界逆向高手题《流浪者》《re4-unvm-me》《tt3441810》《BABYRE》相关的知识,希望对你有一定的参考价值。

题目流浪者

解法

先运行一下
用exeinfo看一下

ok放进ida,

其实刚给我的是一个这样的winmain函数,没有什么有用的信息(其实也可以直接找start函数)
打开strings窗口看看

这个kanxue。。好像有些意思

是一个判断,最后是str1和kan。。进行判断,对的就pass。
所以关键str1是怎么来的

上面这一串就是对于str1的处理,具体的方法应该是对a1数组中的数据进行运算,作为索引在adcd。。中选取字符。
(其实我在这里做的时候一直不明白a1为什么是数组,因为传入的话也是一个int型,所以也卡了一会)
好,现在a1至关重要。
看一下这个函数被谁调用过,怎么传参。


上面很唬人,但关键的点还是在于这边的判断语句。首先看最中间的这个函数有啥用

大概是一个弹窗,告诉不对。详细应该是下面的处理。
通过分析可以得出对于我们输入的字符串,对每一位判断范围,在48,57间就减48到0,9,
在97到122间就-87到10-35
在65,90就-29到36到61
,所以逆向思路也就很明显了先找到索引,在逆向算法进行还原,代码如下

题目re4-unvm-me

解法

这道题给的是一个pyc文件,前两天还做的Litctf里面有一题也是pyc,不过那里面的题目,把pyc头几个位改了,没法成功反编译,这道题并没有,直接uncompyle反编译出来

是这样一个东西,可以看到有几个比较主要的条件
1.长度小于等于69,
2.5的倍数
3.也是最关键的一点

可能因为基础不牢,说实话不是很懂。这边是把flag 5位一组的取出来,然后通过md5.new()函数返回出它的md5值,然后通过
返回摘要,作为十六进制数据字符串值,是值。
然后通过int函数并在前面加0x 后面加16,输出一个10进制的整数,在与md5s对应的组别作比较,错误则返回错误。
所以逆向思路就是:对每一组md5先转成16位出来md5值,在通过解密获得字符串,平起来

题目tt3441810

解法

下了不知道一个什么玩意

用ida强行打开
观察到这里有,好像flag就在里面
把它复制下来,写个脚本
(要注意这边多行的字符串可以用三引号)
用replace方法可以去掉当中不需要的字符。
也研究了一下别人的wp


筛选出字母与,这个值再97到127 65到90

最后把多余的字符过滤即可。

题目BABYRE

这题还没研究出来 每天继续

[一千道逆向题] 攻防世界1-5题刷题题解(偏动调)

前言

立了个flag,刷满一千道逆向。先从攻防世界开始。


0x00 Hello, CTF

查壳

新手区应该没壳,下面不查了。

逻辑很清晰,你可控的输入点在v9,然后把你输入的v9每一个字符以16进制读取存到v10,最后再用v10和v13进行比对。
所以输入

这一串代表的字符就是flag


0x01 insanity

flag与打印出来的内容有关
flag与“Reticulatingsplines,pleasewait…”无关
字符串flag与随机数无关
然后直接字符串里找到了…


0x02 python-trade

是个pyc文件,直接反编译一下

按照他的加密脚本写解密脚本就行


0x03 re1


不是很理解,放od里看看

…本来想在输入点下个断点,没想到flag就在上面了。


0x04 game

一个游戏,满足条件能够跳到关键函数

然后看到 flag is …
说明如果能到这个函数就可以输出flag

这里提供两种不用将算法逆向的思路:
第一种,直接用ida的patch,直接把图里第一个函数地址patch成第二个函数地址


然后就直接输出flag了,这不比直接逆向轻松?

然后我决定再试试用od来直接跳转,锻炼下动调水平

动调可以直接关闭虚拟机的地址随机化aslr,这样可以跟ida里的地址相同,然后随便修改一个call的地址为ida里输出flag的函数的地址即可。

如果不关闭地址随机化的话,这道题也可以自己找,比较好找,因为有关键词

我们只要让他运行到这里就行

但是不能直接跳到这个语句,要跳到函数入口,也就是push ebp的地址0x0044E940

接下来就是运行程序,找可以改call的地方

停在输入的地方,然后随便找个call的地址修改成0044E940

像这样,你无论输入什么都会有flag出来,但是却是一闪而过
所以你可以F8一步步走,这样就能清楚看到flag了

看到熟悉的%s,直接F4运行至此,flag就全出来了

以上是关于攻防世界逆向高手题《流浪者》《re4-unvm-me》《tt3441810》《BABYRE》的主要内容,如果未能解决你的问题,请参考以下文章

[一千道逆向题] 攻防世界1-5题刷题题解(偏动调)

[一千道逆向题] 攻防世界1-5题刷题题解(偏动调)

[一千道逆向题] 攻防世界1-5题刷题题解(偏动调)

攻防世界逆向《maze》

攻防世界 reverse 流浪者

攻防世界 Reverse高手进阶区 2分题 easyre-153