出题团队简介
赛题设计思路
题目是一个简单的四宫格数独:
0,3,1,0
1,0,0,3
2,0,3,4
0,4,2,0
答案是:按顺序从左到右、从上到下填入数字就行
4224131
提示success就表示成功
赛题解析
本赛题解析由看雪论坛学者 Ally Switch 给出:
Step1
运行程序,随便进行一些输入,根据反馈可以得出:
Step2
1、最早弹出的提示"请输入7位数字",不在循环内,因此只会在第一次打开程序时提示一次;
2、蓝色方框位于大循环中的第一个小循环里,通过读取输入的字符串,并判断字符串的长度是否为7,否则就会在循环里提示"请输入长度7";
3、橙色方框在一个for循环中对字符串进行校验,若存在数字之外的字符,则会提示"请输入数字";
Step3
1、通过与标准库中的fmt_Println比较,可以发现fmt_Println_0多了一大段的校验判断过程。
Step4
1、通过交叉引用,可以找到给变量赋值的地方,发现位于fmt_Print中,也就是打印提示"->"的地方。由于这些变量的地址是连续的,所以可以直接转换为数组来看(默认名为fmt_Abc)
这里需要保证,矩阵每行每列,以及框出的4个四宫格的元素之和,必须为10。这里刚好有7个0,而要求输入的字符串刚好是7位数字,所以这里猜测是用输入的7位数字,填充这7个0的位置,从而满足校验。
第八题《迷雾散去》正在进行中
球分享
球点赞
球在看
原文始发于微信公众号(看雪学苑):看雪2022 KCTF 春季赛 | 第七题设计思路及解析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论