misc

draw

Description

1
2
3
4
5
I'm god's child.

Flag format: RCTF_[A-Za-z]

cs pu lt 90 fd 500 rt 90 pd fd 100 rt 90 repeat 18[fd 5 rt 10] lt 135 fd 50 lt 135 pu bk 100 pd setcolor pick [ red orange yellow green blue violet ] repeat 18[fd 5 rt 10] rt 90 fd 60 rt 90 bk 30 rt 90 fd 60 pu lt 90 fd 100 pd rt 90 fd 50 bk 50 setcolor pick [ red orange yellow green blue violet ] lt 90 fd 50 rt 90 fd 50 pu fd 50 pd fd 25 bk 50 fd 25 rt 90 fd 50 pu setcolor pick [ red orange yellow green blue violet ] fd 100 rt 90 fd 30 rt 45 pd fd 50 bk 50 rt 90 fd 50 bk 100 fd 50 rt 45 pu fd 50 lt 90 pd fd 50 bk 50 rt 90 setcolor pick [ red orange yellow green blue violet ] fd 50 pu lt 90 fd 100 pd fd 50 rt 90 fd 25 bk 25 lt 90 bk 25 rt 90 fd 25 setcolor pick [ red orange yellow green blue violet ] pu fd 25 lt 90 bk 30 pd rt 90 fd 25 pu fd 25 lt 90 pd fd 50 bk 25 rt 90 fd 25 lt 90 fd 25 bk 50 pu bk 100 lt 90 setcolor pick [ red orange yellow green blue violet ] fd 100 pd rt 90 arc 360 20 pu rt 90 fd 50 pd arc 360 15 pu fd 15 setcolor pick [ red orange yellow green blue violet ] lt 90 pd bk 50 lt 90 fd 25 pu home bk 100 lt 90 fd 100 pd arc 360 20 pu home

Solution

谷歌cs pu lt 90 fd 500 rt 90 pd fd

得到在线logo网站

flag:

1
RCTF_HeyLogo

printer

Description

1
2
3
The supermarket bought a new printer last night. I hacked into their computer and captured the USB traffic on it. Could you help me steal the secret?

Flag format: flag{0-9a-z_} (Convert uppercase to lowercase)

file:

Solution

处理printer.pcapng文件都是USB协议,直接提取left capture data段的数据:

1
tshark printer.pcapng -T fields -e usb.capdata > print.txt

发现:

1
2
3
4
5
6
7
8
9
10
11
12
13
0000010001000000
0000000001000000
0000010001000000
00000000ffff0000
0000fefffdff0000
0000ffff00000000
0000fefffeff0000
0000f7fff9ff0000
0000f9fff9ff0000
0000fafffaff0000
0000f9fffaff0000
0000fafff9ff0000
0000fcfffcff0000

8字节,明显的键盘流量,键盘映射表

可以使用脚本解析流量:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
mappings = { 0x04:"A",  0x05:"B",  0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G",  0x0B:"H", 0x0C:"I",  0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O",  0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5",  0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]",  0X2B:"    ", 0x2C:" ",  0x2D:"-", 0x2E:"=", 0x2F:"[",  0x30:"]",  0x31:"\\", 0x32:"~", 0x33:";",  0x34:"'", 0x36:",",  0x37:"." }
nums = []
nums2 = []
nums3 = []
nums4 = []
keys = open('print.txt')
for line in keys:
if line[2:4] != '00':
continue
nums.append(int(line[4:6],16))
nums2.append(int(line[6:8],16))
nums3.append(int(line[8:10],16))
nums4.append(int(line[10:12],16))
keys.close()
output = ""
print(nums)
for n in nums:
if n == 0 :
continue
if n in mappings:
output += mappings[n]
else:
output += ''
print 'output :\n' + output + '\n'
output = ""
for n in nums2:
if n == 0 :
continue
if n in mappings:
output += mappings[n]
else:
output += ''
print 'output :\n' + output + '\n'
output = ""
for n in nums3:
if n == 0 :
continue
if n in mappings:
output += mappings[n]
else:
output += ''
print 'output :\n' + output + '\n'
output = ""
for n in nums4:
if n == 0 :
continue
if n in mappings:
output += mappings[n]
else:
output += ''
print 'output :\n' + output + '\n'

