PCTF赛后补题

news/2026/1/18 17:32:00/文章来源:https://www.cnblogs.com/zhangyuzhe/p/19498805

冈易云音乐

手玩软件,点开第一首歌,拖动进度条过半会出现登录页面弹窗,已经自动填好用户名 ”jjkk114514“。

image-20260118114505940

结合题目提示,这里的 ”激活码“ 就是 flag。

进入IDA分析,进字符串页面,尝试寻找与 ”用户名“ 或 ”密码“ 有关字符串。

image-20260118114736310

进入 username 所在函数,发现这里是读取 用户名,注册码并进行加密的外层函数。

image-20260118115800899

跟进 sub_426E80

v49[0] = QString::fromAscii_helper("^[a-f0-9]{32}$", 0xE, code);

得知注册码的格式为:32位16进制小写字符串。

image-20260118120813606

image-20260118121034647

由上面几个黑框可以发现,对用户名和注册码加密的核心逻辑是:

  1. 对 username 进行 md5 加密,并将 username 和 加密后的密文 拼接;
  2. 对拼接串进行 SHA256 加密;
  3. 拼接串前16字节记作 x,后16字节记作 y;
  4. 在 sub_401C30(AES的ECB加密,x为密钥,注册码为明文) 中加密;
  5. 将加密结果与 y 比较。

研究发现 sub_401C30 就是 AES 的 ECB 加密(s盒完全一致)。各项参数为:

拼接串为密钥,注册码为明文,v49存的是密文

所以写出如下脚本:

import hashlib
from Crypto.Cipher import AES# 1. 获取username原始字节
username_bytes = b'jjkk114514'# 2. 对username_bytes进行MD5,得到原始字节
md5_bytes = hashlib.md5(username_bytes).digest()# 3. 拼接username_bytes和md5_bytes
combined = username_bytes + md5_bytes# 4. 对拼接结果进行SHA256,得到原始字节
sha256_bytes = hashlib.sha256(combined).digest()# 5. 取前16字节为x,后16字节为y
x = sha256_bytes[:16]  # 16字节密钥
y = sha256_bytes[16:]  # 16字节目标密文# 6. AES-ECB解密,x为密钥,y为密文,得到注册码明文
cipher = AES.new(x, AES.MODE_ECB)
reg_bytes = cipher.decrypt(y)# 7. 转换为32位小写十六进制并输出
reg_code = reg_bytes.hex()
print(reg_code)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1178876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

助力金融信创与云原生转型,DeepFlow 排障智能体和可观测性建设实践 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

高价回收!北京本地上门收茅台五粮液,京城亚南酒业当场结算 - 品牌排行榜单

“家里有两瓶2020年的飞天茅台,想出手能卖多少钱?”“有没有北京本地能上门回收五粮液的靠谱商家?”最近很多北京网友都在问这类问题,今天就给大家推荐一家靠谱的——京城亚南酒业,北京本地上门回收茅台、五粮液,…

三种经典的智能体设计模型

1. ReAct (Reason + Act) 核心思想: ReAct将“推理(Reasoning)”与“行动(Acting)”紧密结合,形成一个“思考-行动-观察”的循环。这个范式通过不断地进行推理和实际操作,智能体能在每个步骤后更新自己的推理,…

年底变现高峰!北京上门回收茅台五粮液,京城亚南高价不压价 - 品牌排行榜单

年底到了,很多北京市民开始清理家里的闲置物品,其中就包括不少茅台、五粮液等名酒。年底也是老酒回收的高峰期,很多商家会趁机压价,让市民蒙受损失。在这里提醒大家,年底变现选对商家很重要,京城亚南酒业北京上门…

全栈开发者用 XinServer 实现快速接口开发

全栈开发者用 XinServer 实现快速接口开发 最近跟几个做前端的朋友聊天,发现一个挺普遍的现象:大家做项目,最头疼的往往不是前端页面有多复杂,而是后端那摊子事。一提到要自己搭服务器、设计数据库、写接口、搞权限、处理运维………

软件负责人的项目管理经验

文章目录前言一、项目全周期流程管理1.1 项目启动阶段:夯实基础1.2 项目规划阶段:谋定后动1.3 项目执行与监控阶段:动态调整1.4 项目收尾阶段:闭环与升华二、多维度项目管控三、团队领导与人员管理3.1 团队构建与氛围营造3.2 人员…

北京上门回收老酒!茅台五粮液高价变现,亚南酒业全程省心 - 品牌排行榜单

