CTFShow _新手必刷_菜狗杯:你会数数吗

文章讲述了作者在遇到一个看似无解的字符串谜题时,通过搜索、观察字符数量和使用010Editor的直方图功能,最终发现“数数”含义是找出字符串中不重复字符的个数并按降序排列,从而找到旗标的过程。
摘要由CSDN通过智能技术生成
1. 网站下载附件。

打开压缩包,给到一个无后缀文件,010Editor打开:

里边给出两段字符串,有大括号,说明不是base64,仔细观察,没发现什么特别。

2. 尝试散发思维失败。

看到这段字符串完全没有任何头绪,于是开始猜:

        (1)搜索“CTF”。

        发现确实有“ctf”字眼,但是看前看后完全没有关联。

        (2)拼接字符串。

        发现除图上几部分是用左右大括号括起来之外,其余都只有半边括号,于是尝试把图中字符串拼接起来 ctfshow{......}提交,失败

3. 回归题目本身。

思来想去,琢磨了半天“数数”的含义......无果。随手搜了一下字符“c”“t”,发现“c”有35个,“t”有34个!继续搜了一下“f”“s”“h”“o”“w”,发现字符个数依次为33、32、30、29、28:

于是明白了:所谓“数数”,就是查找所给字符串中不重复字符的个数并按降序排列。写代码,排序,输出:

得到flag。

补充:掌握了一个字符计数的新方法:

1. 010Editor,选择工具——直方图:

2. 选择“带/无符号字节”,点击确定:

3. 点击“计数”,按降序排列:

4. 右键字符列,点击“复制列”:

粘贴到浏览器链接搜索框(粘贴到其他文本编辑器会自带换行,浏览器搜索框完美解决这个问题),按下键盘“home”键来到首个字符上,把单引号删掉就可以得到flag了:

注:单位互联网电脑没下编译器,使用的在线编译:在线运行C语言本功能可以让你免搭建C语言运性环境,实现C语言代码的在线运行、在线调试并能实时反馈C语言的运行调试结果,采用了GCC7.4.0版本的C语言编译环境。icon-default.png?t=N7T8https://www.bejson.com/runcode/c740/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值