Bugku隐写(png图片16进制格式)

题目链接: 隐写

思路:

图片可以正常查看,用工具010Editor打开查看,文件头和文件尾均正常,也没有隐藏信息。观察其他信息:

0123456789ABCDEF
89504E470D0A1A0A0000000D49484452
000001F4000001A40806000000CBD6DF
74

89 50 4E 47 0D 0A 1A 0A:表示文件类型为PNG
00 00 00 0D :IHDR头数据库长度为13
49 48 44 52:文件头数据块标识,即IDCH,固定为ASCII码的IHDR
00 00 01 F4:图片宽度(以像素为单位)
00 00 01 A4:图片高度(以像素为单位)
08:色深
06:颜色类型
00:压缩方法,固定为0
00:压缩方法,固定为0
00:非隔行扫描
CB D6 DF 74:以下内容的CRC32检验码

 49 48 44 52 00 00 01 F4 00 00 01 A4 08 06 00 00 00

经过计算,上面内容CRC32校验码为C758D77D,与实际的校验码CBD6DF74不相等。猜测是图片的宽高被修改,导致部分内容被隐写。将图片的高度修改为与高度一样,计算得到的CRC32校验码与实际校验码相等,保存图片即可看到隐写的flag。

更完整的做法应该是利用CRC校验码对图片的宽高进行爆破,直到获得正确的宽高,但是我不会哈哈哈。

参考:

PNG文件16进制详解
隐写技巧 | 利用PNG文件格式隐藏Payload
PNG编解码算法详解

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

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

相关文章

AF自动登录应用--实现无源码系统单点登录

在企业信息化的进程中,许多组织拥有一系列的老应用系统,这些系统在多年的运行中积累了大量的业务数据和流程。然而,这些老应用系统往往没有设计或实现单点登录(SSO)功能,用户需要在不同系统之间频繁输入账号…

C语言--每日选择题--Day35

第一题 1. 有如下定义:(x y) % 2 (int) a / (int) b 的值是() int x 3; int y 2;float a 2.5; float b 3.5; A:0 B:2 C:1.5 D:1 答案及解析 D 本题是考查强制类型转换和操作符优先级 操作…

Figma安装指南:新手入门必看!

如果您想下载Figma客户端,可以直接在Figma官网Products>Downloads页面下载。 如果你不能访问Figma的官方网站,即使下载到客户端,你的网络环境也不能正常使用。 因为Figma的服务器在国外,在国内访问时经常会遇到网络不稳定的情…

py 如何在直播间插入动态图片

在直播间插入动态图片可以通过以下步骤完成: 确定图片的位置:首先,你需要确定你的图片文件在哪里。可以是本地的图片文件,也可以是网络上的图片链接。导入必要的库:在你的直播代码中,需要导入一些库来处理…

SAP 生产订单状态控制

对于生产订单状态,我们经常会对状态进行控制,比如说已领料报工的生产订单就不允许做重读主数据 或者是部分入库不允许做TECO等等 可以通过一个标准的事物代码进行对生产订单状态的一个控制 Tcode:BS22 选择你需要你控制的订单的状态编号双击…

西南科技大学模拟电子技术实验六(BJT电压串联负反馈放大电路)预习报告

一、计算/设计过程 BJT电压串联负反馈放大电路图1-1-1-1为BJT电压串联负反馈放大实验电路,若需稳定输出电压,减小从信号源所取电流,可引入电压串联负反馈闭合开关。 图1-1-1-1 理论算法公式(1)闭环电压放大倍数 (2)反馈系数 (3)输入电阻 (4)输出电阻 计算过程。开环…

51综合程序03-DS1302时钟

文章目录 DS1302时钟芯片一、DS1302时钟芯片的工作原理1. 芯片特点2. 引脚说明3. 寄存器地址4. 读数据的时序图5. 写数据的时序图 二、综合实例LCD1602显示 DS1302时钟芯片 一、DS1302时钟芯片的工作原理 1. 芯片特点 实时计算年、月、日、时、分、秒、星期,直到2…

FacetWP Hierarchy Select网站内容层次结构选择插件

点击阅读FacetWP Hierarchy Select网站内容层次结构选择插件原文 FacetWP Hierarchy Select网站内容层次结构选择插件可让您基于分层分类法创建引导下拉菜单。 FacetWP Hierarchy Select网站内容层次结构选择插件功能 通过引导式下拉菜单过滤结果,一次一个深度级…