北京的朋友们注意了!家里有闲置的茅台、五粮液,或是压箱底的陈年老酒、洋酒,想变现又怕麻烦?别发愁,京城亚南酒业北京全域上门回收,让你足不出户就能轻松卖高价! 很多北京市民手里都有不少闲置名酒,要么是商务…

新中式高定服装哪家好?2026年热门品牌逐一揭秘,苏州排行前列的新中式高定服装设计色麦新中式显著提升服务 - 品牌推荐师

近年来,新中式高定服装市场热度持续攀升。从国际时装周到本土文化消费,融合东方美学与现代设计的服饰正成为高净值人群与时尚从业者的核心选择。据第三方机构统计,2025年中国新中式服装市场规模已突破300亿元,年复…

【工业树莓派 CM0 NANO 单板计算机】YOLO26 部署方案

【工业树莓派 CM0 NANO 单板计算机】YOLO26 部署方案 本文介绍了工业树莓派 CM0 NANO 单板计算机结合 OpenCV 和 Ultralytics 库实现 YOLO26 板端部署,并实现目标识别、姿态估计、图像分割、图像分类、旋转框检测的项目设计,包括环境部署、模型获取、关…

停止幻想!Java就业只会越来越难!

最近小伙伴在我后台留言是这样的:现在就这光景,不比以前,会个CRUD就有人要,即使大部分公司依然只需要做CRUD的事情......现在去面试,只会CRUD还要被吐槽:面试造火箭,工作拧螺丝,就是…

Product Hunt 每日热榜 | 2026-01-18

1. Sled 标语:在手机上通过语音启动你的编程助手。 介绍:Sled 让你可以通过手机的语音来运行你的编码助手。通常情况下,编码助手需要频繁的输入,但当你离开桌子时,它们就会闲置。Sled 通过提供一个安全的语音界面来解…

Zephyr 消息队列 接口与内部实现详解

第一章 设计背景与使用场景概述1.1 Zephyr 中的 IPC 设计哲学Zephyr 作为面向嵌入式与多核 SoC 的 RTOS,其内核对象(Kernel Object)在设计上强调:确定性(Determinism):操作复杂度可控&#xff0…

驱动数字贸易新增长:WEEX 宣布启动生态权益回馈计划第三期

【行业观察】 随着数字资产行业的深度发展,如何通过技术手段优化贸易成本、提升用户粘性成为平台竞争的核心。近日,WEEX 平台宣布正式启幕“数字贸易激励计划”第三期。继前两期圆满收官后,全新一期计划于 1 月 16 日正式启动,为期…

springboot博物馆管理系统设计开发实现

背景分析 博物馆作为文化遗产保护和展示的重要场所,传统管理模式面临数据分散、效率低下、游客体验不足等问题。数字化需求日益增长,需通过信息化手段提升管理效率和服务质量。 技术选型依据 Spring Boot框架因其快速开发、微服务支持和生态丰富性&am…

springboot的保护濒危动物公益网站系统设计实现

技术栈选择后端框架 采用Spring Boot作为核心框架,提供快速开发、自动配置和依赖管理。结合Spring Security实现用户认证与授权,确保系统安全性。数据库 使用MySQL或PostgreSQL存储用户信息、动物数据及公益活动记录。通过JPA或MyBatis实现数据持久化&am…

Python+django的大学生在线缴费系统设计与实现excel数据导入

目录摘要关键词开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 针对高校财务管理中传统缴费方式效率低、数据易出错等问题,设计并实现了一套基于PythonDjango的大学生在线缴…

解析Cardano十一月黑客攻击事件的技术细节

Cardano的十一月黑客攻击事件解析 在十一月发生的一起针对Cardano区块链的黑客攻击中,其联合创始人Charles Hoskinson详细解释了事件经过。此次攻击被称为“毒交易”攻击,它成功地使Cardano区块链分裂成了两条链。 Hoskinson描述了攻击的核心机制以及它如…

Python+django的大学生就业求职招聘信息管理系统u771k设计与实现四个角色

目录系统设计概述学生角色功能企业角色功能高校角色功能管理员角色功能技术创新点应用价值开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统设计概述 PythonDjango框架构建的大学生就业求…

springboot的城市化自修室管理系统设计开发实现

城市化自修室管理系统的背景城市化进程加速导致人口向城市集中,公共资源如自修室的需求激增。传统自修室管理依赖人工登记和现场排队,效率低下且难以应对高峰时段的流量压力。学生、备考群体和职场人士对灵活学习空间的需求与有限资源之间的矛盾日益突出…