Threadsnake

Submit an answer:

 

This puzzle requires learning about the .png file format. The image tells you exactly how to get started: look at the chunks. The chunk types are: IHDR (standard .png header); IDAT (the actual image data); hint x4 (not standard!); idat, idaT, idAt, and idAT (not standard!); ones, poke, bits, read (not standard!); and IEND (standard .png ending marker).

"hint" is a pretty suggestive chunk name. In fact, the bytes can be read as ASCII. They read (in order):

Since IDAT is the standard chunk type for .png data, if our goal is to make 4 new .png files, it makes sense to use the chunks with case variations on IDAT. For each of these, create a new .png whose IDAT is idat, idaT, idAt, or idAT. To be a valid .png file, the CRC would need to change, but as the hints say, several programs will open .png files even with bad CRCs. So you can either compute the correct CRC once the chunk type is renamed to IDAT, or you can ignore this step, and you'll probably be able to find a program to view the new images. These images are:

Now it's time to understand those last four chunks:

Concatenating all these chunks of data yields a file whose first two bytes are PK, indicating that it's a zip file. This zip file has one file in it, called almost_done.png:

This .png file is way too large for its minimal content (176 kilobytes!), so there must be more to it. Indeed, it's time to look at chunks again, where now we have chunks named "rrrr", "gggg", and "bbbb". Each of these chunks has 60000 = 300*200 bytes in it, and all our .pngs have been 300 x 200. We can therefore use these chunks as the red, green, and blue channels to give a 300 x 200 image:

This is the flag of ANTIGUA AND BARBUDA, which is the answer to the puzzle.