【从零开始学习Redis | 第六篇】爆改Setnx实现分布式锁

前言: 在Java后端业务中, 如果我们开启了均衡负载模式,也就是多台服务器处理前端的请求,就会产生一个问题:多台服务器就会有多个JVM,多个JVM就会导致服务器集群下的并发问题。我们在这里提出的解决思路是把…

卷积神经网络(CNN):艺术作品识别

文章目录 一、前言一、设置GPU二、导入数据1. 导入数据2. 检查数据3. 配置数据集4. 数据可视化 三、构建模型四、编译五、训练模型六、评估模型1. Accuracy与Loss图2. 混淆矩阵3. 各项指标评估 一、前言 我的环境: 语言环境:Python3.6.5编译器&#xf…

HarmonyOS开发员,月薪过万不是梦

最近爆出消息,安卓与鸿蒙将不再兼容!这意味着华为已经搭建了完整的鸿蒙生态,不再需要依赖于安卓生态。据统计,鸿蒙生态设备已经达到了7亿台,开发者人数也达到了220万人 此外,华为对鸿蒙系统的性能和体验有…

服务器感染了.halo勒索病毒,如何确保数据文件完整恢复?

尊敬的读者: 随着数字化的快速发展,网络安全威胁也愈演愈烈。其中,.halo勒索病毒是一种带有恶意目的的恶意软件,对用户的数据构成巨大威胁。本文将深入介绍.halo勒索病毒的特征,探讨如何有效恢复被其加密的数据&#…

spring boot配置文件格式 ${}和@@

${}和都是springboot引用属性变量的方式&#xff0c;具体区别与用法&#xff1a; 1、${}常用于pom.xml&#xff0c;和 src/main/resources/application.properties等默认配置文件的属性变量引用。 语法为&#xff1a;field_name${field_value} pom.xml示例&#xff1a; <…

Kotlin学习之04

集合的变换操作 filter&#xff1a;保留满足条件的元素 map&#xff1a;集合中所有元素映射到其他元素构成新集合&#xff08;就是转换每个元素&#xff0c;然后再组成一个新的结果&#xff09; flatMap&#xff1a;集合中所有元素映射到新集合并合并这些集合得到新集合&…

语音识别从入门到精通——1-基本原理解释

文章目录 语音识别算法1. 语音识别简介1.1 **语音识别**1.1.1 自动语音识别1.1.2 应用 1.2 语音识别流程1.2.1 预处理1.2.2 语音检测和断句1.2.3 音频场景分析1.2.4 识别引擎(**语音识别的模型**)1. 传统语音识别模型2. 端到端的语音识别模型基于Transformer的ASR模型基于CNN的…

unity学习笔记18

模型文件属性简介 1.动画类型&#xff1a;一共有四种&#xff1a;无 表示没有动画&#xff0c;旧版 就表示这个模型文件里面的动画片段可以用animation组件来播放的&#xff0c;最后两个 ”泛型“和“人形”都是animator组件来播放的。区别是泛型支持所有类型的动画播放&#x…

【开题报告】基于SpringBoot的献爱心公益平台的设计与实现

1.研究背景 随着社会的进步和发展&#xff0c;公益事业在社会中扮演着越来越重要的角色。公益活动能够帮助弱势群体解决问题&#xff0c;改善社会环境&#xff0c;推动社会进步。然而&#xff0c;传统的公益活动组织和管理方式存在一些问题&#xff0c;如信息不透明、资源分散…

CPP-SCNUOJ-Problem P29. [算法课指针] 颜色分类,小白偏题超简单方法

Problem P29. [算法课指针] 颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 输入 …

浅析Hotspot的经典7种垃圾收集器原理特点与组合搭配

# 浅析Hotspot的经典7种垃圾收集器原理特点与组合搭配 HotSpot共有7种垃圾收集器&#xff0c;3个新生代垃圾收集器&#xff0c;3个老年代垃圾收集器&#xff0c;以及G1&#xff0c;一共构成7种可供选择的垃圾收集器组合。 新生代与老年代垃圾收集器之间形成6种组合&#xff0c…

Java读取邮件并生成邮件文件eml

1.JavaMail的关键对象 Properties&#xff1a;属性对象 Properties props new Properties(); props.put("mail.smtp.host", "smtp.sina.com.cn"); props.put("mail.smtp.auth", "true");针对不同的的邮件协议&#xff0c;JavaMail规…