Изучаете формат EXE-файла, с помощью дизассемблеров ищете в каких байтах скомпилированного EXE получается вредоносный код, их последовательность добавляете в базу антивируса (можно просто в бинарный файл), затем антивирус проверяет заданный пользователем подозрительный EXE , просто читает и проверяет нет ли в нем этой последовательности, если есть - то предлагает удалить файл.
Вариант с 0% False Positive + False Negative - это включить весь скомпилированный код в базу антивируса добайтно, или в целях экономии - хеш-сумму от него. Однако, Ваш антивирус будет "переобученным" : любое изменение кода приведет к пропуску. Вы должны понять насколько большой должна быть способность к обобщению и постараться включить в сигнатуру (т.е. охватываемую хеш-суммой часть кода) ту часть, которая наиболее вероятно не изменится при чьей то правке. А дальше собственно и начинается самое интересное.