随波逐流工作室—-探索前沿科技,分享最新软件。点击标题下蓝字“长弓三皮”关注,我们将为您提供有深度、有价值、有意思的阅读。
朋友们,现在只对常读和星标的公众号才展示大图推送,建议大家把长弓三皮“设为星标”,否则可能就看不到了啦!
作者:随波逐流
题目下载:https://pan.quark.cn/s/50b9e587623b
一群强盗,瓜分我的宝
flag如果包含空格,请替换成下划线
不管他是什么,先拖入[随波逐流]CTF编码工具
[随波逐流]CTF编码工具---图片---图片转RGB
全是171
依次拖入1.png,2.png,3.png....
发现是
只有4个数171,160,170,161
猜测是4进制
c的10进制是99,4进制是1203
171,160,170,161对应1,2,0,3
让AI写个代码读取第个像素的R值组成4进制再转字符
import os
from PIL import Image
import re
def natural_sort_key(s):
"""
用于自然排序的键函数。
将字符串中的数字部分提取出来,按照数值大小排序。
"""
return [int(text) if text.isdigit() else text.lower() for text in re.split(r'(d+)', s)]
def get_first_pixel_r_value(image_path):
try:
with Image.open(image_path) as img:
# 尝试将图片转换为 RGB 模式(如果它不是 RGB 模式)
if img.mode != 'RGB':
img = img.convert('RGB')
# 获取图片的第一个像素
pixel = img.getpixel((0, 0))
return pixel[0] # 返回 R 值
except Exception as e:
print("Error processing image {}: {}".format(image_path, e))
return None
def process_folder(folder_path):
# 获取文件夹中的所有文件,并按自然排序
files = sorted([f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))],
key=natural_sort_key)
s = '' # 初始化字符串变量
for filename in files:
file_path = os.path.join(folder_path, filename)
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):
r_value = get_first_pixel_r_value(file_path)
if r_value is not None:
# 根据 R 值的个位数追加字符
if r_value ==171:
s += '1'
elif r_value ==160:
s += '2'
elif r_value ==170:
s += '0'
elif r_value ==161:
s += '3'
print("The R value of the first pixel in {} is {}. Appending to s: {}".format(filename, r_value, s[-1]))
else:
print("{} is not an RGB image or could not be processed.".format(filename))
# 将 s 每 4 位4进制字符串转换为字符
result = ''
for i in range(0, len(s), 4):
byte = s[i:i + 4] # 获取 4 位4进制字符串
if len(byte) == 4: # 确保是完整的 4 位
result += chr(int(byte, 4)) # 转换为字符并追加到结果中
else:
print("Incomplete byte found: {}".format(byte))
print("Final result string: {}".format(result))
# 替换为你想要处理的文件夹路径
folder_path = r"G:tempimg"
process_folder(folder_path)
# Final result string: ctfshow{56.robber}
提示:flag如果包含空格,请替换成下划线。
这儿没有空格就把点换成下划线
ctfshow{56_robber}
你若喜欢,为“长弓三皮”点个赞和在看哦
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...