MD5 karşılaştırarak malware tespiti yapmak çok ilkel bir metot ve çoğu zaman işe yaramaz, nedeni ise Malware'nin tek bir bitini değiştirdiğinizde MD5'i de farklı bir değer alacak olmasıdır.
İşin oluru imza tabanlı statik analizdir, örneğin program içerisinde createprocess apisi kullanıldıysa eğer yazan kişi dinamik API yükleme ve şifreleme yapmadıysa bu createprocess kabak gibi programın bytekodu içinde okunabilir halde olur. Aynen bu şekilde winsock, copy, memory, registry vs. gibi API'leri program içinde tarayıp belirli bir profil oluşturmak gerekir. Şu şu apiler varsa zararlı olma olasılığı yüksek ya da değil gibi.
Dinamik analiz kısmı senin becerilerini aşar o yüzden anlatmıyorum.
Bu dediklerimi dikkate alırsan en azından işe yarar bir şeyler ortaya çıkarabilirsin.