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}

 

 题做完了,又要和我的老婆告别了!!!

 

 舍不得啊~~

posted @ 2020-07-23 21:19  VIUS_Jcool  阅读(597)  评论(2编辑  收藏  举报