如何弄乱PNG格式以实现数据交换?

How to mess with the PNG format in order to achieve data-moshing?

我一直在尝试在十六进制编辑器中打开一个 .png 文件,并不断更改内容,以实现类似数据交换的效果。根据维基百科,图像本身位于 IDAT 块内,所以我一直在搞乱那个。问题是无论我改变什么,无论改变多小,即使它在块内,图像也不再渲染。 PNG格式那么难破解吗?

我的问题好像解决了。在每个 PNG 块之后,有 4 个字节的 CRC-32 校验和。我还需要计算一下,否则该块将失效。