This document presents a technique for semantics-aware malware detection. It aims to design a malware detection algorithm that uses the semantics of instructions to identify malware even after it has been obfuscated. The technique specifies malicious behaviors as templates containing instructions, variables, and symbolic constants. It then uses a formal semantics approach and translation-validation to determine if programs are semantically equivalent and discover malicious programs despite polymorphism or metamorphism techniques used by malware writers. The strengths are robustness to code changes, while limitations include challenges with certain obfuscation techniques.