一、不一样的flag
用IDA打开搜索字符串,可以发现两个关键信息:
第一个看不出来什么,第二个意思是我的路线就是flag
看伪代码
这一行的意思是:XX=“1”则exit,xx=“#”则puts(xx)
根据第一条信息:*11110100001010000101111#
可以得出,第一条信息在主函数中也参与了使用,所以我们再走迷宫。
画出路线
从*开始,到#结束,我们的路线就是flag
*1111
01000
01010
00010
1111#
flag应该是222441144222
二、easyre
放进ida直接查字符串
三、reverse1
扔进IDA看伪代码
意思大概是输入一个字符串和另一个字符串比较,如果相同则是right flag
不同则是wrong flag
跟进Str2可以看到字符串
但是这个不是flag,看上面的代码
意思是,对于Str2将“o”替换成“0”
那么flag就为{hell0_w0rld}
四、reverse2
ida看主函数的伪代码
大致上是输入字符串和flag比较,是则返回right,错则wrong
而flag又经过上面的变换
先看flag为
根据上面的代码,具体意思就是将“i”和“r”替换为“1”得出正确flag
{hack1ng_fo1_fun}