攻防世界MISC 时间刺客

题目

在这里插入图片描述

分析

参考链接:http://t.csdnimg.cn/X1dW9
解压附件发现4张图片
在这里插入图片描述题目名称为时间刺客,且图片的修改时间容易引起注意
思路即为对4张图片的时间戳进行提取处理

解题

在上级目录新建python脚本文件
在这里插入图片描述标准十进制ASCII码表http://t.csdnimg.cn/1Okgb
在这里插入图片描述

编写代码如下

import os
import re

# 获取目录下所有文件的名称
filenames = os.listdir('./附件/')

# 初始化一个空列表,用于存储处理后的时间戳字符串
timestamp_strings = []

# 遍历每个文件名
for filename in filenames:
    
    # 获取文件最后修改的时间戳(以秒为单位)乘以10^9,将其转换为纳秒级别
    timestamp_ns = int(os.path.getmtime('./附件/'+filename)* 10**9)

    # 将纳秒级别的时间戳限制在64位无符号整数范围内,再除以10^9,转换回秒级别,再转换为字符串
    seconds = str(int((timestamp_ns) % (2 ** 64 - 1)) / (10 ** 9))
    
    # 32--126(共95个)是可打印字符(32是空格)寻找可打印字符
    matches = re.findall(r'1[0-2][0-9]|[4-9][0-9]|3[2-9]', seconds)
    
    # 如果匹配成功,将匹配到的字符串转换为整数并添加到列表中
    for match in matches:
        timestamp_strings.append(int(match))

# 将列表的数字转换为字节串,然后解码为字符串
flag = bytes(timestamp_strings).decode()
print(flag)

执行得到flag
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值