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

HNCTF部分总结复现

# H&NCTF 2025

misc2.星辉骑士

打开是有一张图片的docx,docx格式直接改zip解压

word-media

发现flag.zip 解压要密码 试着是否为伪加密 嗦一下发现是 直接修复了 解压修复之后的 就可以看到10个txt文本 都打开没有什么实际含义(垃圾邮件),看了wp说这是一种加密方式(按顺序放进网站)spammimic - decode

111.txt : ashjdsahd

222.txt: asdjhuasdvghj

333.txt :sdfsdfsfasfwq

444.txt: asdasdadadadwdf

555.txt: flag{this_is_fake_lg}

666.txt: flag{this_is_fake_flg}

777.txt: flag{this_is_fakeg}

888.txt:flag{this_is_fake_flag}�

999.txt:flag{0231265452-you-kn*w-spanmimic}

misc6芙宁娜的照片

Brainfuck加密Brainfuck/OoK加密解密 - Bugku CTF平台

O&NPTF{Y0u_yepognizeq_the_Couphu's_psog.}

雏形已经出来了

图片梭一把 发现RGB那里有key:H&N2025

有密钥且不改变明文长度的加密方式-试维吉尼亚维吉尼亚加密/解密 - Bugku CTF平台

H&NCTF{Y0u_recognised_the_Chuchu's_plot.}

CRYPTO5哈基coke

题目打开是python代码和一张en_flag.png 说明该图片经过加密

写一个脚本把他还原一下

import cv2
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
​
​
def arnold_decode(encrypted_image, shuffle_times, a, b):""" Arnold逆变换解密图像Args:encrypted_image: 加密后的图像shuffle_times: 加密时的置乱次数a, b: Arnold变换参数Returns:decrypted_image: 解密后的图像"""decrypted_image = np.zeros_like(encrypted_image)h, w = encrypted_image.shape[0], encrypted_image.shape[1]N = h  # 假设图像为正方形
​# 计算逆变换参数# 逆变换公式:#   ori_x = ((a*b+1)*new_x - b*new_y) mod N#   ori_y = (-a*new_x + new_y) mod N
​for time in range(shuffle_times):for new_x in range(h):for new_y in range(w):# 应用逆变换公式ori_x = ((a * b + 1) * new_x - b * new_y) % Nori_y = (-a * new_x + new_y) % N
​# 处理负数情况if ori_x < 0:ori_x += Nif ori_y < 0:ori_y += N
​decrypted_image[ori_x, ori_y, :] = encrypted_image[new_x, new_y, :]
​encrypted_image = np.copy(decrypted_image)
​# 转换为无符号8位整数(OpenCV格式)decrypted_image = decrypted_image.astype(np.uint8)cv2.imwrite('de_flag.png', decrypted_image, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])return decrypted_image
​
​
# 读取加密后的图像
encrypted_img = cv2.imread('en_flag.png')
if encrypted_img is None:print("[!] 无法读取加密图像,请确保en_flag.png存在")
else:# 执行解密(参数与加密时一致)decrypted_img = arnold_decode(encrypted_img, shuffle_times=6, a=9, b=1)
​# 显示结果plt.figure(figsize=(12, 6))plt.subplot(121), plt.imshow(cv2.cvtColor(encrypted_img, cv2.COLOR_BGR2RGB))plt.title('加密图像'), plt.axis('off')plt.subplot(122), plt.imshow(cv2.cvtColor(decrypted_img, cv2.COLOR_BGR2RGB))plt.title('解密图像'), plt.axis('off')plt.tight_layout()plt.show()
​print("[+] 解密完成,结果保存为de_flag.png")
H&NCTF{haji_coke_you_win}

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

相关文章:

  • 力扣刷题——二分查找
  • Android 开发中,Intent 和 Bundle 组件间传递数据的几种方式
  • 基于Node.js的线上教学系统的设计与实现(源码+论文+调试+安装+售后)
  • 如何“下载安转Allure”?
  • #pragma pack的作用
  • 海外广告投放|FB IG 速推帖子有效吗?
  • 2.倒排索引
  • Mitsubishi GX Works3 / GOT3 的惡意工程混淆邏輯注入攻擊
  • Parasoft C++Test软件集成测试(部件测试)_实例讲解
  • C++的学习路径
  • 第一个简单的爬虫
  • 一起了解--CAST函数
  • C++上学抄近路 动态规划算法实现 CCF信息学奥赛C++ 中小学普及组 CSP-J C++算法案例学习
  • Spring Boot 项目中如何划分事务边界,避免长事务?
  • yolo11学习笔记
  • ajax访问阿里云天气接口,获取7天天气
  • C++ 引用
  • get_attribute的使用方法
  • 【小根堆】P9557 [SDCPC 2023] Building Company|普及+
  • Spring Cloud Gateway + OAuth2 + JWT 单点登录(SSO)实现方案
  • Java八股文——MySQL「SQL 基础篇」
  • 随记:sw2urdf插件导出urdf模型在ROS2-rviz2显示
  • 在Vue2项目中引入ElementUI详细步骤
  • Linux系统下安装elasticsearch6.8并配置ik分词
  • 【Java】浅谈ScheduledThreadPoolExecutor
  • Python实战应用-Python实现Web请求与响应
  • 智能合约的浪潮:从区块链到业务自动化的 IT 新引擎
  • 服务器-客户端下kafka的消息处理流程
  • Vue3+PDF.js 实现高性能 PDF 阅读器开发实战
  • C# 动态管理控件和事件,批量查询管理同类控件