[SWPU2019]Network

TTL加密

python脚本解密


import binascii

binary_dict = {
    '63': '00',
    '127': '01',
    '191': '10',
    '255': '11'
}

with open('attachment_3.txt', 'r') as f:
    binary_str = ''.join(binary_dict.get(num.rstrip(), '') for num in f)

number = ''.join(chr(int(binary_str[i:i+8], 2)) for i in range(0, len(binary_str), 8))

data = binascii.unhexlify(number)

with open('flag1.zip', 'wb') as f2:
   f2.write(data)

有zip头,另存为1.zip,直接解压提示需要密码

,是伪加密,有处09我改为08保存。打开压缩包

base64循环解码,上大佬脚本

# -*- encoding: utf-8 -*-
import base64

f = open('flag.txt','rb').read()
while True:
    f = base64.b64decode(f)
    if b'{' in f:
        print(f)
        break
    else:
        continue

flag{189ff9e5b743ae95f940a6ccc6dbd9ab}

附件

TTL解释:  
TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。

不同的系统会有不一样的TTL,常用的系统默认最大TTL如下:

Linux:64或255。

微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128。
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32。

window7或window10的默认TTL为127。

FreeBSD和新版本的Red Hat Linux的TTL基数是64

可以通过ping127.0.0.1查看最大的TTL:

每一行都只有一个值,63,255,191等等,不难发现,这些值都为2的n次方减去一后的值,此处为TTL加密。

txt文件里面有很多列ttl值,63,127,191,255
63== 00111111
127== 01111111
191== 10111111
255==11111111
变得只有前面两位,后面6位不变,如果传输4个就是一字节

TTL加密: 
简单来说就是,图中63,127,191,255转化为二进制的值分别为 00111111,01111111,10111111,11111111。

发现只有前两位不同,TTL加密就是利用前两位进行加密,将每个前两位重新进行合并,8位为一组。

所以TTL加密的解密方法:

1,将所有前两位合并为8位,并且每八位一组。

2,将上面的每组转化为十六进制的字符

### 二维码生成与解析技术概述 二维码是一种二维条形码,它能够在有限的空间内存储大量的数据。其主要特点是可以通过扫描设备快速读取并转换成相应的信息。以下是关于二维码生成与解析的核心技术和常见应用场景。 #### 1. 二维码的结构 二维码通常由黑白相间的模块组成,这些模块按照特定规则排列形成矩阵图案。常见的二维码标准包括 QR Code 和 Data Matrix 等[^3]。QR Code 是最广泛使用的二维码类型之一,具有以下特性: - **定位标记**:位于三个角落的方框用于帮助扫描器识别二维码的方向。 - **校正功能**:内置错误纠正机制(基于 Reed-Solomon 编码),即使部分损坏也能成功解读。 - **数据区域**:实际存储的信息被编码到此区域内。 #### 2. 二维码生成过程 二维码生成涉及以下几个关键技术环节: ##### 数据编码 原始输入的数据会先经过一系列预处理操作,比如分段、模式匹配以及最终选择合适的编码方式(数值型、字母数字型或字节型)。对于 SWPU2019 的场景来说,如果需要嵌入莫斯码或其他特殊格式的内容,则需确保该部分内容能适配上述任意一种支持的编码形式[^4]。 ```python import qrcode def generate_qr_code(data, filename="qr.png"): qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data(data) qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white") img.save(filename) generate_qr_code("SWPU2019") # 示例生成包含字符串 "SWPU2019" 的二维码 ``` ##### 掩模应用 为了优化打印质量及提高可辨识度,在完成初步布局之后还会执行掩膜步骤来调整某些像素颜色组合,从而减少干扰因素影响阅读效果。 #### 3. 二维码解析流程 当用户利用手机摄像头或者其他专用硬件捕捉图像后,软件端将经历如下几个阶段来进行分析提取有效负载: - 图像预处理:去除噪声点、增强对比度以便更清晰地区分前景背景界限; - 定位检测:寻找特征图形位置确认整体轮廓边界范围; - 正交变换恢复原状:依据倾斜角度旋转矫正至水平垂直状态便于后续计算; - 解码还原初始消息体:逐层剥离附加冗余保护措施直至获取纯净文本串输出给调用者使用[^5]。 #### 应用实例 除了传统的商业促销活动外,现代科技领域也不断拓展新的用途方向,例如身份认证系统中的电子护照芯片连接验证服务;物流运输追踪管理平台记录货物流转轨迹等等均离不开这项便捷高效的工具辅助作业效率提升显著。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值