01Game——论excel软件的强大

今天做了一道01Game题目,在编程很菜的情况下,我能做出来全靠excel了,感慨一波excel的强大!

题目描述

题目给出了一个名为Oand.txt的文本文件,文本文件的内容是0和1组成的字符串。

题目解析

将文本内容复制到word中统计,发现一共有1369个0或1。因为1369不是7或8的倍数,所以很可能和ASCII编码没关。1369=37*37,而37*37符合二维码的尺寸要求,我们猜测这些0、1字符串可以组成一个正方形的二维码。(二维码生成原理参见链接:https://blog.csdn.net/ajianyingxiaoqinghan/article/details/78837864

将文本内容复制到记事本中,调节记事本的大小,使得每行有37个数字。然后进行了文本替换(“1”替换为“_”),结果如下图(部分),果然是二维码(0表示黑色的部分,_表示空白的部分)。

但是...怎么把这个二维码画出来呢,上面的二维码是识别不出来的。

我的解决方案是使用强大的excel把二维码画出来,首先需要把所有的0或1单独放在一个单元格内(即一个单元格内只能有一个0或1,单元格的大小是37*37),这里我使用到了excel的“分列”方法,参见链接:https://wenda.so.com/q/1483642840728877

然后将所有的数字1用“ ”替换,将所有的数字0所在的单元格填充为黑色,这里使用到了excel的“条件格式”功能,参见链接:https://wenda.so.com/q/1363644861061368

通过以上两步得到了二维码,扫描二维码得到了一个新的0和1组成的字符串(长度为189,189/7=0,所以很有可能是ASCII编码),对新的字符串按照每7个一组进行ASCII编码,得到了flag。

 

其他方法

网上有人通过记事本调节出来了二维码,参见链接https://www.52pojie.cn/forum.php?mod=viewthread&tid=492725,我没有尝试成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值