BugKu-0和1的故事(可用matlab解题) 该题只给了一个txt,里面是0、1序列。 注意一下,题目给的0和1一定要用脚本取反,否则最后出来的正好黑色和白色相反。后面的python脚本也是为了实
BugKu-0和1的故事(可用matlab解题)
该题只给了一个txt,里面是0、1序列。
注意一下,题目给的0和1一定要用脚本取反,否则最后出来的正好黑色和白色相反。后面的python脚本也是为了实现这个脚本。
文本内容供大家使用:
00000000011100100000000000000000000011110100000000
0000000001110001000000000
0000000010111100000000000
0000000010101010000000000
0000000001100010100000000
0000000010101010100000000
0000000001000001100000000
1100011101110110100011000
0001000010110010010010100
0100111101000011101110011
0011110100101011001001001
1000001001100001001101000
1111000111111011100101000
1011011111001101111110111
1000110110010010101101100
1000111100111111111110111
0000000010110001100010100
0000000010010100101010001
0000000010101010100011001
0000000000100111111110010
0000000000011001011110111
0000000001001100100100001
0000000011000011011011001
0000000011010000101110101
在做这个题之前,也找了很多WP,比如说
方法一:
用python脚本将0和1分别转为黑色和白色,但是我确实得不到正确的二维码,可能是我太菜了。
方法二:
用excel表格去填充,0和1分别代表黑色和白色,然后得到二维码图像,太麻烦了,我也没实现!!!
方法三(用Matlab实现):
首先,在matlab中0为黑色,1为白色。我们先把题目给的0和1的序列转为0和9的序列,这里我用python转了一下。
str='''0 0 0 0 0 0 0 0 0 9 9 9 0 0 9 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 9 9 9 9 0 9 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 9 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 9 0 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 9 0 9 0 9 0 9 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 9 9 0 0 0 9 0 9 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 9 0 9 0 9 0 9 0 9 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 9 9 0 0 0 0 0 0 0 0
9 9 0 0 0 9 9 9 0 9 9 9 0 9 9 0 9 0 0 0 9 9 0 0 0
0 0 0 9 0 0 0 0 9 0 9 9 0 0 9 0 0 9 0 0 9 0 9 0 0
0 9 0 0 9 9 9 9 0 9 0 0 0 0 9 9 9 0 9 9 9 0 0 9 9
0 0 9 9 9 9 0 9 0 0 9 0 9 0 9 9 0 0 9 0 0 9 0 0 9
9 0 0 0 0 0 9 0 0 9 9 0 0 0 0 9 0 0 9 9 0 9 0 0 0
9 9 9 9 0 0 0 9 9 9 9 9 9 0 9 9 9 0 0 9 0 9 0 0 0
9 0 9 9 0 9 9 9 9 9 0 0 9 9 0 9 9 9 9 9 9 0 9 9 9
9 0 0 0 9 9 0 9 9 0 0 9 0 0 9 0 9 0 9 9 0 9 9 0 0
9 0 0 0 9 9 9 9 0 0 9 9 9 9 9 9 9 9 9 9 9 0 9 9 9
0 0 0 0 0 0 0 0 9 0 9 9 0 0 0 9 9 0 0 0 9 0 9 0 0
0 0 0 0 0 0 0 0 9 0 0 9 0 9 0 0 9 0 9 0 9 0 0 0 9
0 0 0 0 0 0 0 0 9 0 9 0 9 0 9 0 9 0 0 0 9 9 0 0 9
0 0 0 0 0 0 0 0 0 0 9 0 0 9 9 9 9 9 9 9 9 0 0 9 0
0 0 0 0 0 0 0 0 0 0 0 9 9 0 0 9 0 9 9 9 9 0 9 9 9
0 0 0 0 0 0 0 0 0 9 0 0 9 9 0 0 9 0 0 9 0 0 0 0 9
0 0 0 0 0 0 0 0 9 9 0 0 0 0 9 9 0 9 9 0 9 9 0 0 9
0 0 0 0 0 0 0 0 9 9 0 9 0 0 0 0 9 0 9 9 9 0 9 0 9'''#0为黑色 9为白色
str1=str.replace("0",'1')
print(str1)
print('\n')
str2=str1.replace("9",'0')
print(str2)
下面把得到的转换后的字符串,手动添加上3个定位符后(左上、左下、右上),再用Matlab处理一下。
I = [0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 00 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0
0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0
0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0
0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 0
0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 1 0
0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1
0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 1
1 1 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1
1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0
1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0
0 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1
0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1
0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0
0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 1
0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 0 1 1
0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 0
0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0
0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1
0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0
0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0
0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 0
0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0]; % 测试数据模拟图像
[m,n] = size(I);
subplot(121),imshow(I,[]),title('原图');
得到二维码。
扫一扫即可!
flag{QR_c0de_1s_1nterest1n9}
为什么想到用matlab呢?因为刚学完matlab。哈哈
我是罡罡同学,一位初入网安的小白。☜(ˆ▽ˆ)
(疯狂暗示 点赞 !关注!转发 !!! 点赞 !关注!转发 !!!)
* 您的支持是罡罡同学前进的最大动力!