diff --git a/cmd/crc.c b/cmd/crc.c index 197b4c3..4aedef5 100644 --- a/cmd/crc.c +++ b/cmd/crc.c @@ -68,8 +68,6 @@ void random_data_change(unsigned char *color_data, int width, int length) { int color_range = 3; unsigned char temp_color_data[length]; - //memcpy(temp_color_data, color_data, length); - do { rounds++; // Creating temporary data set @@ -120,7 +118,7 @@ void build_png_file(struct PNG_FILE_STRUCT *png_file, char *out_file_name) { start_data.png_data = png_file->png_start_data; // IHDR Data - for(int i = 0; i < sizeof(struct PNG_START_FILE_STRUCT); i++) { + for(int i = 0; i < sizeof(start_data.data); i++) { fputc(start_data.data[i], fp); } // IDAT Data @@ -149,13 +147,11 @@ void build_png_file(struct PNG_FILE_STRUCT *png_file, char *out_file_name) { new_crc[i] = int_crc >> (8*(3-i)) & 0xFF; fputc(new_crc[i], fp); } - // IEND Data unsigned char IEND_DATA[12] = { 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82}; for(int i = 0; i < 12; i++) { fputc(IEND_DATA[i], fp); } - fclose(fp); } @@ -204,8 +200,7 @@ int change_idat_content(unsigned char *addr, struct PNG_FILE_STRUCT *png_file, c png_file->png_idat_data.idat_data = calloc(com_data_size, sizeof(unsigned char)); - // TEMP FIX FOR IDAT SIZE ISSUES - png_file->png_idat_data.idat_length[3] = (unsigned char)com_data_size; + png_file->png_idat_data.idat_data_length = be32toh(com_data_size); for(size_t i = 0; i < com_data_size; i++) { png_file->png_idat_data.idat_data[i] = com_data_buff[i]; @@ -298,7 +293,6 @@ int main(int argc, char **argv) { populate_start_png(file_data, &png_file_data.png_start_data); offset = first_idat(file_data); - printf("Off: %ld\n", offset); populate_idat_png(file_data, &png_file_data.png_idat_data, offset);