使用PE查壳
使用ida打开,Shift+F12 查找关键语句,看到了“this is the right flag!”
Ctrl+x查看调用情况,找了函数sub_1400118C0
看到了call cs:strncmp,想到可能是存储型的flag点击call cs:strncmp,看到是Str1和Str2进行对比,对比正确后输出this is the right flag!
F5反编译
发现我们输入的flag就是Str1,因此真正的flag应该是Str2,知道Str2就可以知道flag值
看到了loc_140011900,这里对str2进行了置换,将6F置换成了30,也就是o置换成了O
查看str2的值
flag就很明显了即为{hello_wOrld}。
反思:不能太执着想着把整个sub_1400118C0看懂,大概了解就可以了,忽略str1而直接去找str2。