杂项总结

杂项总结

杂项

例题

萌新题1

1715076716049-7e2771f9-ca09-40ea-8603-0d6a138ae21b.png大写字母就是flag,写个简单脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
#include<string.h>
int main()
{
char s[1000]={'\0'};
gets(s);
int len=strlen(s);
for(int i=0;i<len;i++)
{
if(s[i]>='A' && s[i]<='Z')
printf("%c",s[i]);
}
return 0;
}

1715076761369-298a4100-0f01-4b1d-ab66-e1d8851961f4.png

ZIP伪加密解析

1、zip组成

一个 ZIP 文件由三个部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志。

一个zip文件由这样三个部分组成_zip 文件结构_一只独孤的程序猿的博客-CSDN博客

2、实例

1715080319355-6dcd924b-4078-4eb9-a5e9-76d4f3a22d16.png

压缩源文件数据区:
50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密) 头文件标记后2bytes
压缩源文件目录区:

50 4B 01 02:目录中文件文件头标记(0x02014b50)

3F 00:压缩使用的 pkware 版本

14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,伪加密的关键) 目录文件标记后4bytes
压缩源文件目录结束标志:
50 4B 05 06:目录结束标记

3、全局方式位标记

全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性!
第二个数字为奇数时 –>加密
第二个数字为偶数时 –>未加密

4、辨别zip是真加密还是伪加密

1)无加密

压缩源文件数据区的全局加密应当为00 00 (504B0304两个bytes之后)
且压缩源文件目录区的全局方式位标记应当为00 00(504B0304四个bytes之后)

1715080319328-03d43b8d-5052-4baa-b2eb-195421aaf04c.png

2)伪加密

压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为09 00

1715080319328-1e9272a7-c29d-4a5e-86d9-5b74ceb71adb.png

3)真加密

压缩源文件数据区的全局加密应当为09 00
且压缩源文件目录区的全局方式位标记应当为09 00 !

1715080319344-27b995e7-2657-4e8e-ac7a-8678c9e3f0fb.png

例题

把压缩包拖到winhex里打利用WinHex搜索,快速定位到目录区头文件标记处开,50 4B 03 04,这是压缩源文件数据区头文件标记,50 4B 01 02,这是压缩源文件目录区头文件标记,以50为第一处,找到第9、10处数值位置,第9处数值如果是奇数就代表有密码,偶数代表无密码

1715080159737-bf7beda1-57f9-4d7b-b94e-369cd0bab969.png

第九位是偶数属于伪加密

1715080259574-f206e589-159a-4f39-b5d5-eab6ba7198f2.png

把09 00 改成00 00保存后就能打开了

010、winhex修改图片格式

从第二行开始,前四位是宽,后四位是高。

1715080729487-4959214d-7808-42fe-81ca-89fa501f1255.png

例题1 修改高度

1715081138945-05411f70-0c96-439a-942a-b85b886b4c58.png

把后面的的01改成02就可以增加高度,改成00就减小高度

不知道为什么前面的宽度改不了,改了会变成乱码(将01改成02)

1715081597458-73401b1b-a0a0-4296-ad59-46dee88c64ae.png

例题2 修改宽度

将03改成02,下调一个度,就可以看到flag啦

1715081659947-32ed728f-cd1c-4852-a3d3-040d983e483f.png

JPHS的使用

准备阶段:

有windows和Linux版本的,windows版有可视化界面

windows可视化界面的下载地址:

Download for Free JPHS for Windows 0.5 (scanwith.com)

GitHub下载地址:

h3xx/jphs: jphide & seek steganography tools (github.com)

使用对象:

从名字不难看出使用对象是JPEG文件(就是常见的.jpg文件)

简介:JPEG是联合图象专家组(Joint Picture Expert Group)的英文缩写,是国际标准化组织(ISO)和CCITT联合制定的静态图象的压缩编码标准,比相同图象质量的其它文件格式(静态图象)相比压缩比最高的(高压缩比)

JPHS介绍:

对有损压缩JPEG文件进行信息的加密隐藏、探测提取的工具

JPHS包含2个功能(靠2个程序实现):

