








PNG:内部自带校验信息,拼错了更容易发现。 虽然底层磁盘扇区没有编号,但 PNG 格式自身将数据划分为一个个逻辑结构块(Chunk),每个结构块末尾都带有 CRC 循环冗余校验码。Scalpel3 可以利用这种内部结构及 CRC 代数关系来约束碎片组合,大幅缩小候选范围,快速筛除不匹配的碎片。 JPEG:缺少分段校验,拼错了也不一定马上报错。 JPEG 内部是一段连续的压缩图像数据流,没有类似 PNG 的分段校验码。哪怕在半截 JPEG 后面接上一块错误的碎片,解码器往往还能继续合法解码许多字节才会报错。由于无法在拼接错误的第一时间将其排除,算法面对乱序 JPEG 时,就不得不耗费大量算力回溯试错。


