这里的例子是安恒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.youkuaiyun.com/download/cosmopolitanme/10869861
本文详细介绍如何使用Hexworkshop修改PNG图像的高度,通过调整文件结构中特定位置的数据,实现图像尺寸的自定义更改。文章深入解析PNG文件的IHDR块,展示如何通过修改高度和宽度字段来调整图像大小。
1710

被折叠的 条评论
为什么被折叠?