没有什么有效信息…..

但是仔细一点可以发现里面还有几行很长的字节流:

1
2
53495a452034372e35206d6d2c2038302e31206d6d0d0a4741502033206d6d2c2030206d6d0d0a444952454354494f4e20302c300d0a5245464552454e434520302c300d0a4f46465345542030206d6d0d0a534554205045454c204f46460d0a53455420435554544552204f46460d0a534554205041525449414c5f435554544552204f46460d0a
5345542054454152204f4e0d0a434c530d0a4249544d4150203133382c37352c32362c34382c312cffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffc3ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffe3fffe1ffffffffff807c03c603fc07c07e0007f7ff01f8067ff007ff803fc07c03fff1ff1f04f8ff1ff1fff1fff3ffcff1f27fc7f1ff3e1ff1ff9ffff1ff1fc1fcff8ff1fff1fff3ffefe3f87f8ff9feff8ff1ff9ffff8ff1fc3fc7fcff1fff1fff1ffefc7fc7f9ff8fdffc7f1ff9ffff8ff1fc7fe3fc7f1fff1fff1ffefcffe7f1ff8f9ffc3f1ff9ffffc7f1fc7fe3fe3f1fff1fff0ffef8ffe7f1ff0fbffe3f1ff9ffffc7f1fc7fe3fe3f1fff1fff0ffef8ffe7e1ff8f3ffe3f1ff9ffffe3f1fc7fe3ff1f1fff1fff47fef8ffe7e3ff9f7ffe1f1ff9ffffe3f1fc7ff3ff8e1fff1fff47fef9ffe7e3ffffffff1f1ff9fffff1f1fc7ff3ff8c1fff1fff63fef9ffe7f1ffffffff1f1ff9fffff1f1fc7ff3ffc11fff1fff63fef9ffe7f1ffffffff1f1ff9fffff1f1fc7fe3ffe31fff1fff71fef9ffe7f1ffffffff1f1ff9fffff8f1fc7fe3ffe71fff1fff71fef8ffe7f8ffffffff0f1ff9fffff8f1fc7fe3ffcf1fff1fff78fef8ffe7fcffffffff0f1ff9fffffc61fc7fe7ff9f1fff1fff78fef8ffc7fe3fffffff0f1ff9fffffc41fc7fc7ff3f1fff1fff7c7efcffc7ff83ffffff0f9ff1fffffe11fc3f8fff7f1fff1fff7c7efc7fa7ff87ffffff0f9fe9fffffe31fc1f1ffe7f1fff1fff7e3efe3e67fe3fffffff1f8f99ffffff31fc403fe01f1fff1fff7e3eff80e0fc7fffffff1fc039fffffe71fc79ffffff1fff1fff7f1efff3eff8ffffffff1ff0f9fffffef1fc7fffffff1fff1fff7f0efffffff8ffffffff1ffff9fffffcf1fc7fffffff1fff1fff7f8efffffff8fffffffe1ffff9fffff9f1fc7fffffff1fff1fff7f86fffffff8ff9f7ffe3ffff9fffffbf1fc7fffffff1fff1fff7fc6fffffff8ff0f3ffe3ffff9fffff7f1fc7fffffff1fff1fff7fc2fffffff8ff8fbffc7ffff9ffffe7f1fc7fffffff1fff1fff7fe2fffffff8ff8f9ffc7ffff9ffffcff1fc7fffffff1fff1fff7ff0fffffffcff9f9ff8fffff9ffff8ff1fc7fffffff1fff1fff7ff0fffffffc7f9f8ff1fffff9ffff0ff0fc3fffffff1fff0ffe7ff8fffffffe1e7f83e3fffff8fffc03c03c0fffffff03e000780ff83fffffff80fff80ffffff83ffffffffdffffffff3ffffffffffffffffffffffffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0d0a4249544d4150203133302c3537392c32392c33322c312cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffe38fffffffffffffffffffffffffffffffffffffffffffffffffffffffdff7ffffffffffffffffffffffffffffffffffffffffffffffffffffff9ff3ffffffffffffffffffffffffffffffffffffffffffffffffffffff9ff3fffffffffffff9ffefbffc7ffffffe1fff8fffffffc3ffffffffff9ff3ff8ffffffffff0ffefbff39ff007f9c7fe72ffffff3c3fc07fffff87e78463f803ff01f0ffe7bfefefff7ff3f3f9f8fffffeff3ffbffffffc01fa3f9ffbfffe7f9ffe71fcfe7ff7ff7f9f9fcfffffeffbffbfffffffc07e7f9ffbfffe7ffffc71f9ff3ff7feff9f3fcfffffeffbffbffffffffe7e7f8ffbfffe7ffffd75f9ff3ff7ffffcf3fcfffffe7ffffbffffffffe7e7f9ffbfffe7ffffd35f9ff3ff7ffffcf3fcfffffe3ffffbfffffff80fe7f9ffbfffe7ffffd2cf9ff3ff7ffffcf3fcffffff07fffbfffffff7cfe7f3ffbfffe7ffffb2cf9ff3ff7fe000f3fcffffffc1fffbffffffe7e7e7c7ffbfffe7ffffbacf9ff3ff7fe7fcf3fcfffffff87ffbffffffe7e7e03fffbfffe7ffffb9ef9ff3ff7fe7fcf3fcfffffffe7ffbffffffefe7e7ffffbfffe7ffffb9e79ff3ff7fe7f9f3fcfffffeff3ffbffffffefe7e7f9ffbfffe7ffff79e7cfe7ff7ff3f9f9f8fffffeff3ffbffffffe7e7f7f1ffbfffe7f1ff79e7efcfff7ff3f3f9f0fffffe7f7ffbffffff27eff3f3ffbfffe7f0fe38e3f39fff7ffce7fc04fffffe1cfff9ffffff019ff9e7ffbfffe7f1fffffffc7fff7fff1fffbcfffffee3fff87fffffbe7ffe1fffbffe00ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfe7e7ffffffffffffff7ffffffffcfffffffffff3ffffffffffffffffbfe7efffffffffffffff7ffffffffcfffffffffff1ffffffffffffffffbfe7cfffffffffffffff03fffffffc3ffffffffff1ffffffffffffffff81f03fffffffffffffff3ffffffffcfffffffffffbffffffffffffffff9ffffff0d0a424152203334382c203433392c20322c2039360d0a424152203239322c203533352c2035362c20320d0a424152203330302c203439352c2034382c20320d0a424152203236302c203434372c20322c2038380d0a424152203230342c203434372c2035362c20320d0a424152203137362c203434372c20322c2039360d0a424152203131362c203435352c20322c2038320d0a424152203132302c203437392c2035362c20320d0a4241522034342c203533352c2034382c20320d0a4241522039322c203435352c20322c2038300d0a4241522032302c203435352c2037322c20320d0a4241522032312c203435352c20322c2034300d0a4241522032312c203439352c2032342c20320d0a4241522034352c203437392c20322c2031360d0a4241522033362c203437392c2031362c20320d0a424152203238342c203339312c2034302c20320d0a424152203332342c203334332c20322c2034380d0a424152203332342c203238372c20322c2033320d0a424152203237362c203238372c2034382c20320d0a4241522035322c203331312c2034382c20320d0a424152203238342c203233392c2034382c20320d0a424152203330382c203138332c20322c2035360d0a424152203134382c203233392c2034382c20320d0a424152203139362c203139312c20322c2034380d0a424152203134382c203139312c2034382c20320d0a4241522036382c203139312c2034382c20320d0a4241522037362c203135312c2034302c20320d0a4241522037362c203131392c20322c2033320d0a4241522037362c2035352c20322c2033320d0a4241522037362c2035352c2034382c20320d0a424152203131322c203533352c2036342c20320d0a424152203332302c203334332c2031362c20320d0a424152203332302c203331392c2031362c20320d0a424152203333362c203331392c20322c2032340d0a4241522035362c203132302c2032342c20320d0a4241522035362c2038372c2032342c20320d0a4241522035362c2038382c20322c2033320d0a424152203232342c203234372c2033322c20320d0a424152203235362c203231352c20322c2033320d0a424152203232342c203231352c2033322c20320d0a424152203232342c203138342c20322c2033320d0a424152203232342c203139312c2033322c20320d0a424152203237322c203331312c20322c2035360d0a424152203231362c203336372c2035362c20320d0a424152203231362c203331392c20322c2034380d0a424152203234302c203331382c20322c2034390d0a424152203138342c203335312c20322c2031360d0a424152203136382c203335312c2031362c20320d0a424152203136382c203331312c20322c2034300d0a424152203135322c203335312c2031362c20320d0a424152203135322c203335312c20322c2031360d0a5052494e5420312c310d0a

