Heuristik heißt bei Virenscanner: Wir suchen nach 'ner Ähnlichkeit.
Diese Ähnlichkeit muss Grenzen haben, denn ansonsten wäre alles ähnlich.
Wie genau diese "Ähnlichkeitesgrenze" definiert ist, weiß wohl nur der jeweilige "Ähnlichkeitenfindenentwickler". Sprich: Das ist von außen nicht durchschaubar.
Aber auf Byteebene kann diese Grenze nur bei einem Byte Unterschied liegen. Entweder etwas passt noch in die Heuristik oder eben nicht.
Bei alledem darf man nicht vergessen:
Wenn heute eine Datei problemlos durch alle Virenscanner als ok durchgeht, kann morgen schon die gleiche Datei in absolut unveränderter Form nicht mehr durchgehen, einfach, weil in der Heuristik was verändert wurde und nun irgendwas als Treffer interpretiert wird, was gestern noch kein Treffer war.
Man muss eigentlich immer damit rechnen, dass ein Virenscanner von heute auf morgen bei einer bestimmten Datei zuschlägt oder eben auch nicht mehr zuschlägt.
Das ist ein bisserl wie beim Münzwurf: Kopf oder Zahl.
Hatte mal so ein Problem bei einem Konsolenprogramm, dass einfach nur im Batchbetrieb Dateien mit OEM-Zeichensatz in
ANSI-Zeichensatz konvertieren sollte.
Irgendwann war die Exe plötzlich virenverseucht (auch wenn man sie mit Delphi neu kompilierte). Ein paar Tage später war sie es dann nicht mehr, dazwischen lagen nur ein paar Updates der Signaturdateien des Virenscanners. Andere Virenscanner befanden die Exe die ganze Zeit über als "völlig unauffällig".