ctf图片隐写之修改图片高度

本文详细介绍如何使用Hexworkshop修改PNG图像的高度,通过调整文件结构中特定位置的数据,实现图像尺寸的自定义更改。文章深入解析PNG文件的IHDR块,展示如何通过修改高度和宽度字段来调整图像大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里的例子是安恒2018年12月赛MISC题目
在这里插入图片描述
这里我们用Hex workshop修改png的高度
先看一下png的文件结构

class Chunk
{
public:
DWORD ChunkLen;//ChunkLen 不算 ChunkLen,Tag,CRC的长度
DWORD Tag;//4byte
DWORD CRC;效验码
};//12个字节+4个字节字符串“IHDR” = 0x10=16

class IHDR : public Chunk
{
public:
DWORD Width;//宽
DWORD Height;//高
BYTE BitDepth;//位深 真彩色图像:8或16
BYTE ColorType;//颜色类型 6:带α通道数据的真彩色图像,8或16
BYTE CompressionMethod;
BYTE FilterMethod;//滤波器方法 固定0
BYTE InterlaceMethod;//隔行扫描方法:0
};
可以发现width,height在偏移0x10的位置上,每个变量占4个字节
在这里插入图片描述那我们把0x16,0x17改成0x12,0x13处的值,就可以长度和宽度相等了。
在这里插入图片描述然后用base32解一下,可能还要在字符串后面加一个=

题目下载:https://download.csdn.net/download/cosmopolitanme/10869861

### 关于BUUCTF Misc 类别中图片的技巧 #### LSB 术的应用 在处理无损图像格式如 BMP 或 PNG 文件时,可以利用最低有效位 (LSB) 进行信息藏[^1]。通过改变这些图像像素值中最不重要的比特位,可以在不影响视觉效果的情况下嵌入秘密消息。 对于 JPEG 格式的图片,则不适合采用此方法因为其压缩特性会破坏所藏匿的数据完整性。 #### 使用Wireshark进行网络流量分析以发现藏内容 当面对可能存在被蔽传输过的多媒体资源时,可以通过抓取并审查通信过程中的数据包来寻找蛛丝马迹。例如,在某些情况下,JPEG 文件会在HTTP请求响应体里以Base64编码的形式存在,并可通过特定字符串 `/9j/` 来识别它们的存在[^2]。一旦确认目标对象为所需类型的媒体文件之后,就可以尝试将其转换回原始格式以便进一步研究。 #### 提取和恢复潜在的藏文件 为了从复杂的二进制流或是其他难以直接读取的地方获取完整的文件副本,foremost 是一款非常实用的选择之一。它能够基于已知文件签名自动扫描输入源并将匹配的结果保存下来供后续操作使用。 ```bash sudo apt-get install foremost foremost -t all -i input_file -o output_directory/ ``` 上述命令展示了如何装以及运行 `foremost` 工具来进行批量提取工作;其中 `-t all` 参数指示程序去查找尽可能多的不同种类的目标文档而不限定具体类型,`input_file` 表示待处理的数据集路径名,最后指定一个用于存放最终成果物的新建目录位置作为参数传递给 `-o` 选项即可完成整个流程设置。 #### 利用图形编辑软件辅助判断 有时候仅靠技术手段还不足以完全揭开谜底,这时就需要借助像 Audacity 这样的声音可视化应用程序帮助观察音频信号特征变化情况从而推测出更多有用情报。不过针对静态影像类素材而言,也可以考虑相似思路——即选用支持层叠样式表(CSS)渲染引擎的专业绘图平台(如 GIMP),通过对可疑区域做细致调整直至显露出原本不可见的信息片段为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值