将其转换为ASCII:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
SIZE 47.5 mm, 80.1 mm
GAP 3 mm, 0 mm
DIRECTION 0,0
REFERENCE 0,0
OFFSET 0 mm
SET PEEL OFF
SET CUTTER OFF
SET PARTIAL_CUTTER OFF
SET TEAR ON
CLS
BITMAP 138,75,26,48,1,一堆ff
BITMAP 130,579,29,32,1,一堆ff
BAR 348, 439, 2, 96
BAR 292, 535, 56, 2
BAR 300, 495, 48, 2
BAR 260, 447, 2, 88
BAR 204, 447, 56, 2
BAR 176, 447, 2, 96
BAR 116, 455, 2, 82
BAR 120, 479, 56, 2
BAR 44, 535, 48, 2
BAR 92, 455, 2, 80
BAR 20, 455, 72, 2
BAR 21, 455, 2, 40
BAR 21, 495, 24, 2
BAR 45, 479, 2, 16
BAR 36, 479, 16, 2
BAR 284, 391, 40, 2
BAR 324, 343, 2, 48
BAR 324, 287, 2, 32
BAR 276, 287, 48, 2
BAR 52, 311, 48, 2
BAR 284, 239, 48, 2
BAR 308, 183, 2, 56
BAR 148, 239, 48, 2
BAR 196, 191, 2, 48
BAR 148, 191, 48, 2
BAR 68, 191, 48, 2
BAR 76, 151, 40, 2
BAR 76, 119, 2, 32
BAR 76, 55, 2, 32
BAR 76, 55, 48, 2
BAR 112, 535, 64, 2
BAR 320, 343, 16, 2
BAR 320, 319, 16, 2
BAR 336, 319, 2, 24
BAR 56, 120, 24, 2
BAR 56, 87, 24, 2
BAR 56, 88, 2, 32
BAR 224, 247, 32, 2
BAR 256, 215, 2, 32
BAR 224, 215, 32, 2
BAR 224, 184, 2, 32
BAR 224, 191, 32, 2
BAR 272, 311, 2, 56
BAR 216, 367, 56, 2
BAR 216, 319, 2, 48
BAR 240, 318, 2, 49
BAR 184, 351, 2, 16
BAR 168, 351, 16, 2
BAR 168, 311, 2, 40
BAR 152, 351, 16, 2
BAR 152, 351, 2, 16
PRINT 1,1

