【攻防世界逆向】《Shuffle》《666》《dmd-50》《easyRE1》《IgniteMe》
题目Shuffle

解法
先exeinfo

32位无壳elf直接放到ida

可以看到红圈内就是随机处理,那上面的是原始字符串,通过py写个脚本


得到flag
题目666

毛都没
解法
先exeinfo

32位无壳elf 放进ida

(天真的我直接把下面那个字符串当flag)
可以看到上面那个判断函数是把什么东西跟一个字符串比较了

所以可以想到,是把我们输入的字符串作加密处理变成这个样子了。看上面的函数,锁定这个

一个加密过程,逆着写

unctf{b66_6b6_66b}
题目Reversing-x64Elf-100

解法
这道题蛮简单的
64位无壳elf
扔进ida
就这里很关键

依葫芦画瓢


题目dmd-50

解法
无语。。
ida打开

判断过程老长一段,把这些数字换成asc2码 780438d5b6e29db0898bc4f0225935c0
看到上面这里

md5加解密找个网站

得到flag
题目easyRE1

解法
不说了看图吧

记得加上{}
题目IgniteMe

解法
终于来了一个exe。先用exeinfo

ok直接扔ida

刚开始看的时候其实蛮懵逼的,细看之后其实很多都是类似输出函数这种很基本简单的函数,主要在于这里

点进去

看最后一段,大概是用输入的flag进行一些运算然后和最后面地字符串进行对比,所以分析一下算法把

这两段是大小写的转换,运算后的flag还要进行大小写的转换。

主要在这个。
是最后的字符串是byte_4420B0[i]和处理过的输入字符串进行异或得到。所以逆向算法。

转换大小写。最后加上这里的外壳
就可以了。

浙公网安备 33010602011771号