Heuristics / Shmistics
by Köhntark

A guide to Anti-Heuristics / Shmistics Technology




        "Looking" means that TbScan has successfully located the entry
        point of the program in one step. The program code has been
        identified so TbScan knows where to search without the need of
        additional analysis.

        Looking will be used on most files produced by known software.

        "Checking" means that TbScan has successfully located the entry
        point of the program, and is scanning a frame of about 4Kb
        around the entry point. If the file is infected the signature
        of the virus will be in this area. "Checking" is a very fast
        and reliable scan algorithm.

        Checking will be used on most files that are not produced by
        known software.

        "Tracing" means that TbScan has successfully traced a chain of
        jumps or calls while locating the entry-point of the program,
        and is scanning a frame of about 4Kb around this location. If
        the file has been infected, the signature of the virus will be
        in this area. "Tracing" is a fast and reliable scan algorithm.

        Tracing will be primarily used for TSR-type COM files or Turbo
        Pascal-compiled programs. Most viruses will force TbScan to use
        "Tracing".

        "Scanning" means that TbScan is scanning the entire file
        (except for the exe-header which cannot contain any viral
        code). This algorithm will be used if "Looking", "Checking" or
        "Tracing" cannot be safely used. This is the case when the
        entry-point of the program contains other jumps and calls to
        code located outside the scanning frame, or when the heuristic
        analyzer found something that should be investigated more
        thoroughly.  "Scanning" is a slow algorithm.  Because it
        processes almost the entire file, including data areas, false
        alarms are more likely to occur.

        The "Scanning" algorithm will be used while scanning
        bootsectors, SYS and BIN files.

        "Skipping" will occur with SYS and OVL files only. It simply
        means that the file will not be scanned. As there are many SYS
        files that contain no code at all (like CONFIG.SYS) it makes
        absolutely no sense to scan these files for viruses.
        The same applies to .OV? files. Many overlay files do not
        deserve to be called as such as they lack an exe-header. Such
        files cannot be invoked through DOS making them just as
        invulnerable to direct virus attacks as .TXT files are. If a
        virus is reported to have infected an .OV? file, it involved
        one of the relatively few overlay files that does contain an
        exe-header. The infection was then the result of the virus
        monitoring the DOS exec-call (function 4Bh) and infecting any
        program being invoked that way, including "real" overlay files.