序言:
第一次做这种题,一直以为是栈溢出或者整数溢出之类的漏洞,看了半天不知道怎么做,还是太菜了/(ㄒoㄒ)/~~,后来才知道这种给了客户端的题可以改文件内容实现get flag。
首先本题是用wasd控制@进行移动,当移动到星星下面时输入j会喵喵(没啥用),在$下面会加猫币,但是大于99后就不会增加了。而在@下面输入j,如果猫币大于100000000就可以get flag,所以关键点就是怎么让猫币大于100000000。
后来才知道可以用ida patch改汇编指令(见识浅薄了)。
首先找到题目关键点,如果能将eax的值改成100000001再赋回给glod就可以了。
选中0x9020f处的代码,利用Edit->patch program->Assemble功能就可以把它改成mov eax,5f5e101h了然后后续要填入nop不然好像会把后面改成奇怪的代码,这点我还不是很懂,估计和平衡有关把。
改完之后如上图,这样glod就是100000001了。
给出题人一拳
这样就能获得flag了。
小结:通过这次比赛还是学到了点新东西(感动)
版权归原作者 mahj0ng 所有, 如有侵权,请联系我们删除。