JPHIDE:能够将信息文件加密隐藏到JPEG图像

JPSEEK:从用JPHIDE程序加密隐藏得到的JPEG图像中探测并提取到信息文件

隐藏文件:

第一步:准备文件

(test.jpg文件)+(test.txt文本)

1715082527848-11d91933-aacc-4aa3-96ec-5074f16bf28d.png

第二步:(windows版本) 打开软件,点击“Open jpeg”

使用图形化操作界面的Jphs(Windows版本)——->点击“Open jpeg”打开JPEG格式图片

(我这里打开的test.jpg)

1715082538254-603d3adb-0722-4f01-a14c-2683ee60669c.png

打开之后有按钮就不是灰色的了

并且还会显示JPEG文件的相关信息

(注:如果打开的不是JPEG文件会自动退出)

1715082552004-07a3c180-683a-4faa-bb84-290164ee0797.png

第三步:点击“Hide”,并输入密码

点击“Hide”后输入2次相同的密码,并点击ok

1715082564963-de35d817-833c-4db5-a0b5-4a70530a261e.png

然后选择要隐藏进去的文件

1715082579844-11749991-5770-4311-90ae-3775379d3fe9.png

选择之后会在第二个Hidden中显示相关信息

1715082588509-45d8fd03-66d1-4777-ac9b-c87c2b6ceed1.png

第三步:将他们合并,并另存为

点击“Save jpeg as”将图片另存为jpeg格式然后输入自己想输入的名字.jpg

1715082607181-8db66ec8-3f7b-42b2-aa51-b46859510838.png

1715082633923-c9fa024e-d24b-4dbd-b3fb-e0e541719852.png

the file you hid in this jpeg has caused statistically significant change and may be detectable

您在此JPEG中隐藏的文件导致统计上显着的变化,可能是可检测的

提取隐藏文件:

(注:对图片的隐写方式和密码都一无所知的时候,使用Stegdetect进行探测和破解)

我们这里知道,就可以直接提取吧1715082644847-6542cc8d-ed0a-4663-b2c8-59ea29496671.png

显示出信息就是打开成功了

1715082652439-5f0fecf2-3eec-4240-806e-ae1e54f70b12.png

点击seek,再输入密码进行提取

1715082685375-989806db-8a59-4ab6-9d67-867dcda5283a.png

1715082692133-5a26e5ac-afe8-4814-bb34-cc62ab67c9f1.png

已经提取到了(和隐藏进去的进行对比,是一样的)

1715082707161-b0d1b22a-6e8e-4e05-9ce1-87f5f332f5eb.png

1715082714951-c4ba2def-dea0-4768-9bf1-65a6ac81044e.png

例题

获得一个jpg文件,打开然后保存为txt文件,再存为png文件

1715083184886-15f6ff7e-feec-4719-b9de-7015742403f3.png

1715083222397-7684b0f2-64c4-4305-8181-03fbf4363b53.png

然后请看二维码解密部分

PNG文件格式详解

概述

PNG是20世纪90年代中期开始开发的图像文件存储格式,其目的是替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(Portable Network Graphic Format,PNG)名称来源于非官方的“PNG’s Not GIF”,是一种位图文件(bitmap file)存储格式,读成“ping”。PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。(说白了这就是一种方便的、适于网络传播的轻便图片文件格式)

特性

  1. 使用调色板技术可支持256种颜色的彩色图像。(必须的)
  2. 流式读/写性(streamability):图像文件格式允许连续读出和写入图像数据。(因此适于网络传播)
  3. 逐次逼近显示(progressive display):这种特性可使在通信链路上传输图像文件的同时就在终端上显示图像,把整个轮廓显示出来之后逐步显示图像的细节,也就是先用低分辨率显示图像,然后逐步提高它的分辨率。(类似马赛克逐渐消除的过程)
  4. 透明性(transparency):这个性能可使图像中某些部分不显示出来,用来创建一些有特色的图像。
  5. 辅助信息(ancillary information):这个特性可用来在图像文件中存储一些文本注释信息。(就是可以说一些废话)
  6. 独立于计算机软硬件环境。
  7. 使用无损压缩。(无损!)
  8. 可在一个文件中存储多幅图像。

