CTFshow-Misc入门-图片基础

文章发布时间:

最后更新时间:

页面浏览:加载中...

MISC入门

图片篇(基础操作)

misc1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 简述: 使用ocr库识别图片内文字并输出

import pytesseract

from PIL import Image

img = 'misc1.png'

img = Image.open(img)

print(pytesseract.image_to_string(img, lang='eng'))

# pip install pytesseract

# pip install pillow

# tesseract-ocr  https://github.com/UB-Mannheim/tesseract/wiki

misc2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 简述: 更改文件后缀并使用ocr识别图片内容

import shutil

import pytesseract

from PIL import Image

file_txt = 'misc2.txt'

file_png = 'misc2.png'

shutil.copyfile(file_txt, file_png) # 复制文件 并更改后缀

img = Image.open(file_png)

print(pytesseract.image_to_string(img,lang='eng'))

misc3

1
2
3
4
5
6
7
8
9
10
11
12
13
# 简述: 使用bpgdec工具 https://bellard.org/bpg/ 转换为png图片并输出flag

import subprocess

import pytesseract

from PIL import Image

subprocess.run(["bpgdec", "-o" "misc3.png","misc3.bpg"])

img = Image.open("misc3.png")

print(pytesseract.image_to_string(img,lang='eng'))

misc4

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
# 简述: 挨个按照格式更改文件后缀并使用ocr识别图片内容

# 对应的分别是

# id |  原文件  |  更改后文件  |      文件头      |

# 1. #  1.txt   # 1.png       # 89 50 4e 47     # png 文件

# 2. #  2.txt   # 2.jpeg      # 89 50 4e 47     # Exif 文件

# 3. #  3.txt   # 3.bmp       # 42 4D           # bmp 文件

# 4. #  4.txt   # 4.gif       # 47 49 46 38     # gif 文件

# 5. #  5.txt   # 5.tif       # 49 49 2A 00     # tif 文件

# 6. #  6.txt   # 6.wav       # 52 49 46 46     # wav 文件

import shutil

import pytesseract

from PIL import Image

file_type = ['png', 'jpeg', 'bmp', 'gif', 'tif', 'wav']

flag = ''

for i in range(1, 7):

    file_txt = str(i) + '.txt'

    file_sou = str(i) + '.' + file_type[i-1]

    print(file_txt, file_sou)

    shutil.copyfile(file_txt, file_sou) # 复制文件 并更改后缀

    img = Image.open(file_sou)

    flag += pytesseract.image_to_string(img,lang='eng')

print(flag.replace('\n', '')) #此处部分f识别成了F需要手动更改