Bugku练习题---MISC---1和0的故事

flag:flag{QR_c0de_1s_1nterest1n9}

解题步骤:

1、观察题目,下载附件

2、不得不说这道题挺贵的,打开是这个样子的,由0和1组成的字符

3、观察了一会,感觉可能是跟颜色有关,黑白两色,可能是二维码,上脚本解决这道题,脚本如下:

 1 import xlwt
2
3 #创建一个xls,需要安装xlwt环境库
4 book = xlwt.Workbook()
5
6 #创建一个样式(黑色填充,无边界)
7 style = xlwt.easyxf('pattern: pattern solid, fore_colour black;font: height 250')
8 #添加一个表单,允许覆盖
9 table=book.add_sheet('flag_code',cell_overwrite_ok=True)
10
11 #打开txt文件,注意文件路径
12 with open( '1和0的故事.txt', 'r' ) as f:
13 qr=f.read()
14
15 qrlist=qr.split("\n")
16
17 #first_col=sheet.col(0)
18
19 m=0
20 for i in qrlist:
21 n=0
22 for j in i:
23 table.col(n).width=256*3
24 if j=='1':#如果是1则在Excel上涂黑
25 table.write(m,n,'',style=style)
26 else:
27 table.write(m,n,'')#如果是0则不涂黑
28 n+=1
29 m+=1
30 book.save('ctfcode.xls')
31 print('over!!')

4、原理是创建一个excel脚本,通过自动化的方式创建表格中的二维码,打开以后效果如下,一定要安装环境库和注意文件的路径

5、二维码最关键的是定位符,这里明显缺少定位符,将定位符补全就可以了,如图所示:

6、扫描二维码,得到答案,解题完成

知乎地址:https://www.zhihu.com/people/yi-kuai-xiao-bing-gan-43-64/posts
CSDN地址:https://blog.csdn.net/liu914589417
欢迎关注评论,耶斯莫拉

Bugku练习题---MISC---1和0的故事的更多相关文章

  1. Bugku练习题---MISC---蜜雪冰城~

    Bugku练习题---MISC---蜜雪冰城~ flag:flag{1251_521_m1xueb1n9chen9ti@nm1mi} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现有好几个文件 ...

  2. Bugku练习题---Crypto---聪明的小羊

    Bugku练习题---Crypto---聪明的小羊 flag:flag{6fde4163df05d900} 解题步骤: 1.观察题目,下载附件 2.根据题目描述,判断是栅栏密码,位移2位,白给题,上网 ...

  3. Bugku练习题---Web---计算器

    Bugku练习题---Web---计算器 flag:flag{8b4b2f83db2992d17d770be1db965147} 解题步骤: 1.观察题目,打开场景 2.场景打开后发现是一个验证码界面 ...

  4. Bugku练习题---MISC---easy_nbt

    Bugku练习题---MISC---easy_nbt flag:flag{Do_u_kN0w_nbt?} 解题步骤: 1.观察题目,下载附件 2.通过观察题目描述和压缩包中的文件,发现这个好像是MC的 ...

  5. Bugku练习题---MISC---FileStoragedat

    Bugku练习题---MISC---FileStoragedat flag:bugku{WeChatwithSteg0} 解题步骤: 1.观察题目,下载附件 2.下载后发现是一个后缀名为.dat的文件 ...

  6. Bugku练习题---MISC---啊哒

    Bugku练习题---MISC---啊哒 flag:flag{3XiF_iNf0rM@ti0n} 解题步骤: 1.观察题目,下载附件 2.下载以后发现是一张图片,从表面看没有什么有价值的信息 3.直接 ...

  7. JS-DOM2级封装练习题--点击登录弹出登录对话框

    <!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...

  8. c语言总练习题

    !4,42 ?45 1 Description 键盘输入一个双精度数据,乘以2以后输出 Input 输入一个double型数据 Output 输出它的两倍数,结果保留8位小数 Sample Input ...

  9. MTK 虚拟 sensor bring up (pick up) sensor1.0

    pick up bring up sensor1.0 1.pick up对比 2.SCP 1.添加驱动文件 2.添加编译环境(打开开关) 注:编译过程中如果显示内存不够 3.修改底层数据上报方式 3. ...

随机推荐

  1. setTimeout时间延迟为何不准?

    单线程, 先执行同步主线程, 再执行异步任务队列

  2. SpringAOP--动态数据源

    前言 通过注解和AOP,实现主从数据源的切换. 示例 首先项目布局: 1:实体类,与数据库表的映射 @Data @Builder public class UserBean { private Lon ...

  3. Ajax是什么?包含什么技术?有什么作用?

    Ajax 是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写. Ajax 尝试建立桌面应用程序的功能和交互性,与不断更新的 Web 应用程序之间的桥梁.不 ...

  4. synchronized 关键字的用法?

    synchronized 关键字可以将对象或者方法标记为同步,以实现对对象和方法的互 斥访问,可以用 synchronized(对象) { - }定义同步代码块,或者在声明方法时 将 synchron ...

  5. C++分布式系统——《开题》

    在下自大二接触编程,大二.大三刻苦涉猎编程相关书籍,自那时起爱上了 C++,C++确实极有魅力,本想从此在C++领域深钻,但是扩展技术的广度在那个算是半只脚踏入编程且已经读完了 C++ 流行书籍的阶段 ...

  6. 《剑指offer》面试题3:二维数组中的查找

    面试题3:二维数组中的查找 面试题3:二维数组中的查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的个二维数组和一个整数,判 ...

  7. 7_根轨迹_Part1_“根”的作用

    这里的渐近线,应该是e^[**wn]/wd,忘记除wd了

  8. UP9616移动电源快充案例

    第一版的UP9616快充(地址在此 ),从选料到线路板的布局走线都还算不错,实现了当初定下的设计目标,但也有一点小小的遗憾,就是在输出滤波电容这里有点随便了,为了弥补这个遗憾,秉着工程师的" ...

  9. android JS 互相通讯

    1.android中利用webview调用网页上的js代码. Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true ...

  10. java中this这个概念初学者非常难理解,请举例说明

    4.this关键字(this key word) 继上一小节,(3.一个对象可能有多个参考)this是当中的一个参考!指向他自己. class MyTestDate {    int year;    ...