XCTF——梅津美治郎
晚上吃完饭,发现好久没刷过攻防世界了,心血来潮来一道。

好家伙,看完这个Description我又觉得我行了(手动狗头.jpg)。
打开文件

OK!养成好习惯,先PEID:

没问题。
先运行一下,看看干嘛的:

看见first,想想就有second。
话不多说,把他交给我的老婆:

老婆贴心的打开,我们对老婆说Shift+F12:

没看到first,second字样,没事我们看到了:

这应该是输入第一个密码成功之后的地方。
跑到老婆旁边告诉她要Ctrl+x
老婆也很了解我,带我来到了main函数:

大概扫了一下,the first password是和一个字符串的比较:
我们找下var_143出现的地方:

ok:第一个密码是r0b0RUlez!
验证一下:

果然成功了,也是的确存在第二个密码的。
继续往下看,发现了__debugbreak()这个函数,这个函数在x86中相当于INT3断点,所以需要我的好朋友OD:
调试the second password就可以发现这就是他的加密过程

此时FPU(寄存器)窗口eax的值是0x60FDBC,所以dd 60FDBC

这个函数的意思是u1nnf2lg这个字符串和0x2异或,所以我们的py脚本就登场

ok,结果就是:

这道题的flag是:
flag{r0b0RUlez!_w3lld0ne}
题做完了,又要和我的老婆告别了!!!

舍不得啊~~

浙公网安备 33010602011771号