[FlareOn6]Snake(NES逆向)

这题给了一个snake.nes,查了一下资料使用mos6502,ROM代码从0x10开始,并将在0xC000加载到内存中。使用ida

只能以binary打开,需要手动处理一下(不过ida在此用处不大,主要因为对指令不熟悉,使用一下ida的自动注释)

使用FCEUX,看到是贪吃蛇游戏

经过对ram进行分析,发现0025记载了吃的苹果数量

在0025处下个断点

断在

当吃的苹果到达0x33后,将不再进行跳转,之后对0027加一与4比较,之后对0026赋值为0xf0

只要将0025改为0x33,0026改为0xf0,即可获得flag

 

原文地址:https://www.cnblogs.com/harmonica11/p/13456725.html