1.easyre
方法一:ida打开,shift+F12找到flag。
方法二:找到main函数,F5进入,找到伪代码,可以直接看到flag。
2.reverse
先用exeinfoPE看一下是64位的,用IDA64打开,用F12进入String window,看到了.rdata:0000000140019C90 00000019 C this is the right flag!\n
,直接双击进入。出现了:
.rdata:0000000140019C90 aThisIsTheRight db 'this is the right flag!',0Ah,0
.rdata:0000000140019C90 ; DATA XREF: sub_1400118C0:loc_140011996↑o
可以去后面的sub_1400118C0里看一下,发现也就是最上面的那个模块,反编译一下,就可以看到伪代码了。注意到关键就是第二个for函数,将111替换成了48,这很容易就联想到ASCII码,o的ASCII为111,0的ASCII为48
因此,最终的flag为flag{hell0_w0rld}
3.reverse2
用IDA64打开它,查看主函数.后半部分有:
if ( !strcmp(&flag, &s2) ) result = puts("this is the right flag!");
注意到比较字符串flag和s2,如果相等的话就可以获取flag。
双击