文件结构

PNG图像格式文件由文件署名和数据块(chunk)组成。

文件署名域

8字节的PNG文件署名域用来识别该文件是不是PNG文件。该域的值是:

十进制数 十六进制数
137 89
80 50
78 4e
71 47
13 0d
10 0a
26 1a
10 0a

这个文件署名就是在《利用文件头标志判断文件类型》中提到的文件头标志了,很简单。

数据块

这里有两种类型的数据块,一种是称为关键数据块(critical chunk),就是必须要有的块;另一种叫做辅助数据块(ancillary chunks)。

每个数据块都由下表所示的的4个域组成。

名称 字节数 说明
Length(长度) 4字节 指定数据块中数据域的长度,其长度不超过(231−1)(231−1)字节
Chunk Type Code(数据块类型码) 4字节 数据块类型码由ASCII字母(A-Z和a-z)组成
Chunk Data(数据块实际内容 可变长度 存储按照Chunk Type Code指定的数据
CRC(循环冗余检测 4字节 存储用来检测是否有错误的循环冗余码

其中CRC(cyclic redundancy check)域中的值是对Chunk Type Code域和Chunk Data域中的数据进行计算得到的,可以看做一种校验码。

关键数据块

关键数据块中的4个标准数据块是:

(1) 文件头数据块IHDR(header chunk):

它包含有PNG文件中存储的图像数据的基本信息,并要作为第一个数据块出现在PNG数据流中,而且一个PNG数据流中只能有一个文件头数据块。

文件头数据块由13字节,组成结构如下:

域的名称 字节数 说明
Width 4 bytes 图像宽度,以像素为单位
Height 4 bytes 图像高度,以像素为单位
Bit depth 1 byte 图像深度:索引彩色图像:1,2,4或8 ;灰度图像:1,2,4,8或16 ;真彩色图像:8或16
ColorType 1 byte 颜色类型:0:灰度图像, 1,2,4,8或16;2:真彩色图像,8或16;3:索引彩色图像,1,2,4或84:带α通道数据的灰度图像,8或16;6:带α通道数据的真彩色图像,8或16
Compression method 1 byte 压缩方法(LZ77派生算法)
Filter method 1 byte 滤波器方法
Interlace method 1 byte 隔行扫描方法:0:非隔行扫描;1: Adam7(由Adam M. Costello开发的7遍隔行扫描方法)

(2) 调色板数据块PLTE(palette chunk):

它包含有与索引彩色图像((indexed-color image))相关的彩色变换数据,它仅与索引彩色图像有关,而且要放在图像数据块(image data chunk)之前。真彩色的PNG数据流也可以有调色板数据块,目的是便于非真彩色显示程序用它来量化图像数据,从而显示该图像。结构如下:

|颜色|字节|意义|
|Red|1 byte||0 = 黑色, 255 = 红|
|Green|1 byte||0 = 黑色, 255 = 绿色|
|Blue|1 byte||0 = 黑色, 255 = 蓝色|

PLTE数据块是定义图像的调色板信息,PLTE可以包含1~256个调色板信息,每一个调色板信息由3个字节组成,因此调色板数据块所包含的最大字节数为768,调色板的长度应该是3的倍数,否则,这将是一个非法的调色板。

对于索引图像,调色板信息是必须的,调色板的颜色索引从0开始编号,然后是1、2……,调色板的颜色数不能超过色深中规定的颜色数(如图像色深为4的时候,调色板中的颜色数不可以超过2^4=16),否则,这将导致PNG图像不合法。

(3) 图像数据块IDAT(image data chunk):

它存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。

IDAT存放着图像真正的数据信息,因此,如果能够了解IDAT的结构,我们就可以很方便的生成PNG图像。

(4) 图像结束数据IEND(image trailer chunk):

它用来标记PNG文件或者数据流已经结束,并且必须要放在文件的尾部。

如果我们仔细观察PNG文件,我们会发现,文件的结尾12个字符看起来总应该是这样的:

00 00 00 00 49 45 4E 44 AE 42 60 82

不难明白,由于数据块结构的定义,IEND数据块的长度总是0(00 00 00 00,除非人为加入信息),数据标识总是IEND(49 45 4E 44),因此,CRC码也总是AE 42 60 82。

最后,除了表示数据块开始的IHDR必须放在最前面, 表示PNG文件结束的IEND数据块放在最后面之外,其他数据块的存放顺序没有限制。

辅助数据块

(比较杂,不需要全部了解透)

PNG文件格式规范制定的10个辅助数据块是:

  1. 背景颜色数据块bKGD(background color)。
  2. 基色和白色度数据块cHRM(primary chromaticities and white point)。所谓白色度是指当R=G=B=最大值时在显示器上产生的白色度。
  3. 图像γ数据块gAMA(image gamma)。
  4. 图像直方图数据块hIST(image histogram)。
  5. 物理像素尺寸数据块pHYs(physical pixel dimensions)。
  6. 样本有效位数据块sBIT(significant bits)。
  7. 文本信息数据块tEXt(textual data)。
  8. 图像最后修改时间数据块tIME (image last-modification time)。
  9. 图像透明数据块tRNS (transparency)。
  10. 压缩文本数据块zTXt (compressed textual data)。

数据块摘要

关键数据块、辅助数据块和专用公共数据块(special-purpose public chunks)综合下表中:

数据块符号 数据块名称 多数据块 可选否 位置限制
IHDR 文件头数据块 否 否 第一块
cHRM 基色和白色点数据块 否 是 在PLTE和IDAT之前
gAMA 图像γ数据块 否 是 在PLTE和IDAT之前
sBIT 样本有效位数据块 否 是 在PLTE和IDAT之前
PLTE 调色板数据块 否 是 在IDAT之前
bKGD 背景颜色数据块 否 是 在PLTE之后IDAT之前
hIST 图像直方图数据块 否 是 在PLTE之后IDAT之前
tRNS 图像透明数据块 否 是 在PLTE之后IDAT之前
oFFs (专用公共数据块) 否 是 在IDAT之前
pHYs 物理像素尺寸数据块 否 是 在IDAT之前
sCAL (专用公共数据块) 否 是 在IDAT之前
IDAT 图像数据块 是 否 与其他IDAT连续
tIME 图像最后修改时间数据块 否 是 无限制
tEXt 文本信息数据块 是 是 无限制
zTXt 压缩文本数据块 是 是 无限制
fRAc (专用公共数据块) 是 是 无限制
gIFg (专用公共数据块) 是 是 无限制
gIFt (专用公共数据块) 是 是 无限制
gIFx (专用公共数据块) 是 是 无限制
IEND 图像结束数据 否 否 最后一个数据块

tEXt和zTXt数据块中的标准关键字:

关键字 说明
Title 图像名称或者标题
Author 图像作者名
Description 图像说明
Copyright 版权声明
CreationTime 原图创作时间
Software 创作图像使用的软件
Disclaimer 弃权
Warning 图像内容警告
Source 创作图像使用的设备
Comment 各种注释

一个例子

为了便于研究,我在本地找了个24x24像素的图片:

用十六进制打开后是这样的:

| plain 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | plain 0000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452 .PNG........IHDR 0000010: 0000 0018 0000 0018 0806 0000 00e0 773d ..............w= 0000020: f800 0000 1974 4558 7453 6f66 7477 6172 .....tEXtSoftwar 0000030: 6500 4164 6f62 6520 496d 6167 6552 6561 e.Adobe ImageRea 0000040: 6479 71c9 653c 0000 0344 4944 4154 78da dyq.e<...DIDATx. 0000050: b454 4b48 5b51 10bd 792f 2646 a346 7411 .TKH[Q..y/&F.Ft. 0000060: 450b cac3 6840 8c14 0242 8542 e9aa ab42 E...h@...B.B...B 0000070: 5785 8614 c428 b4d0 5569 b108 5dbb 29b4 W....(..Ui..].). 0000080: 1b05 a5ab 6cb3 2a14 0ab5 8b42 75a3 d188 ....l.*....Bu... 0000090: 82c6 0ff1 4320 a2e2 2f7e 12ed 9c47 e671 ....C ../~...G.q 00000a0: 8d2f 8950 3a30 dcc7 bb33 67e6 cee7 5826 ./.P:0...3g...X& 00000b0: 2626 8499 288a a2ab d56a d555 55d5 57d7 &&..(....j.UU.W. 00000c0: d7d7 be6c 36fb fef2 f232 45a7 b8ba ba12 ...l6....2E..... 00000d0: c160 5014 13ab d94f 8bc5 72e3 24e0 1e9f .`P....O..r.$... 00000e0: cff7 b9ae ae4e 4c4e 4eda 3299 4c00 777c .....NLNN.2.L.w| 00000f0: 5f4c 1472 16f9 9a07 2e6a 6b6b 875a 5b5b _L.r.....jkk.Z[[ 0000100: 454d 4d8d e8ea ea7a 4eff 3ce2 8ea2 3018 EMM....zN.<...0. 0000110: 94cb c28a 7f04 765f d3b4 27ec d0d8 d8a8 ......v_..'..... 0000120: 5655 55bd 639b 9201 a8b6 a8af 516b 9bcd VUU.c.......Qk.. 0000130: 26ca caca f46f 0020 7bb7 db6d 38d8 ed76 &....o. {..m8..v 0000140: d1d1 d1f1 82ee 34d8 940c 0023 00c2 11e0 ......4....#.... 0000150: 1c20 975d 2781 3d75 381c 379c 9a9b 9b55 . .]'.=u8.7....U 0000160: 2ad7 1012 bb73 0028 c073 1373 8f02 3c68 *....s.(.s.s..<h 0000170: 6b6b fb44 25b9 e554 5e5e 2eba bbbb f18a kk.D%..T^^...... 0000180: c791 4844 2b16 c012 0e87 fd04 faac bebe ..HD+........... 0000190: be85 cad1 e272 b97c 04a0 e245 4ea7 530f .....r.|...EN.S. 00001a0: 5c48 8e8f 8f45 3a9d d6f5 f0f0 7091 747b \H...E:.....p.t{ 00001b0: 7777 779d feff a649 0b07 0281 acb5 baba www....I........ 00001c0: fa97 dfef 7710 7041 309e 2c79 ba20 4800 ....w.pA0.,y. H. 00001d0: 9a13 2f81 7a11 7479 79b9 3f16 8ba1 ae63 ../.z.tyy.?....c 00001e0: caf9 f979 120b 83c5 81e6 03e3 8e4f 59e5 ...y.........OY. 00001f0: a010 5e3c f405 2705 dbd6 7b90 4aa5 1ecd ..^<..'...{.J... 0000200: cdcd 250e 0e0e c4c5 c585 a080 fa49 0686 ..%..........I.. 0000210: 1303 ca81 7007 1bf6 c1f7 d9d9 9958 5b5b ....p........X[[ 0000220: 1384 f73a 140a 7de3 3d58 27e9 8d46 a371 ...:..}.=X'..F.q 0000230: 0491 c14a 89fc 1204 01f8 d4d4 1461 87be ...J.........a.. 0000240: e46f 7262 6363 a377 6666 6671 6f6f cfc8 .orbcc.wfffqoo.. 0000250: dc6c cb65 651b 3439 1e8f 03bc 8fc0 c70a .l.ee.49........ 0000260: 5145 3291 483c 5c58 5888 a251 a5c0 5989 QE2.H<\XX..Q..Y. 0000270: f8c4 d6d6 5676 7a7a fae5 c0c0 c0f8 ad3d ....Vvzz.......= 0000280: c823 ac14 3df3 c3d1 d191 d1e4 620a 5f94 .#..=.......b._. 0000290: 6673 7333 3238 38f8 b520 9be6 3887 ff79 fss3288.. ..8..y 00002a0: 989b f85f 7e3f e4a4 b0f1 74af 1525 3b36 ..._~?....t..%;6 00002b0: 8423 ed45 6745 4585 012c 4f92 3c41 fc02 .#.EgEE..,O.<A.. 00002c0: d008 ed90 7774 74d4 5694 4df9 248e f182 ....wtt.V.M.$... 00002d0: 3278 4ccd 9aca 8161 039f caca 4a80 9b52 2xL....a....J..R 00002e0: b855 1e49 3a55 32f6 c209 60bc 4068 3aa6 .U.I:U2...`.@h:. 00002f0: 8b1a 9aa6 041c 4429 3a6f 7150 3000 9d9d ......D):oqP0... 0000300: 641e 33ed 8114 a485 0238 4178 703c 3939 d.3......8Axp<99 0000310: 11c9 6452 acac acfc 248e 798b 9d21 b0e1 ..dR....$.y..!.. 0000320: f6f6 f6fe a6a6 2683 5ec0 5b94 948f eec3 ......&.^.[..... 0000330: 055f c001 3015 5838 64bc baba 1add d9d9 ._..0.X8d....... 0000340: 01f0 0f76 a0cd 7d33 3f3f 3f42 73ff d1e3 ...v..}3???Bs... 0000350: f104 1b1a 1a54 f890 6805 a748 9a92 3fb4 .....T..h..H..?. 0000360: e6df 691f dcfb fbfb 2366 19e5 64fb f4f4 ..i.....#f..d... 0000370: b46f 7676 7664 6969 6998 5ed1 43fd 1837 .ovvvdiii.^.C..7 0000380: a5eb bb50 c2bf 8822 feb3 fc15 6000 74fe ...P..."....`.t. 0000390: 7622 c159 82da 0000 0000 4945 4e44 ae42 v".Y......IEND.B 00003a0: 6082 0a `.. |
| — | — |

接下来我们试着分析一下:

首先是八个字节的文件头标志,标识着png文件:

plain 1 plain 8950 4e47 0d0a 1a0a

接下来的地方就是IHDR数据块了:

0000 000d说明IHDR头块长为13

4948 4452IHDR标识(ascii码为IHDR)

下面是IHDR数据块的实际内容

0000 0018图像的宽,24像素

0000 0018图像的高,24像素

08 表示色深,这里是2^8=256,即这是一个256色的图像

06 颜色类型,查表可知这是带α通道数据的真彩色图像

00 PNG Spec规定此处总为0(非0值为将来使用更好的压缩方法预留),表示使压缩方法(LZ77派生算法)

00 同上

00 非隔行扫描

e0 773d f8 CRC校验

以上分析了第一个IHDR块的内容,其他块的分析方法类似,比如接下来的就是tEXt块了,很简单,不做分析了。(当然这里还有重要的IDAT块,这是图像的实际内容)

最后得有个IEND数据块,这部分正如上所说,通常都应该是

00 00 00 00 49 45 4E 44 AE 42 60 82

由于我用的是vim打开,vim在文件最后都会恶心的自己加上0a换行,当然这并没有什么坏的影响。不过这也提醒了我们一个问题,既然在IEND块后面添加任何的字符都对文件的打开造成不了影响,那我们就可以在这里藏一些数据了(当然这种藏法很low)。。。

OK,这就是png文件的基本构造了。

例题:可能会修改文件名

1715249478476-fc4500f4-d179-4a9e-8ca3-b739743ed423.png

可能是头文件出问题

1715249511415-c2ce3779-2cd3-4e8f-bf8a-75c7641c71f1.png

看上面的8个字节头文件标志

89 50 4E 47 0D 0A 1A 0A

改完就可以打开图片了

BPG文件格式详解

概念

BPG(Better Portable Graphics)是一种新的图像格式。 其目的是在质量或文件大小成问题时替换JPEG图像格式。 它的主要优点是:

1、压缩比高。 对于类似的质量,文件比JPEG小得多。

2、大多数Web浏览器都支持小型Javascript解码器(gzip压缩大小:56 KB)。

3、基于HEVC开放视频压缩标准的子集。

4、支持与JPEG(灰度,YCbCr 4:2:0,4:2:2,4:4:4)相同的色度格式,以减少转换过程中的损耗。 支持Alpha通道。 还支持RGB,YCgCo和CMYK颜色空间。

5、本机支持每通道8至14位,以获得更高的动态范围。

6、支持无损压缩。

7、可以包括各种元数据(例如EXIF,ICC配置文件,XMP)。

8、动画支持。

原文链接:https://blog.csdn.net/CT_WJ/article/details/97812299

查看

只考虑电脑上,Honeyview 是目前我评价最高的看图软件,地址:www.bandisoft.com/honeyview。截面乍一看有点古朴:

1721531586323-c3eaaf07-e067-4b09-a548-d29e7041d0ae.png

安装之后设置一下,让菜单自动隐藏就没问题了,实际用的时候只会显示个窗口边框。现在还没遇到它不支持的图片格式,除了矢量图,比如svg 和cad 的格式。

转换

图片批量转换成bpg 可以用honeyview 的资源管理器右键菜单,也可以用一个叫romeolight bpgconv 的工具,专门用来把jpg 和png 批量转换成bpg。

1721531685378-62100093-7327-4704-9842-13ae5a729073.png

把图片文件夹拖进去,工具会筛选出所有jpg,jpeg 和png 文件,然后点一下左上角的三角按钮就开始批量转换。文件数量比较多,图片内容比较复杂的话转换时间会很长,吃CPU,可以全核跑满。一批图片处理完之后点左上角的圆圈箭头清空列表,然后可以再往里拖一批,不先清空的话它会把处理完的图片再处理一遍。

转换之前,最好先点开右上角的三条杠,打开菜单,调整一下输出文件的位置:

1721531712314-da14e416-8e4e-4283-862c-a9416aa3a446.png

默认是自动在桌面新建个文件夹,所有输出文件放在里面,切换成“Same Location as File”,输出文件就会放在源文件同目录下,如果一次转换多个文件夹,这样图片分类不会乱。其他设置都不用动。转换完再手动把所有jpg,png 源文件删除掉就行了,比如直接rm *.jpg。

这个软件的官网似乎已经挂了,windows 上想安装,可以用scoop 安装个绿色版:

1
scoop install bpgconv

或者下载我复制出来的绿色包:download.csdn.net/download/Etberzin/86448960,0 积分。再或者,随便搜个下载站,风险自担。

预览

但是转换成bpg 之后,windows 资源管理器里不能显示图片预览,想找个图片就比较麻烦,honeyview 可以打开bpg,但是没有给资源管理器集成bpg 的预览功能。所以又要找个工具,Simple BPG Image Viewer :github.com/asimba/pybpgviewer/releases/tag/v1.28,这也是个bpg 图片查看器,不如honeyview 好用,但是提供了bpg 预览的插件。

1721531820822-3fca6a90-c152-4258-9fd6-edf63166c877.png

点击红圈里的链接下载个安装包,一路ok 安装完,可能需要把软件启动一次,然后用资源管理器打开有bpg 图片的文件夹,图片预览应该就能自动加载出来了。

总结

日常使用可能还是webp 更方便,支持的范围更广。要是所有图片都拿bpg 存,到时候想给别人发个图还得先转换成jpg 或者webp。只是我感觉webp 压出明显差异的可能性更大,bpg 最适合用的场合是那些估计只有自己看的一大堆图片库存,比如瑟图~ 不过几千张瑟图转换一波能省的空间也不过就几个GB 而已,大概是把一共5GB 的的图片文件夹压缩到500MB 这个程度,有没有用~ 自己看呗。

原文链接:https://blog.csdn.net/Etberzin/article/details/126502703

例题

看到bpg格式的图片拖入honeyview就可以看到flag了

1721532010959-1aaf41bd-4461-4dea-a80d-a65f1c851cfe.png

ctfshow{aade771916df7cde3009c0e631f9910d}

更新: 2024-07-21 11:42:57
原文: https://www.yuque.com/chaye-apqbl/vsc85q/tth8pal7cl00g180


杂项总结
http://example.com/2025/01/19/MISC/基础/杂项总结/
Author
chaye
Posted on
January 19, 2025
Licensed under