本文主要是介绍BUUCTF [FlareOn6]Snake,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.拿到文件,发现是扩展名为nes的文件,查了一下,nes文件就是一种老版的游戏,比如魂斗罗、超级玛丽等等,必须用特定的工具才能打开,在网上找了一个名为qfceux的文件可以打开,而且可以调试,打开文件:
发现是一个贪吃蛇游戏,直接Debug调试:
通过对游戏的观察和分析发现,蛇吃苹果的数量储存在内存0x25中,对0x25地址设置读写访问断点:
运行一下,让蛇吃一个苹果,然后程序中断了,断到了C82A处:
看到断点下面有一个CMP判断指令,值为0x33,猜测蛇要吃33个苹果,才能继续往下执行,然后才能输出flag,用Hex Editor把这个值改为32:
单步运行,在C1B0处,发现了内存0x26,下一条指令又是CMP判断:
直接修改0x26的值为0xF0,保存一下:
执行得到flag:
flag{NARPAS-SWORD@FLARE-ON.COM}
这篇关于BUUCTF [FlareOn6]Snake的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!