BUUCTF [FlareOn6]Snake

1.拿到文件,发现是扩展名为nes的文件,查了一下,nes文件就是一种老版的游戏,比如魂斗罗、超级玛丽等等,必须用特定的工具才能打开,在网上找了一个名为qfceux的文件可以打开,而且可以调试,打开文件:

BUUCTF [FlareOn6]Snake_第1张图片

发现是一个贪吃蛇游戏,直接Debug调试:

BUUCTF [FlareOn6]Snake_第2张图片

 通过对游戏的观察和分析发现,蛇吃苹果的数量储存在内存0x25中,对0x25地址设置读写访问断点:

BUUCTF [FlareOn6]Snake_第3张图片

运行一下,让蛇吃一个苹果,然后程序中断了,断到了C82A处:

BUUCTF [FlareOn6]Snake_第4张图片 看到断点下面有一个CMP判断指令,值为0x33,猜测蛇要吃33个苹果,才能继续往下执行,然后才能输出flag,用Hex Editor把这个值改为32:

BUUCTF [FlareOn6]Snake_第5张图片

单步运行,在C1B0处,发现了内存0x26,下一条指令又是CMP判断:

BUUCTF [FlareOn6]Snake_第6张图片

直接修改0x26的值为0xF0,保存一下:

BUUCTF [FlareOn6]Snake_第7张图片

 执行得到flag:

BUUCTF [FlareOn6]Snake_第8张图片

flag{[email protected]}

你可能感兴趣的:(BUUCTF,游戏引擎)