B轮融资|今年的hsctf里遇到了一个比较少见的nds逆向题目,侥幸拿下一血( 二 )
stage2第二阶段如下图
猜测是点击图片上的字来通过 。
继续分析stage2的代码
在其中发现这样一段代码
【B轮融资|今年的hsctf里遇到了一个比较少见的nds逆向题目,侥幸拿下一血】可以看到之前在stage1中出现的获取输入的函数
确定输入的位数为8位数也就是说应该点击界面上带数字的小方格八次 。
继续看下面可以看到有一段进行验证的代码
代码实现了多个方程对输入进行校验其中使用的2014DB8为除法 。 这里使用Z3解方程解开后将得到的值在屏幕上点击即可进入下一关由于出题人并不够严谨导致方程有多个解 。 通过后进入第三关
stage3第三阶段走迷宫需要把鸟移到左下角
但在实际中我们移到一半就发现下面有一堵墙挪不动了这时候想到小时候玩游戏魂斗罗之类的有作弊码那作者很有可能也设置了这样的一段代码 。 这时候我们需要看一下IDA的代码 。 发现了可疑的一部分 , 如下图 。
猜测这里就是作弊码 , 接着看代码如何满足条件进入这里 。
在这里发现需要v76以一定的顺序执行这几个赋值就可以通过检测 。 通过看代码可知v76是r4寄存器而后观察模拟器按键设置
按下QWASZX对应的键位即可让r4寄存器产生我们需要的值接下来就是确定它的顺序 。
v121 == 50 && v117 == 30 && v122 == 60 && v118 == 70 && v120 == 40 && v119==80
最终确定按键顺序为xsazwq
按下后中间的墙壁消失了 。 小鸟成功走到了右下角 。
final在通过三个阶段后界面如下图
这里把我们的输入拼接成flag即可需要注意的是第三阶段需要提交的是任天堂游戏机的真正按键这里我们根据模拟器键位得到真正的游戏机键位 。
最终flag为
flag{cuteblueicecube_1-16-20-6-21-4-16-18_A-X-Y-B-R-L
由于第二阶段是多解第二阶段输入为1-16-20-6-21-4-16-18 成功通过
小结题目难点主要是 , 陌生的架构以及模拟器不能进行下断调试等(可能有模拟器可以调试?知道的大佬可以提点一下)
》》想学习网安打CTF的朋友福利来了!
免费赠送价值11980安全学习资料包
- 36氪首发|烹饪机器人公司「智谷天厨」获数千万元天使轮融资,羲融善道独家投资
- 有人觉得中暑就是热出来的,吃一些退烧药就好了,这种做法 蚂蚁庄园今日答案6月28日
- 浮甘瓜于清泉,沉朱李于寒水”描述的是什么场面 蚂蚁庄园今日答案6月28日
- 哪种水果横着切开像星星的形状 蚂蚁庄园今日答案6月29日
- 成年后,近视度数还会再加深吗 蚂蚁庄园今日答案6月29日
- 汽油|今日24时开启!油价或迎年内第2降 重回9元时代:加一箱将少花12.5元
- 疫情期间获近亿元A轮投资,青浦这家企业数字化服务商乘“长三角数字干线”发展快车逆势上扬
- 显示器|买到就是赚到?这台300块的显示器快把我整自闭了
- 马云|马云自己\打脸\之前所说的,如今现身西班牙,开12亿游艇!
- iPhone|美媒:iPhone15确认使用USB - C口,今年升级有遗憾!
