记录一下脱花指令的过程
扔进ida中观察,发现有红字报错。
像这种肯定是花指令用来干扰程序的,将loc_98Fnop掉即可,大概有四处这样的花指令
在最后发现一段smc,因为没有解密函数,因此推测直接解密即可
按d全部转化为数据,然后再按c转化为代码
又出现一个花指令
这个nop明显是干扰程序正常运行的,直接nop掉即可。
注意这里有个d0,好像是用于表示main函数的结束点,记得nop一下
找到main函数按p生成函数,然后f5查看伪代码,大功告成。
要求输入三个password,第一个是走迷宫,第二和第三个好像都是加密后比较的。
走迷宫很容易,根据伪代码走出来是sxss,扔进程序显示正确。但这应该是不对的哈哈哈哈哈,后来看wp才知道这是立体迷宫,走出来的结果应该是:ddwwxxssxaxwwaasasyywwdd
第二个和第三个解密根据算法直接爆破即可,最后得到flag:
flag{ddwwxxssxaxwwaasasyywwdd-c2N0Zl85MTAy(fl4g_is_s0_ug1y!)}