总结发布一些简单CTF中MISC常用的解题脚本,基于python3。目前有二维码解码、mp3隐写、像素提取。
二维码解码
通过pip安装zxing库。
def qr_decode():
"""
二维码解码
:return:
"""
import zxing
reader = zxing.BarCodeReader()
barcode = reader.decode('/home/QR_code.png')
print(barcode.parsed)
多进程解密mp3隐写
主要针对MP3Stego需要暴力枚举密码的情况,题目限定密码是1-30000的数字。
import multiprocessing
import os
# 切换到工作目录下
os.chdir('D:/tester/MP3Stego_1_1_19/MP3Stego')
def cmdCall(num):
"""
cmd执行MP3Stego的破解 生成对应的数字临时文件和对应的结果txt
:param num:
:return:
"""
import subprocess
cmd = f"Decode.exe -X -P {num} svega_stego.mp3 {num} {num}"
subprocess.call(cmd, shell=True)
if __name__ == '__main__':
for i in range(30000):
pool = multiprocessing.Pool(4)
pool.apply_async(cmdCall, [i, ])
pool.close()
读取图片中的像素
读取图片中的部分像素,原题是左对角线的一些像素值组成的字符。
def readImageValue():
"""
读取图片的像素值脚本。
"""
from PIL import Image
img = Image.open("/home/out.png")
# print(img.size)
result = []
for i in range(0, 42):
data = (img.getpixel((i, i))) # 每个像素点RGBA的值(r,g,b,alpha)
# print(data)
result.append(chr(data[2]))
print(''.join(result))