#include <stdio.h>
#define buff 2

/*
   Simple MD5 Checksum Changer
   written by katharsis
   www.katharsis.x2.to
*/

typedef struct bytepair BYTEPAIR;

struct bytepair
{
       long offset;
       char val;
};

static const BYTEPAIR byte_pairs[buff]= {
{0x000BC3F0, 0x00},
{0x000DC3F8, 0x00},
};

int main(int argc, char *argv[])
{
    printf("\nMD5 Checksum Changer\nwritten by katharsis\n\n");
    if(argc != 2) {
    printf("Usage: %s <file>\n", argv[0]);
    exit(1);
    }

    FILE *Target;
    int i;

    printf("Target file: %s\n",argv[1]);

    Target = fopen(argv[1], "r+");

    printf("Patching file...\n");

           for (i = 0; i < 2; i++)
           {
               fseek(Target, byte_pairs[i].offset, SEEK_SET);
               fwrite(&byte_pairs[i].val, 1, 1, Target);
           }
           fclose(Target);
           printf("File successfully patched!\n");
           return 0;
}