杂项总结
misc之图片总结
一、基础知识
1.各类型文件的文件头
PNG | 头 | 尾 |
---|---|---|
(png) | 89 50 4E 47 | AE 42 60 82 |
JPEG | 头 | 尾 |
---|---|---|
(jpg) | FF D8 FF E1 | FF D9 |
GIF | 头 | 尾 |
---|---|---|
(gif) | 47 49 46 38 | 00 3B |
ZIP | 头 | 尾 |
---|---|---|
(zip) | 504B0304 | 50 4B |
TIFF (tif),文件头:49 49 2A 00
Windows Bitmap (bmp),文件头:42 4D C0 01
CAD (dwg),文件头:41 43 31 30
Adobe Photoshop (psd),文件头:38 42 50 53
Rich Text Format (rtf),文件头:7B 5C 72 74 66
XML (xml),文件头:3C 3F 78 6D 6C
HTML (html),文件头:68 74 6D 6C 3E
Email [thorough only] (eml),文件头:44 65 6C 69 76 65 72 79 2D 64 61 74 65 3A
Outlook Express (dbx),文件头:CF AD 12 FE C5 FD 74 6F
Outlook (pst),文件头:21 42 44 4E
**旧版office **MS Word/Excel (xls.or.doc or.ppt),文件头:D0 CF 11 E0
MS Access (mdb),文件头:53 74 61 6E 64 61 72 64 20 4A
WordPerfect (wpd),文件头:FF 57 50 43
Adobe Acrobat (pdf),文件头:25 50 44 46 2D 31 2E
Quicken (qdf),文件头:AC 9E BD 8F
RAR Archive (rar),文件头:52 61 72 21
Wave (wav),文件头:57 41 56 45
2.各类型文件的结尾
zip文件的结尾以一串50 4B 05 06开始。
rar文件以C4 3D 7B 00 40 07 00结尾。
JPG文件结尾为FF D9。
PNG文件 结尾为00 00 49 45 4E 44 AE 42 60 82。
Gif文件结尾为3B。
3.关于png图片文件格式介绍
解析:
(固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
(固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
(固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
(可变)13位数据块(IHDR)
前四个字节代表该图片的宽 00 00 03 84
后四个字节代表该图片的高 00 00 00 96
后五个字节依次为:
Bit depth 08、ColorType 06、Compression method 00、Filter method 00、Interlace method 00
(可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到。86 B8 46 36
注:一般的高度修改的图片不会修改IHDR的CRC校验码,在windows下,不会检查CRC校验码,图片能正常显示,但在Linux下,图片查看器会检查图片的CRC校验码,所以可以将图片拖入到Linux中去查看校验。
然后就是PNG数据块。
最后文件尾:AE 42 60 82 图中未展示
4.图片RGBA颜色通道介绍(LSB隐写)
RGB是红绿蓝,但他们的值代表的实际上是亮度。R的数字越大,则代表红色亮度越高;R的数字越小,则代表红色亮度越低。G,B同理。
R的亮度各有256个级别,GB同理。即从0到255,合计为256个。从数字0到255的逐渐增高,我们人眼观察到的就是亮度越来越大,红色、绿色或蓝色越来越亮。
Alpha就是透明度,该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域。alpha的值为0就是全透明,alpha 的值为255 则表示不透明。
4.像素与RGB的理解
每个像素用R,G,B三个分量表示,那么一张图片就像一个矩阵,矩阵的每个单位就是(0255,0255,0~255)。
二、思路
1.第一步根据文件头判断文件格式(16进制阅读器打开图片查看即可,可利用010editor或者vs code插件)
2.有时候直接将信息以字符串的形式藏在图片里面(上面的方法或者利用命令strings)
3.将信息藏在图片文件信息中,利用工具exiftool查看,也可使用在线网站查看。
4.图种:一种采用特殊方式将图片文件(如jpg格式)与rar文件结合起来的文件。该文件一般保存为jpg格式,可以正常显示图片(利用binwalk工具分离或foremost或手动)
5.通过修改宽高来对部分信息进行隐藏。可通过爆破未被修改的CRC校验码得到原始宽高(PNG)。如果是图片显示不全,通过修改宽高来查看图片。
6.基于LSB原理的图片隐写,利用工具stegsolve或者zsteg工具。
7.有时候可以试着从上往下删除idat块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?