看雪2022 KCTF 春季赛 | 第七题设计思路及解析

出题团队简介

赛题设计思路
题目是一个简单的四宫格数独:0,3,1,01,0,0,32,0,3,40,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的位置,从而满足校验。



第八题《迷雾散去》正在进行中
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注KnowSafe微信公众号随时掌握互联网精彩
- 传苹果与腾讯达成协议 iOS微信游戏分成定在15% 需要通过苹果IAP内购支付
- 恶意浏览器扩展如何绕过HTTPS实现用户数据窃取?
- n8n兼具代码灵活性和可视化简单操作的开源神器
- Edge浏览器睡眠标签页立功:一年节省7万亿MB流量
- 微软Edge更新 收藏夹图标悄然改头换面:从黄色变透明
- ScopeSentry 资产测绘、信息收集、漏洞扫描工具
- 微软商店清理门户,禁止第三方对免费开源软件收费!
- .NET 为何如此受欢迎?
- 对话MySQL之父:代码一次性完成才是优秀程序员
- 假如我来发明编程语言
- 因女朋友的一个建议,这位程序员创立仅 551 天公司就被 10 亿美元收购了
- 巅峰对决,勇者胜!第八题 《惊天阴谋》正在火热进行中!
赞助链接



