Virusscanners use two approaches: Signature-based scanning and heuristic scanning.

**Signature-based** scanning involves looking for specific elements in a virus program. Some virus authors in the past left messages in their program which could be scanned for. Alternatively, certain filenames were used. Or simply the entire file contents (or a hash value thereof). The idea is that the developer of the virusscanner receives a new virus-program and adds its signature, whatever it is, to the scanner definitions. 

The downside of this is that virusscanners will always be one step behind virus creators, since the scanner can only respond to threats that it has been programmed to recognize. Additionally, some virus developers will incorporate code to change the virus software automatically when it spreads, making signature-based recognition much harder.

**Heuristic** scanning on the other hand looks at the behaviour of a program. It scans the file in order to see which instructions it contains and then matches that with sets of instructions that are considered harmful. For example instructions that exploit a known software bug in order to obtain administrative privileges.

Heuristic scanning can detect new viruses that haven't been identified before. It's also more effective against malware that modifies itself automatically. On the other hand, if the scanner is tuned too aggressively, it could get many false positives. Tune it too passively and viruses that don't behave too badly will slip by it. Heuristic scanners don't need to be updated as often (though they still need updates, because virus behaviour changes over time).

Most scanners use a combination of both techniques. Signature-based scanning is primarily aimed at spotting known threats, while heuristic scanning offers some level of defense against new ones. Some scanners also include features that monitor access to certain system resources (such as the Windows Registry) and will warn the user when a program tries to access a monitored file or system.
වෛරස් ස්කෑනර් ප්‍රවේශයන් දෙකක් භාවිතා කරයි: අත්සන මත පදනම් වූ ස්කෑන් කිරීම සහ හූරිස්ටික් ස්කෑන් කිරීම. **අත්සන මත පදනම් වූ** ස්කෑන් කිරීම වෛරස් වැඩසටහනක නිශ්චිත මූලද්‍රව්‍ය සෙවීම ඇතුළත් වේ. අතීතයේ සමහර වෛරස් කතුවරුන් ඔවුන්ගේ වැඩසටහනට ස්කෑන් කළ හැකි පණිවිඩ තැබූහ. විකල්පයක් ලෙස, ඇතැම් ගොනු නාම භාවිතා කරන ලදී. නැතහොත් සම්පූර්ණ ගොනු අන්තර්ගතය (හෝ එහි හැෂ් අගයක්) අදහස වන්නේ වෛරස් ස්කෑනරයේ සංවර්ධකයාට නව වෛරස්-වැඩසටහනක් ලැබෙන අතර එහි අත්සන, එය කුමක් වුවත්, ස්කෑනර් නිර්වචනවලට එක් කරයි. මෙහි අවාසිය නම් වෛරස් ස්කෑනර් සෑම විටම වෛරස් නිර්මාපකයින්ට වඩා එක් පියවරක් පිටුපසින් සිටීමයි, මන්ද ස්කෑනරයට ප්‍රතිචාර දැක්විය හැක්කේ එය හඳුනා ගැනීමට වැඩසටහන්ගත කර ඇති තර්ජන වලට පමණි. මීට අමතරව, සමහර වෛරස් සංවර්ධකයින් වෛරස් මෘදුකාංගය පැතිරෙන විට ස්වයංක්‍රීයව වෙනස් කිරීමට කේතය ඇතුළත් කරනු ඇත, අත්සන මත පදනම් වූ හඳුනාගැනීම වඩාත් අපහසු වේ. **Heuristic** ස්කෑන් කිරීම අනෙක් අතට වැඩසටහනක හැසිරීම දෙස බලයි. එය එහි අඩංගු උපදෙස් මොනවාදැයි බැලීමට ගොනුව පරිලෝකනය කරන අතර පසුව හානිකර ලෙස සලකනු ලබන උපදෙස් කට්ටල සමඟ එය ගැලපේ. උදාහරණයක් ලෙස පරිපාලන වරප්‍රසාද ලබා ගැනීම සඳහා දන්නා මෘදුකාංග දෝෂයක් භාවිතා කරන උපදෙස්. හූරිස්ටික් ස්කෑන් කිරීම මගින් කලින් හඳුනා නොගත් නව වෛරස් හඳුනා ගත හැක. එය ස්වයංක්‍රීයව වෙනස් වන අනිෂ්ට මෘදුකාංග වලට එරෙහිව ද වඩාත් ඵලදායී වේ. අනෙක් අතට, ස්කෑනරය ඉතා ආක්‍රමණශීලී ලෙස සුසර කර ඇත්නම්, එය බොහෝ ව්‍යාජ ධනාත්මක ලබා ගත හැකිය. එය ඉතා නිෂ්ක්‍රීය ලෙස සුසර කරන්න, ඉතා නරක ලෙස හැසිරෙන්නේ නැති වෛරස් එයින් ලිස්සා යනු ඇත. හියුරිස්ටික් ස්කෑනර් නිතර යාවත්කාලීන කිරීම අවශ්‍ය නොවේ (ඒවාට තවමත් යාවත්කාලීන අවශ්‍ය වුවද, වෛරස් හැසිරීම කාලයත් සමඟ වෙනස් වන බැවිනි). බොහෝ ස්කෑනර් යන්ත්‍ර ක්‍රම දෙකේම එකතුවක් භාවිතා කරයි. අත්සන මත පදනම් වූ ස්කෑනිං මූලික වශයෙන් ඉලක්ක කරන්නේ දන්නා තර්ජන හඳුනා ගැනීම වන අතර, හූරිස්ටික් ස්කෑන් කිරීම නව ඒවාට එරෙහිව යම් මට්ටමක ආරක්ෂාවක් සපයයි. සමහර ස්කෑනර්වල ඇතැම් පද්ධති සම්පත් වෙත (වින්ඩෝස් රෙජිස්ට්‍රිය වැනි) ප්‍රවේශය අධීක්‍ෂණය කරන විශේෂාංග ද ඇතුළත් වන අතර වැඩසටහනක් නිරීක්‍ෂණය කරන ලද ගොනුවකට හෝ පද්ධතියකට ප්‍රවේශ වීමට උත්සාහ කරන විට පරිශීලකයාට අනතුරු අඟවයි.