To solve this challenge we had to create two different files with the same md5. I downloaded the evilize tool from this link: https://www.mscs.dal.ca/~selinger/md5collision/.
1. I created a program with two different behaviors: main_good and main_evil2. I compiled it with goodevil: ```gcc myprogram.c goodevil.o -o my program```3. I created an initialization vector:```./evilize myprogram -i ```4. I created an MD5 collision using the previous IV:```./md5coll IV > init.txt```5. Generate a pair of programs with the same md5 and with the behaviorexplained in "myprogram":```./evilize myprogram -c init.txt -g good -e evil``` I verified that md5 was the same even if the programs are different:```> md5 bad good> MD5 (bad) = c4acfc4586ce3f2a6c8ac31f9267ee04> MD5 (good) = c4acfc4586ce3f2a6c8ac31f9267ee04```Inserting these two files on the url given by the challenge text, i obtained the flag: **AFFCTF{One_Way_Or_Another}**.