当前位置: 首页 > news >正文

第二届帕鲁杯时间循环的信使

题目描述:

某神秘组织通过时间循环传递加密信息,我们在捕获的流量日志中发现异常时间戳。日志文件显示:"在错误的时间做正确的事,在正确的时间解开谜题",flag格式为palu{xxx}


解压得到timeloop.log:

感觉里面有一些十六进制数据,八个相同的字符?


根据题目描述,先查看一下文件时间戳:

stat timeloop.log

额,还是看不出什么


按时间戳排序->保留'|'右侧字符重复数据->取右侧1位组成十六进制字符串解码

python代码如下:

import re
import binasciidef extract_and_decode_hex():# 读取日志文件try:with open('timeloop.log', 'r') as f:lines = f.readlines()except FileNotFoundError:print("错误: 文件 'timeloop.log' 未找到")return# 正则表达式:匹配8个相同十六进制字符的行pattern = re.compile(r'^([0-9a-fA-F])\1{7}$')parsed_data = []# 解析每一行for line in lines:line = line.strip()if not line:continue# 分割时间戳和数据部分parts = line.split('|', 1)if len(parts) != 2:continue  # 忽略格式不正确的行timestamp_str, data = parts[0], parts[1]# 验证时间戳是否为数字try:timestamp = int(timestamp_str)except ValueError:continue  # 时间戳无效则跳过# 验证数据是否符合规则:8个相同十六进制字符if len(data) == 8 and pattern.match(data):parsed_data.append((timestamp, data))# 按时间戳排序parsed_data.sort(key=lambda x: x[0])# 提取最后一个字符并拼接成HEX字符串hex_str = ''.join([item[1][-1] for item in parsed_data])print(f"提取的HEX字符串: {hex_str}")# 解码HEX为ASCII/字符串try:# 补全偶数长度(若需要)if len(hex_str) % 2 != 0:hex_str += '0'print("提示: HEX长度为奇数,已补零")decoded = binascii.unhexlify(hex_str).decode('utf-8', errors='replace')print("解码结果:",decoded)except binascii.Error as e:print(f"解码失败: HEX格式错误 ({e})")except UnicodeDecodeError as e:print(f"解码失败: 非UTF-8字符 ({e})")if __name__ == "__main__":extract_and_decode_hex()

得到flag:

palu{Time_1s_cycl1c@l_0x}

http://www.xdnf.cn/news/550063.html

相关文章:

  • 广东省省考备考(第十五天5.20)—言语(第六节课)
  • 牛客周赛 Round 93题解(个人向A-E)
  • jenkins授权管理.
  • 如何自学FPGA设计?
  • 分布式ID生成器:原理、对比与WorkerID实战
  • SkyReels-V2:开启无限时长电影生成新时代
  • 元宇宙中的虚拟经济:机遇与挑战
  • centos7.6安装桌面并使用mstsc连接
  • WHAT - CSS 中的 min-height
  • 小白入门FPGA设计,如何快速学习?
  • Python虚拟环境再PyCharm中自由切换使用方法
  • 【周输入】517周阅读推荐-1
  • java 异常验证框架validation,全局异常处理,请求验证
  • Power BI入门之建模
  • C 语言学习笔记(指针1)
  • 十五、面向对象底层逻辑-BeanDefinitionRegistryPostProcessor接口设计
  • CentOS 7上搭建高可用BIND9集群指南
  • Visual Studio 2022 无法编译.NET 9 项目的原因和解决方法
  • CI/CD的演进之路
  • 如何利用 Java 爬虫根据 ID 获取某手商品详情:实战指南
  • 最大和---记忆化搜索
  • Python中列表相关操作
  • 【生活tips】保存系统随机的壁纸
  • 逆元(费马,扩展欧几里得)
  • PostgreSQL 初体验
  • 基于线性回归的数据预测
  • git学习与使用(远程仓库、分支、工作流)
  • JAVA面向对象——对象和类的基本语法
  • 游戏开发实战(二):Python复刻「崩坏星穹铁道」嗷呜嗷呜事务所---源码级解析该小游戏背后的算法与设计模式【纯原创】
  • Spring Boot 监听器(Listeners)详细教程