在网上找到官方文档

编写代码:

Bar部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import numpy as np
import cv2
import re
canvas = np.zeros((800, 1000, 3), dtype="uint8")
w = (255, 255, 255)
with open('s.txt', 'r') as f:
for i in range(100):
rec = f.readline()
if rec == '':
break
match = re.findall(r'(\d+)', rec)
for j in range(4):
match[j] = int(match[j])
stx = match[0]
sty = match[1]
enx = match[0] + match[2]
eny = match[1] + match[3]
cv2.rectangle(canvas, (stx, sty), (enx, eny), w)

cv2.imshow("Canvas", canvas)
cv2.waitKey(0)
cv2.imwrite('print.jpg',canvas)

结果:

Bitmap``部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from PIL import Image
s = "ffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffc3ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffe3fffe1ffffffffff807c03c603fc07c07e0007f7ff01f8067ff007ff803fc07c03fff1ff1f04f8ff1ff1fff1fff3ffcff1f27fc7f1ff3e1ff1ff9ffff1ff1fc1fcff8ff1fff1fff3ffefe3f87f8ff9feff8ff1ff9ffff8ff1fc3fc7fcff1fff1fff1ffefc7fc7f9ff8fdffc7f1ff9ffff8ff1fc7fe3fc7f1fff1fff1ffefcffe7f1ff8f9ffc3f1ff9ffffc7f1fc7fe3fe3f1fff1fff0ffef8ffe7f1ff0fbffe3f1ff9ffffc7f1fc7fe3fe3f1fff1fff0ffef8ffe7e1ff8f3ffe3f1ff9ffffe3f1fc7fe3ff1f1fff1fff47fef8ffe7e3ff9f7ffe1f1ff9ffffe3f1fc7ff3ff8e1fff1fff47fef9ffe7e3ffffffff1f1ff9fffff1f1fc7ff3ff8c1fff1fff63fef9ffe7f1ffffffff1f1ff9fffff1f1fc7ff3ffc11fff1fff63fef9ffe7f1ffffffff1f1ff9fffff1f1fc7fe3ffe31fff1fff71fef9ffe7f1ffffffff1f1ff9fffff8f1fc7fe3ffe71fff1fff71fef8ffe7f8ffffffff0f1ff9fffff8f1fc7fe3ffcf1fff1fff78fef8ffe7fcffffffff0f1ff9fffffc61fc7fe7ff9f1fff1fff78fef8ffc7fe3fffffff0f1ff9fffffc41fc7fc7ff3f1fff1fff7c7efcffc7ff83ffffff0f9ff1fffffe11fc3f8fff7f1fff1fff7c7efc7fa7ff87ffffff0f9fe9fffffe31fc1f1ffe7f1fff1fff7e3efe3e67fe3fffffff1f8f99ffffff31fc403fe01f1fff1fff7e3eff80e0fc7fffffff1fc039fffffe71fc79ffffff1fff1fff7f1efff3eff8ffffffff1ff0f9fffffef1fc7fffffff1fff1fff7f0efffffff8ffffffff1ffff9fffffcf1fc7fffffff1fff1fff7f8efffffff8fffffffe1ffff9fffff9f1fc7fffffff1fff1fff7f86fffffff8ff9f7ffe3ffff9fffffbf1fc7fffffff1fff1fff7fc6fffffff8ff0f3ffe3ffff9fffff7f1fc7fffffff1fff1fff7fc2fffffff8ff8fbffc7ffff9ffffe7f1fc7fffffff1fff1fff7fe2fffffff8ff8f9ffc7ffff9ffffcff1fc7fffffff1fff1fff7ff0fffffffcff9f9ff8fffff9ffff8ff1fc7fffffff1fff1fff7ff0fffffffc7f9f8ff1fffff9ffff0ff0fc3fffffff1fff0ffe7ff8fffffffe1e7f83e3fffff8fffc03c03c0fffffff03e000780ff83fffffff80fff80ffffff83ffffffffdffffffff3ffffffffffffffffffffffffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
t = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffe38fffffffffffffffffffffffffffffffffffffffffffffffffffffffdff7ffffffffffffffffffffffffffffffffffffffffffffffffffffff9ff3ffffffffffffffffffffffffffffffffffffffffffffffffffffff9ff3fffffffffffff9ffefbffc7ffffffe1fff8fffffffc3ffffffffff9ff3ff8ffffffffff0ffefbff39ff007f9c7fe72ffffff3c3fc07fffff87e78463f803ff01f0ffe7bfefefff7ff3f3f9f8fffffeff3ffbffffffc01fa3f9ffbfffe7f9ffe71fcfe7ff7ff7f9f9fcfffffeffbffbfffffffc07e7f9ffbfffe7ffffc71f9ff3ff7feff9f3fcfffffeffbffbffffffffe7e7f8ffbfffe7ffffd75f9ff3ff7ffffcf3fcfffffe7ffffbffffffffe7e7f9ffbfffe7ffffd35f9ff3ff7ffffcf3fcfffffe3ffffbfffffff80fe7f9ffbfffe7ffffd2cf9ff3ff7ffffcf3fcffffff07fffbfffffff7cfe7f3ffbfffe7ffffb2cf9ff3ff7fe000f3fcffffffc1fffbffffffe7e7e7c7ffbfffe7ffffbacf9ff3ff7fe7fcf3fcfffffff87ffbffffffe7e7e03fffbfffe7ffffb9ef9ff3ff7fe7fcf3fcfffffffe7ffbffffffefe7e7ffffbfffe7ffffb9e79ff3ff7fe7f9f3fcfffffeff3ffbffffffefe7e7f9ffbfffe7ffff79e7cfe7ff7ff3f9f9f8fffffeff3ffbffffffe7e7f7f1ffbfffe7f1ff79e7efcfff7ff3f3f9f0fffffe7f7ffbffffff27eff3f3ffbfffe7f0fe38e3f39fff7ffce7fc04fffffe1cfff9ffffff019ff9e7ffbfffe7f1fffffffc7fff7fff1fffbcfffffee3fff87fffffbe7ffe1fffbffe00ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfe7e7ffffffffffffff7ffffffffcfffffffffff3ffffffffffffffffbfe7efffffffffffffff7ffffffffcfffffffffff1ffffffffffffffffbfe7cfffffffffffffff03fffffffc3ffffffffff1ffffffffffffffff81f03fffffffffffffff3ffffffffcfffffffffffbffffffffffffffff9ffffff0d0a424152203334382c203433392c20322c2039360d0a424152203239322c203533352c2035362c20320d0a424152203330302c203439352c2034382c20320d0a424152203236302c203434372c20322c2038380d0a424152203230342c203434372c2035362c20320d0a424152203137362c203434372c20322c2039360d0a424152203131362c203435352c20322c2038320d0a424152203132302c203437392c2035362c20320d0a4241522034342c203533352c2034382c20320d0a4241522039322c203435352c20322c2038300d0a4241522032302c203435352c2037322c20320d0a4241522032312c203435352c20322c2034300d0a4241522032312c203439352c2032342c20320d0a4241522034352c203437392c20322c2031360d0a4241522033362c203437392c2031362c20320d0a424152203238342c203339312c2034302c20320d0a424152203332342c203334332c20322c2034380d0a424152203332342c203238372c20322c2033320d0a424152203237362c203238372c2034382c20320d0a4241522035322c203331312c2034382c20320d0a424152203238342c203233392c2034382c20320d0a424152203330382c203138332c20322c2035360d0a424152203134382c203233392c2034382c20320d0a424152203139362c203139312c20322c2034380d0a424152203134382c203139312c2034382c20320d0a4241522036382c203139312c2034382c20320d0a4241522037362c203135312c2034302c20320d0a4241522037362c203131392c20322c2033320d0a4241522037362c2035352c20322c2033320d0a4241522037362c2035352c2034382c20320d0a424152203131322c203533352c2036342c20320d0a424152203332302c203334332c2031362c20320d0a424152203332302c203331392c2031362c20320d0a424152203333362c203331392c20322c2032340d0a4241522035362c203132302c2032342c20320d0a4241522035362c2038372c2032342c20320d0a4241522035362c2038382c20322c2033320d0a424152203232342c203234372c2033322c20320d0a424152203235362c203231352c20322c2033320d0a424152203232342c203231352c2033322c20320d0a424152203232342c203138342c20322c2033320d0a424152203232342c203139312c2033322c20320d0a424152203237322c203331312c20322c2035360d0a424152203231362c203336372c2035362c20320d0a424152203231362c203331392c20322c2034380d0a424152203234302c203331382c20322c2034390d0a424152203138342c203335312c20322c2031360d0a424152203136382c203335312c2031362c20320d0a424152203136382c203331312c20322c2034300d0a424152203135322c203335312c2031362c20320d0a424152203135322c203335312c20322c2031360d0a5052494e5420312c31"
image = Image.open('print.jpg')
pixels = []
w = (255,255,255)
for i in range(1248):
pixels.append(s[i*2:i*2+2])
pixels[i] = bin(int(pixels[i], 16))[2:].rjust(8,'0')
count = 0
print(pixels)
for i in range(48):
for j in range(26):
for k in range(8):
if pixels[count][k] == '1':
image.putpixel((138+j*8+k, 75+i), w)
count += 1
pixels = []
for i in range(928):
pixels.append(t[i*2:i*2+2])
pixels[i] = bin(int(pixels[i], 16))[2:].rjust(8,'0')
count = 0
print(pixels)
for i in range(32):
for j in range(29):
for k in range(8):
if pixels[count][k] == '1':
image.putpixel((130+j*8+k, 579+i), w)
count += 1
image.show()

结果:

flag:

1
flag{my_tsc_hc3pnikdk}

draw

Description

Solution

crypto

draw

Description

Solution