writeup_梅津美治郎reserve

查壳,没壳

ida打开:

image-20220222144540525

level1太简单不说,r0b0RUlez!

直接,步入sub_4015EA

发现有一个九次的小递归:

image-20220222144708771

判断有猫腻,直接上动调,然而x32dbg怎么调都是一个异常终止。

查wp,改用虚拟机下的od,可以正常运行,简单的概述一下具体情况:

在运行完int3语句后,程序跳转到7地址开头系统领空,一段时间后,再次调用了4开头的正常函数,可以猜到应该是level2的主函数:

image-20220222145151675

逻辑很简单:

image-20220222145245355

直接比较了v1和另一串字符。

打开比较函数:

image-20220222145347133

可以看到是将a2异或2后进行的比较,至此比较流程已经清晰,下面找到a2就可以解决问题。

依然需要动调:

image-20220222145635117

可以看到数据窗口中显示的就是实际参与比较的a2字符串(以02结尾),我们直接解密:

image-20220222150024397

为welldone字样,然而这还不是最终flag。。。

最终的flag是第一层的结果下划线第二层的结果,即:

flag{r0b0RUlez!_w3lld0ne}

坑爹啊。。。