home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / dos / tools / tbav636 / tbav.doc < prev    next >
Text File  |  1995-07-18  |  409KB  |  10,548 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                                    ThunderBYTE
  11.  
  12.                                Anti-Virus Utilities
  13.  
  14.                                    version 6.36
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                                    USER MANUAL
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.           
  55.  
  56.  
  57.     The ThunderBYTE Anti-Virus Utilities are a product of:
  58.  
  59.          ESaSS B.V.
  60.          P.O. Box 1380
  61.          6501 BJ  NIJMEGEN
  62.          The Netherlands
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.     COPYRIGHT (c) 1995 by:   ThunderBYTE B.V., 
  99.                              Wijchen, The Netherlands.
  100.  
  101.     All rights reserved. No part of this manual may be reproduced, stored in
  102.     a retrieval system, or transmitted in any form, by print, microfilm, or
  103.     by any other means without written permission from ThunderBYTE B.V.
  104.  
  105.  
  106.  
  107.           
  108.  
  109.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page i
  110.  
  111.  
  112.  
  113.  
  114.  
  115.     Table of Contents
  116.  
  117.  
  118.  
  119.     Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
  120.          A Word (or Two) of Thanks  . . . . . . . . . . . . . . . . . . .   1
  121.          What Are the TBAV Utilities? . . . . . . . . . . . . . . . . . .   1
  122.          The TBAV Utilities User Interface  . . . . . . . . . . . . . . .   5
  123.          Conventions Used in This Manual  . . . . . . . . . . . . . . . .   6
  124.          How To Use This Manual . . . . . . . . . . . . . . . . . . . . .   6
  125.  
  126.     1 TBAV QuickStart . . . . . . . . . . . . . . . . . . . . . . . . . .   8
  127.          1.1 Installing the TBAV Utilities  . . . . . . . . . . . . . . .   8
  128.               1.1.1 Understanding System requirements . . . . . . . . . .   8
  129.               1.1.2 Running INSTALL . . . . . . . . . . . . . . . . . . .   8
  130.               1.1.3 Installation on a network . . . . . . . . . . . . .    11
  131.               1.1.4 Starting And Ending TBAV  . . . . . . . . . . . . .    11
  132.               1.1.5 Using TBAV Commands . . . . . . . . . . . . . . . .    14
  133.               1.1.6 Getting Help  . . . . . . . . . . . . . . . . . . .    15
  134.               1.1.7 Configuring TBAV  . . . . . . . . . . . . . . . . .    16
  135.          1.2 Understanding TbSetup  . . . . . . . . . . . . . . . . . .    18
  136.          1.3 Understanding TbDriver . . . . . . . . . . . . . . . . . .    19
  137.          1.4 Maintaining the System . . . . . . . . . . . . . . . . . .    20
  138.               1.4.1 Maintaining ANTI-VIR.DAT Files  . . . . . . . . . .    20
  139.               1.4.2 Creating a New Recovery Diskette  . . . . . . . . .    20
  140.               1.4.3 Getting Updates . . . . . . . . . . . . . . . . . .    20
  141.               1.4.4 Maintaining a Network . . . . . . . . . . . . . . .    21
  142.               1.4.5 Using the PKUNZIP Utility . . . . . . . . . . . . .    22
  143.  
  144.     2 Defining Your Anti-Virus Strategy . . . . . . . . . . . . . . . .    24
  145.          2.1 Protecting Yourself Against Virus Infection  . . . . . . .    24
  146.          2.2 Recovering from Virus Infection  . . . . . . . . . . . . .    29
  147.  
  148.     3 Using the TBAV utilities  . . . . . . . . . . . . . . . . . . . .    33
  149.          3.1 Using TbSetup  . . . . . . . . . . . . . . . . . . . . . .    33
  150.               3.1.1 Understanding TbSetup . . . . . . . . . . . . . . .    33
  151.               3.1.2 Working with the TbSetup Menu . . . . . . . . . . .    34
  152.               3.1.3 Maximizing TbSetup  . . . . . . . . . . . . . . . .    40
  153.               3.1.4 Understanding TbSetup's Operation . . . . . . . . .    44
  154.               3.1.5 Understanding TBSETUP.DAT Files . . . . . . . . . .    45
  155.          3.2 Using TbScan . . . . . . . . . . . . . . . . . . . . . . .    47
  156.               3.2.1 Understanding TbScan  . . . . . . . . . . . . . . .    47
  157.               3.2.2 Working with the TbScan Menus . . . . . . . . . . .    48
  158.               3.2.3 Maximizing TbScan . . . . . . . . . . . . . . . . .    62
  159.  
  160.           
  161.  
  162.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page ii
  163.  
  164.  
  165.  
  166.               3.2.4 Understanding the Scanning Process  . . . . . . . .    72
  167.               3.2.5 Understanding Heuristic Flags . . . . . . . . . . .    76
  168.          3.3 Using TbDriver . . . . . . . . . . . . . . . . . . . . . .    78
  169.               3.3.1 Understanding TbDriver  . . . . . . . . . . . . . .    78
  170.               3.3.2 Working with TbDriver . . . . . . . . . . . . . . .    78
  171.               3.3.3 Maximizing TbDriver . . . . . . . . . . . . . . . .    79
  172.          3.4 Using TbScanX  . . . . . . . . . . . . . . . . . . . . . .    84
  173.               3.4.1 Understanding TbScanX . . . . . . . . . . . . . . .    84
  174.               3.4.2 Working with TbScanX  . . . . . . . . . . . . . . .    84
  175.               3.4.3 Maximizing TbScanX  . . . . . . . . . . . . . . . .    86
  176.               3.4.4 Understanding the Scanning Process  . . . . . . . .    90
  177.          3.5 Using TbCheck  . . . . . . . . . . . . . . . . . . . . . .    92
  178.               3.5.1 Understanding TbCheck . . . . . . . . . . . . . . .    92
  179.               3.5.2 Working with TbCheck  . . . . . . . . . . . . . . .    92
  180.               3.5.3 Maximizing TbCheck  . . . . . . . . . . . . . . . .    94
  181.               3.5.4 Understanding the Scanning Process  . . . . . . . .    96
  182.               3.5.5 Testing TbCheck . . . . . . . . . . . . . . . . . .    96
  183.          3.6 Using TbClean  . . . . . . . . . . . . . . . . . . . . . .    98
  184.               3.6.1 Understanding TbClean . . . . . . . . . . . . . . .    98
  185.               3.6.2 Working with the TbClean Menus  . . . . . . . . . .    99
  186.               3.6.3 Using TbClean Command Line Options  . . . . . . . .   101
  187.               3.6.4 Understanding the Cleaning Process  . . . . . . . .   104
  188.               3.6.5 Understanding Cleaning Limitations  . . . . . . . .   106
  189.          3.7 Using TbMem  . . . . . . . . . . . . . . . . . . . . . . .   108
  190.               3.7.1 Introducing the TbMem, TbFile & TbDisk Utilities  .   108
  191.               3.7.2 Loading TbMem, TbFile and TbDisk  . . . . . . . . .   108
  192.               3.7.3 Using Command Line Options  . . . . . . . . . . . .   110
  193.               3.7.4 Understanding TbMem . . . . . . . . . . . . . . . .   110
  194.               3.7.5 Working with TbMem  . . . . . . . . . . . . . . . .   111
  195.               3.7.6 Maximizing TbMem  . . . . . . . . . . . . . . . . .   112
  196.               3.7.7 Understanding TbMem's Operation . . . . . . . . . .   114
  197.          3.8 Using TbFile . . . . . . . . . . . . . . . . . . . . . . .   116
  198.               3.8.1 Understanding TbFile  . . . . . . . . . . . . . . .   116
  199.               3.8.2 Working with TbFile . . . . . . . . . . . . . . . .   117
  200.               3.8.3 Maximizing TbFile . . . . . . . . . . . . . . . . .   117
  201.          3.9 Using TbDisk . . . . . . . . . . . . . . . . . . . . . . .   120
  202.               3.9.1 Understanding TbDisk  . . . . . . . . . . . . . . .   120
  203.               3.9.2 Working with TbDisk . . . . . . . . . . . . . . . .   121
  204.               3.9.3 Maximizing TbDisk . . . . . . . . . . . . . . . . .   122
  205.               3.9.4 Understanding TbDisk's Operation  . . . . . . . . .   125
  206.          3.10 Using TbUtil  . . . . . . . . . . . . . . . . . . . . . .   126
  207.               3.10.1 Understanding and using TbUtil . . . . . . . . . .   126
  208.               3.10.2 Working with the TbUtil Menu . . . . . . . . . . .   127
  209.               3.10.3 Maximizing TbUtil  . . . . . . . . . . . . . . . .   131
  210.               3.10.4 Using the Anti-Virus Partition . . . . . . . . . .   137
  211.               3.10.5 Using the TbUtil diskette  . . . . . . . . . . . .   137
  212.  
  213.           
  214.  
  215.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page iii
  216.  
  217.  
  218.  
  219.          3.11 Using TbLog . . . . . . . . . . . . . . . . . . . . . . .   139
  220.               3.11.1 Understanding and using TbLog  . . . . . . . . . .   139
  221.               3.11.2 Working with TbLog . . . . . . . . . . . . . . . .   139
  222.               3.11.3 Maximizing TbLog . . . . . . . . . . . . . . . . .   141
  223.          3.12 Using TbNet . . . . . . . . . . . . . . . . . . . . . . .   143
  224.               3.12.1 Understanding TbNet  . . . . . . . . . . . . . . .   143
  225.               3.12.2 Working with TbNet . . . . . . . . . . . . . . . .   143
  226.               3.12.3 Maximizing TbNet . . . . . . . . . . . . . . . . .   144
  227.  
  228.     4 Understanding Advanced User Information . . . . . . . . . . . . .   147
  229.          4.1 Understanding Memory Considerations  . . . . . . . . . . .   147
  230.               4.1.1 Understanding Memory Requirements . . . . . . . . .   147
  231.               4.1.2 Reducing Memory Requirements  . . . . . . . . . . .   148
  232.          4.2 Understanding TbSetup  . . . . . . . . . . . . . . . . . .   150
  233.               4.2.1 Understanding ANTI-VIR.DAT File Design  . . . . . .   150
  234.               4.2.2 Editing the TBSETUP.DAT File  . . . . . . . . . . .   150
  235.               4.2.3 Simplifying Installation on Several Machines  . . .   152
  236.          4.3 Understanding TbScan . . . . . . . . . . . . . . . . . . .   153
  237.               4.3.1 Understanding Heuristic Scanning  . . . . . . . . .   153
  238.               4.3.2 Understanding How Heuristic Scanning Works  . . . .   155
  239.               4.3.3 Understanding Integrity Checking  . . . . . . . . .   156
  240.               4.3.4 Understanding the Scan Algorithms . . . . . . . . .   157
  241.               4.3.5 Understanding the TBSCAN.LNG File . . . . . . . . .   159
  242.               4.3.6 Understanding the TBAV.MSG File . . . . . . . . . .   160
  243.          4.4 Understanding TbClean  . . . . . . . . . . . . . . . . . .   161
  244.               4.4.1 Understanding how a Virus infects a file  . . . . .   161
  245.               4.4.2 Understanding Conventional Cleaners . . . . . . . .   161
  246.               4.4.3 Understanding Generic Cleaners  . . . . . . . . . .   163
  247.          4.5 Using TbGenSig . . . . . . . . . . . . . . . . . . . . . .   165
  248.               4.5.1 Understanding and using TbGenSig  . . . . . . . . .   165
  249.               4.5.2 Working with TbGenSig . . . . . . . . . . . . . . .   165
  250.               4.5.3 Defining a Signature with TbScan  . . . . . . . . .   166
  251.               4.5.4 Understanding Keywords  . . . . . . . . . . . . . .   168
  252.               4.5.5 Understanding a Sample Signature: Haifa.Mozkin  . .   173
  253.  
  254.     Appendices  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   175
  255.          Appendix A: TBAV messages  . . . . . . . . . . . . . . . . . .   175
  256.               A.1 TbClean . . . . . . . . . . . . . . . . . . . . . . .   175
  257.               A.2 TbDriver  . . . . . . . . . . . . . . . . . . . . . .   177
  258.               A.3 TbScan  . . . . . . . . . . . . . . . . . . . . . . .   178
  259.               A.4 TbScanX . . . . . . . . . . . . . . . . . . . . . . .   179
  260.          Appendix B: TbScan Heuristic Flag Descriptions . . . . . . . .   180
  261.          Appendix C: Solving Incompatibility Problems . . . . . . . . .   186
  262.          Appendix D: TBAV Exit Codes and Batch Files  . . . . . . . . .   189
  263.               D.1 TbScan Exit Codes . . . . . . . . . . . . . . . . . .   189
  264.               D.2 TbUtil Exit Codes . . . . . . . . . . . . . . . . . .   189
  265.  
  266.           
  267.  
  268.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page iv
  269.  
  270.  
  271.  
  272.               D.3  General Exit Codes . . . . . . . . . . . . . . . . .   189
  273.               D.4 Program Installation Check  . . . . . . . . . . . . .   189
  274.          Appendix E: Virus Detection and Naming . . . . . . . . . . . .   191
  275.               E.1 How Many Viruses Does TbScan Detect?  . . . . . . . .   191
  276.               E.2 The Virus Naming Convention . . . . . . . . . . . . .   191
  277.  
  278.     Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   i
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.           
  320.  
  321.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 1
  322.  
  323.  
  324.  
  325.     Introduction
  326.  
  327.     A Word (or Two) of Thanks
  328.  
  329.     Congratulations! By purchasing the ThunderBYTE Anti-Virus utilities you
  330.     have taken the basic step in building a massive anti-viral safety wall
  331.     around your precious computer system. Setting up the appropriate defense
  332.     using the TBAV utilities is a  personal matter.  Therefore, we recommend
  333.     to read this manual thoroughly, so you are well aware of the different
  334.     kinds of security measures you can take.
  335.  
  336.  
  337.     What Are the TBAV Utilities?
  338.  
  339.     ThunderBYTE Anti-Virus (TBAV) is a comprehensive tool kit designed to
  340.     protect against, and recover from, computer viruses. While TBAV focuses
  341.     heavily on numerous ways to prevent a virus infection, the package would
  342.     not be complete without various cleaner programs to purge a system, in
  343.     the unlikely event that a virus manages to slip through. The package,
  344.     therefore, consists of several programs, each of which helps you to
  345.     prevent viruses from accomplishing their destructive purposes. Here is a
  346.     quick overview.
  347.  
  348.          TbSetup: Collecting Software Information
  349.  
  350.          TbSetup is a program that collects information from all software it
  351.          finds on your system. It places this information in files named
  352.          ANTI-VIR.DAT and uses it for integrity checking, program validation,
  353.          and cleaning infected files.
  354.  
  355.          TbDriver: Enable Memory Resident TBAV Utilities
  356.  
  357.          While TbDriver provides little protection against viruses by itself,
  358.          you must load it in advance to enable the memory resident
  359.          ThunderBYTE Anti-Virus utilities to perform properly. These
  360.          utilities include: TbScanX, TbCheck, TbMem, TbFile, and TbDisk.
  361.          TbDriver also provides basic protection against ANSI bombs and 
  362.          stealth  viruses.
  363.  
  364.          TbScan: Scanning for Viruses
  365.  
  366.          TbScan is both a fast signature scanner and a so-called heuristic 
  367.          scanner. Besides its blazing speed, it has many configuration
  368.          options. It can detect mutants of viruses, bypass stealth type
  369.          viruses, etc. The signature file TbScan uses is a coded TBSCAN.SIG
  370.          file, which you can update yourself in case of emergency.
  371.  
  372.           
  373.  
  374.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 2
  375.  
  376.  
  377.  
  378.          TbScan will disassemble files. This makes it possible to detect
  379.          suspicious instruction sequences and detect yet unknown viruses. As
  380.          pointed out earlier, this generic detection, named heuristic
  381.          analysis, is a technique that makes it possible to detect about 90%
  382.          of all viruses by searching for suspicious instruction sequences
  383.          rather than relying on any signature. For that purpose TbScan has a
  384.          built-in disassembler and code analyzer.
  385.  
  386.          Another feature of TbScan is the integrity checking it performs when
  387.          it finds the ANTI-VIR.DAT files generated by TbSetup. Integrity
  388.          checking  means that TbScan verifies that every file it scans
  389.          matches the information which was captured when the file was first
  390.          analyzed by TbSetup and is maintained in the ANTI-VIR.DAT files. If
  391.          a virus infects a file, the information in the ANTI-VIR.DAT file
  392.          will indicate that the file has been changed, and TbScan will inform
  393.          you of this. TbScan performs an integrity check automatically, and
  394.          it does not have the false alarm rate other integrity checkers have.
  395.          The goal is to detect viruses and NOT to detect configuration
  396.          changes!
  397.  
  398.          TbScanX: Automatic Scanning 
  399.  
  400.          TbScanX is the memory resident version of TbScan. This signature
  401.          scanner remains resident in memory and automatically scans those
  402.          files that are being executed, copied, de-archived, downloaded, etc.
  403.          TbScanX does not require much memory. It can swap itself into
  404.          expanded, XMS, or high memory, using only one kilobyte of
  405.          conventional memory.
  406.  
  407.          TbCheck: Check While Loading
  408.  
  409.          TbCheck is a memory resident integrity checker that remains resident
  410.          in memory and automatically checks every file just before it
  411.          executes. TbCheck uses a fast integrity checking method, which
  412.          consumes only 400 bytes of memory. You can configure it to reject
  413.          files with incorrect checksums, and/or reject files that do not have
  414.          a corresponding ANTI-VIR.DAT record.
  415.  
  416.          TbUtil: Restoring Infected Boot-Sector, CMOS and Partition Tables
  417.  
  418.          Some viruses copy themselves into the hard disk's partition table,
  419.          which makes them far more difficult to remove than boot sector
  420.          viruses. Performing a low-level format is an effective, but rather
  421.          drastic measure.
  422.  
  423.  
  424.  
  425.           
  426.  
  427.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 3
  428.  
  429.  
  430.  
  431.          TbUtil offers a more convenient alternative by making a
  432.          precautionary backup of uninfected partition tables and the boot
  433.          sector. If an infection occurs, you can use the TbUtil backup as a
  434.          verifying tool and as a means to restore the original (uninfected)
  435.          partition table and boot sector, without the need for a destructive
  436.          disk format. TbUtil can also restore the CMOS configuration for you.
  437.          If a backup of your partition table is not available, TbUtil tries
  438.          to create a new partition table anyway, again avoiding the need for
  439.          a low-level format.
  440.  
  441.          Another important feature of TbUtil is the option to replace the
  442.          partition table code with new code offering greater resistance to
  443.          viruses. TbUtil executes the partition code BEFORE the boot sector
  444.          gains control, enabling it to check this sector in a clean
  445.          environment. The TbUtil partition code performs a CRC calculation on
  446.          the master boot sector just before the boot sector code activates
  447.          and issues a warning if the boot sector has been modified. The
  448.          TbUtil partition code also checks and reports changes in the RAM
  449.          layout. It performs these checks whenever the computer boots from
  450.          the hard disk.
  451.  
  452.          We should point out that boot sector verification is imperative
  453.          before allowing the boot sector code to execute. A virus could
  454.          easily become resident in memory during boot-up and hide its
  455.          presence. TbUtil offers total security at this stage by being active
  456.          before the boot sector executes.  TbUtil is far more convenient than
  457.          the traditional strategy of booting from a clean DOS diskette for an
  458.          undisturbed inspection of the boot sector.
  459.  
  460.          TbClean: Reconstructing Infected Files
  461.  
  462.          TbClean is a generic file cleaning utility. It uses the ANTI-VIR.DAT
  463.          files generated by TbSetup to enhance file cleaning and/or to verify
  464.          the results. TbClean can also work without these files. It
  465.          disassembles and emulates the infected file and uses this analysis
  466.          to reconstruct the original file.
  467.  
  468.          TbMem, TbFile and TbDisk: Resident Safeguards
  469.  
  470.          The TBAV utilities include a set of memory resident anti-virus
  471.          utilities, consisting of  TbMem, TbFile and TbDisk. Most other
  472.          resident anti-virus products offer you the choice to either invoke
  473.          them before the network loads (thereby losing the protection after
  474.          the logon procedure), or to load the anti-viral software after
  475.          logging onto the network, resulting in a partially unprotected
  476.          system. The TBAV utilities, on the other hand, recognize the network
  477.  
  478.           
  479.  
  480.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 4
  481.  
  482.  
  483.  
  484.          software and utilize their auto-configuration capabilities to ensure
  485.          their continued functionality.
  486.  
  487.          TbMem: Safeguarding Memory
  488.  
  489.          TbMem detects attempts from programs to remain resident in memory
  490.          and ensures that no program can remain resident in memory without
  491.          permission. Since most viruses remain resident in memory, this is a
  492.          powerful weapon against all such viruses, known or unknown. TbMem
  493.          also protects your CMOS memory against unwanted modifications. The
  494.          ANTI-VIR.DAT files maintain a database of the permission
  495.          information.
  496.  
  497.          TbFile: Executable File Protection
  498.  
  499.          TbFile detects attempts from programs to infect other programs. It
  500.          also guards read-only attributes, detects illegal time-stamps, etc.
  501.          It ensures that no virus succeeds in infecting programs.
  502.  
  503.          TbDisk: Protecting The Disk
  504.  
  505.          TbDisk is a disk guard program that detects attempts from programs
  506.          to write directly to disk (that is, without using DOS), attempts to
  507.          format, etc., and makes sure that no malicious program succeeds in
  508.          destroying your data. This utility also traps tunneling and direct
  509.          calls into the BIOS code. The ANTI-VIR.DAT files maintain permission
  510.          information about those rare programs that write directly to and/or
  511.          format the disk.
  512.  
  513.          TbGenSig: Define Your Own Signatures
  514.  
  515.          Since TBAV includes an up-to-date, ready-to-use signature file, you
  516.          do not really need to maintain a signature file yourself. If,
  517.          however during a crisis, you need to define your own virus
  518.          signatures, then the TbGenSig utility enables you to do this. You
  519.          can use either published signatures or define your own if you are
  520.          familiar with the structure of computer code.
  521.  
  522.  
  523.          TbDel: Remove Infected Files 
  524.  
  525.          The DOS DEL or ERASE command does not actually erase a file. It
  526.          simply deletes the first filename character in the directory listing
  527.          and frees up the space by changing the disk's internal location
  528.          tables (File Allocation Tables). TbDel is a small program with a
  529.          single, yet all-important purpose: it overwrites every single byte
  530.  
  531.           
  532.  
  533.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 5
  534.  
  535.  
  536.  
  537.          in a file with the zero character (0) before deleting it, thereby
  538.          obliterating all the data and making it totally unrecoverable.
  539.  
  540.          TbMon: Installed Device Checker 
  541.  
  542.          To check for the presence of the resident TBAV utilities (TbScanX,
  543.          TbCheck, TbMem, TbFile, TbDisk or TbLog) in batch files or login
  544.          scripts, you can use the TbMon utility. TbMon returns a DOS error
  545.          level, depending on the installed ThunderBYTE resident programs.
  546.  
  547.          The following list specifies the ThunderBYTE resident utilities and
  548.          their respective error levels:
  549.  
  550.                             +------------+-----------+
  551.                             |Utility Name|Error level|
  552.                             +------------+-----------+
  553.                             | TbScanX    |      1    |
  554.                             | TbCheck    |      2    |
  555.                             | TbMem      |      4    |
  556.                             | TbFile     |      8    |
  557.                             | TbDisk     |     16    |
  558.                             | TbLog      |     32    |
  559.                             +------------+-----------+
  560.  
  561.          The error level returned by TbMon is the cumulative sum of the error
  562.          levels of the installed devices. For example, if you have TbScanX
  563.          and TbMem installed, TbMon will return error level 5 (1+ 4 = 5).
  564.          Another example: if you have all utilities loaded, TbMon will return
  565.          error level 63 (1+2+4+8+16+32=63). If none of the resident
  566.          ThunderBYTE utilities are installed, TbMon will return error level 0
  567.          (zero).
  568.  
  569.  
  570.     The TBAV Utilities User Interface
  571.  
  572.     The DOS version of TBAV utilizes a menu-driven interface that enables you
  573.     to execute the utilities easily. You can also execute many of the
  574.     utilities directly from the DOS prompt. One advantage to this is that you
  575.     can use the utilities in batch files.
  576.  
  577.     The Microsoft Windows version of TBAV utilizes the standard Windows
  578.     interface, providing you a way to protect yourself from viruses while
  579.     still working in the user-friendly Windows environment. TBAV-for-Windows
  580.     is not described in this document. Please refer to the TBAV-for-Windows
  581.     documentation for more information.
  582.  
  583.  
  584.           
  585.  
  586.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 6
  587.  
  588.  
  589.  
  590.  
  591.     Conventions Used in This Manual
  592.  
  593.     This manual uses several special conventions:
  594.              
  595.          References to the keyboard are as they appear on the 101-key
  596.          enhanced keyboard. File names, DOS commands, emphasized words, and
  597.          information that you are to type appears in UPPERCASE letters. The
  598.          context should clearly dictate which of these is true in each case.
  599.            
  600.          References to individual TBAV utilities use a combination of
  601.          uppercase and lowercase letters. For example, while TBSCAN.SIG
  602.          refers to a signature file, TbScan refers to the utility itself.
  603.  
  604.  
  605.     How To Use This Manual
  606.  
  607.     This manual consists of six chapters.
  608.  
  609.          Chapter 1 provides you with the fastest way to get started with the
  610.          TBAV utilities. It presents the major features of the program in a
  611.          step-by- step format. We recommend that you start with this chapter.
  612.  
  613.          Chapter 2 contains instruction on how to prevent viruses from
  614.          infecting your computer system and directions on how to handle
  615.          viruses when they do strike. We recommend that you also read this
  616.          chapter because it contains several useful tips.
  617.  
  618.          Chapter 3 contains a detailed description of both the purpose and
  619.          functionality of all the TBAV for DOS utilities.
  620.  
  621.          Chapter 4 contains  advanced user information  for those users who
  622.          are more technically oriented.
  623.  
  624.     This manual also contains five appendices. Appendix A describes TBAV
  625.     messages, Appendix B describes heuristic flags, Appendix C addresses some
  626.     incompatibility problems, Appendix D lists various exit codes for use in
  627.     batch files, and Appendix E contains information on naming viruses.
  628.     Finally, the Index provides you with the means of quickly finding any
  629.     major topic.
  630.  
  631.     NOTE:
  632.          A complete reading of this manual is indispensable in order to
  633.          become familiar with the many facets of the ThunderBYTE AntiVirus
  634.          utilities; to know what steps you can, and must, take to ensure
  635.  
  636.  
  637.           
  638.  
  639.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 7
  640.  
  641.  
  642.  
  643.          adequate protection and be fully prepared for a complete recovery,
  644.          if and when disaster strikes.
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.           
  691.  
  692.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 8
  693.  
  694.  
  695.  
  696.  
  697.     1 TBAV QuickStart
  698.  
  699.     One of the problems with software manuals is they sometimes beat around
  700.     the bush  and don't get to the point, namely, how to use the software
  701.     right now. This chapter presents the major features of TBAV and will get
  702.     you up and running in the minimum amount of time.
  703.  
  704.  
  705.     1.1 Installing the TBAV Utilities
  706.  
  707.     This section provides the initial installation instructions  of the TBAV
  708.     utilities for DOS.  See the TBAV for Windows documentation for installing
  709.     TBAV for Windows or the TBAV for Networks documentation for installing
  710.     TBAV for Networks.
  711.  
  712.  
  713.     1.1.1 Understanding System requirements
  714.  
  715.     The ThunderBYTE Anti-Virus utilities will run on any IBM or compatible PC
  716.     that meets the following requirements:
  717.  
  718.          At least 1 megabyte of disk space
  719.          256 kilobytes of free internal memory
  720.  
  721.          DOS version 3.0 (DOS 5.0 or later recommended)
  722.  
  723.          A mouse is optional
  724.  
  725.     NOTE:
  726.          The TBAV utilities are compatible with networks, MS-Windows,
  727.          Novell-DOS, etc.
  728.  
  729.  
  730.     1.1.2 Running INSTALL
  731.  
  732.     You can install the TBAV utilities either by using the following instal-
  733.     lation procedure or by a fully customized procedure that you ll find in
  734.     Chapter 2. To use the fast approach, follow these steps:
  735.  
  736.          1. Insert the TBAV installation diskette in the diskette drive, type
  737.          A: or B:, and press the ENTER key.
  738.                                         
  739.          2. Type INSTALL and press ENTER. After a  few seconds, the following
  740.          window appears:
  741.  
  742.  
  743.           
  744.  
  745.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page 9
  746.  
  747.  
  748.  
  749.              +-------------------------+
  750.              | Quit Installation       |
  751.              | View TBAV.DOC file    > |
  752.              | License TBAV          > |
  753.              | Upgrade TBAV          > |
  754.              | Custom Installation   > |
  755.              | Express Installation  > |
  756.              +-------------------------+
  757.                                         
  758.          3. Since this is your first time to install the TBAV package you
  759.          choose the first option, which is already highlighted, so just press
  760.          ENTER. Notice also that you can always select a menu option by
  761.          pressing its first letter. Install now displays the Licensing
  762.          Agreement.
  763.  
  764.          4. Press the cursor movement keys (up and down arrows and Page Up
  765.          and Page Down) to view the Agreement. When you finish reading the 
  766.          agreement, press ESC. Install now asks you to acknowledge the
  767.          Agreement.
  768.  
  769.     NOTE: 
  770.          You can exit Install at anytime by pressing the ESC key until you
  771.          get to the Main Menu or even to the DOS prompt.
  772.  
  773.          5. Select the  Your Name  field, type in your name, and press ENTER.
  774.  
  775.          6. Select the company field and repeat the procedure to enter your
  776.          company name.
  777.  
  778.          7. Press I to select the Terms field, type in YES to accept the
  779.          agreement, and press ENTER. The Install Menu now appears.
  780.  
  781.          8. While you will probably accept the defaults, if you need to
  782.          change the source path (the path where the installation program
  783.          itself resides, usually drive A:) or the default Destination path
  784.          (where Install places the TBAV program files, usually C:\TBAV),
  785.          select the field, make your changes, and press ENTER.
  786.  
  787.          9. Press B (or highlight Begin Installation and press ENTER) to
  788.          begin the installation. Install now scans your system to ensure that
  789.          it is  clean  (that is, no files are infected by a virus) and
  790.          informs you when it is done.
  791.  
  792.          10. Press any key to continue. Install now copies the TBAV files to
  793.          the  destination directory and makes a backup of your  AUTOEXEC.BAT
  794.          file before making a few modifications to it. The installation
  795.  
  796.           
  797.  
  798.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 10
  799.  
  800.  
  801.  
  802.          program adds the TBAV directory to your PATH and adds a statement
  803.          that will automatically run the TBSTART.BAT file.
  804.  
  805.     NOTE:
  806.          The TBSTART.BAT file, which resides in the TBAV directory, contains
  807.          the following commands:
  808.  
  809.                  C:\TBAV\TBDRIVER
  810.                  C:\TBAV\TBSCANX
  811.                  C:\TBAV\TBCHECK
  812.                  C:\TBAV\TBMEM
  813.                  C:\TBAV\TBFILE
  814.                  C:\TBAV\TBSCAN  ONCE  ALLDRIVES
  815.  
  816.          You can configure these commands to suit your own personal needs.
  817.  
  818.     Notice:
  819.          Install now displays a message that Recommends that you create a
  820.          Recovery Diskette, which you can use in the future, for example, to
  821.          restore your destroyed CMOS data, or restore your hard disk's
  822.          partition table after it has been tampered with.
  823.  
  824.          11. Press any key to continue to the Final Menu.  To create a
  825.          Recovery Diskette, press M, insert a clean formatted diskette into
  826.          Drive A, and press any key to continue. TBAV now copies the system
  827.          files to the diskette. See the  Prepare a Recovery Diskette  section
  828.          in Chapter 2 for more information. If you do not want to create a
  829.          Recovery Diskette, press Q to Quit Install.
  830.  
  831.          12. When TBAV finishes, press any key to continue. TBAV invokes
  832.          TbSetup to generate an ANTI-VIR.DAT file for drive A and returns you
  833.          to the Final Menu.
  834.  
  835.          13. Press Q to Quit Install. Install now invokes TbSetup again to
  836.          generate the ANTI-VIR.DAT reference files for your hard disk and
  837.          then returns you to the DOS prompt.
  838.  
  839.     CAUTION: 
  840.          It is extremely likely that some of the TBAV utilities are going to
  841.          display messages if you now reboot and continue using the computer
  842.          as you normally would. This is because some programs perform
  843.          operations that the TBAV utilities monitor. TBAV, therefore, needs
  844.          to  learn which programs need proper permission. Before rebooting,
  845.          execute some of the programs you use regularly and respond
  846.          appropriately when TBAV requests permission to     authorize or deny
  847.  
  848.  
  849.           
  850.  
  851.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 11
  852.  
  853.  
  854.  
  855.          their use.  TBAV remembers the settings and will not bother you
  856.          again. Reboot the computer at the end of this test run.
  857.  
  858.          14. After running some of the programs you use regularly (see
  859.          Caution box above), reboot your system.
  860.  
  861.     The TBAV utilities are now ready to monitor your system and will issue a
  862.     warning if something suspicious (or worse!) is about to happen. The TBAV
  863.     utilities also warn you if any new file contains a possible virus, well
  864.     before it can do any harm.
  865.  
  866.  
  867.     1.1.3 Installation on a network
  868.  
  869.     If a workstation does not have a hard disk, you can invoke the TBAV
  870.     utilities from a login script. You create a TbStart.Bat file containing
  871.     the following:
  872.  
  873.                @echo off
  874.                x:\apps\tbav\tbdriver.exe
  875.                x:\apps\tbav\tbscanx.exe
  876.                x:\apps\tbav\tbcheck.exe
  877.                x:\apps\tbav\tbfile.exe
  878.                x:\apps\tbav\tbmem.exe
  879.                x:\apps\tbav\tbscan.exe alldrives
  880.                exit
  881.  
  882.     In the login script add the following line:
  883.  
  884.                #x:command.com /c /x:\apps\tbav\tbstart.bat
  885.  
  886.     NOTE: 
  887.          You need to enter the correct drive ID for 'X:'!
  888.  
  889.  
  890.     1.1.4 Starting And Ending TBAV
  891.  
  892.     You can run TBAV in two ways: run the menu interface or run individual
  893.     utilities from the DOS prompt.
  894.  
  895.  
  896.     Starting TBAV With the Menu Interface
  897.  
  898.     You can access most of the TBAV utilities from within the TBAV menu. To
  899.     start TBAV with the menu, follow these steps:
  900.  
  901.  
  902.           
  903.  
  904.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 12
  905.  
  906.  
  907.  
  908.          1. At the DOS prompt, type CD \TBAV and press ENTER. This places you
  909.          in the TBAV directory.
  910.  
  911.     NOTE: 
  912.          This first step is actually optional since the TBAV directory was
  913.          added to the PATH during installation. You would need this step,
  914.          however, if you ever decided to remove that directory from the PATH.
  915.  
  916.          2. Type TBAV and press ENTER. This starts TBAV and displays the menu
  917.          interface.
  918.  
  919.          3. A common task is to scan your hard disk for viruses. To do this,
  920.          press S on the "Main Menu" to select the TbScan command. Press S
  921.          again to select the "Start Scanning" command on the  TbScan Menu. 
  922.          Press D on the "Path Menu" and press ENTER.
  923.  
  924.          4. If TbScan finds a virus, it presents an action menu. "D)elete" 
  925.          deletes the infected file. "K)ill" also deletes the infected file,
  926.          but in such a way that it can't be undeleted by an undelete utility
  927.          (such as DOS's UNDELETE command). "R)ename" renames an EXE extension
  928.          to VXE and a COM extension to VOM, preventing the execution of
  929.          infected programs and thereby precluding the spread of an infection,
  930.          and also enabling you to keep the file for later examination and
  931.          repair. "C)ontinue scanning" continues the scan without taking
  932.          action on the virus. "N)onstop continue" instructs TbScan not to
  933.          stop when it detects a virus.
  934.  
  935.     NOTE: 
  936.          If you use C or N, we recommend that you select L on the "TbScan
  937.          Menu" and then O on the "TbScan Log Menu" so that TbScan will log
  938.          detected viruses. To view this log, select V from the "TbScan Menu."
  939.  
  940.  
  941.          5. Another common task is to scan a diskette. To scan a diskette in
  942.          drive A, press A, or to scan a diskette in drive B, press B.
  943.  
  944.          6. You can use one of three methods to end TBAV:
  945.  
  946.              Press X to exit and save any configuration settings
  947.              you have set
  948.              Press Q to exit without saving any configuration
  949.              settings
  950.  
  951.              Press ESC, which is the same as pressing Q
  952.  
  953.  
  954.  
  955.           
  956.  
  957.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 13
  958.  
  959.  
  960.  
  961.     Starting TBAV Utilities from the DOS Prompt
  962.  
  963.     You can also start each of the individual TBAV utilities directly from
  964.     the DOS prompt by typing the command name followed by one or more options
  965.     (or switches) to control special features. You can use either the full
  966.     name of the option or its one- or two-letter mnemonic to shorten the
  967.     command line.
  968.  
  969.     For example, if you want to use TbScan to scan for viruses on your hard
  970.     disk, you could execute either one of the following commands:
  971.  
  972.                  TBSCAN ALLDRIVES
  973.                  TBSCAN AD
  974.  
  975.     The advantage of being able to execute individual utilities is that you
  976.     can use the utilities in batch files to create your own custom routines.
  977.     A simple example of this is putting TbScan in your AUTOEXEC.BAT file so
  978.     that it will scan for viruses when you boot up. To accomplish this, do
  979.     the following:
  980.  
  981.          1. If you are using DOS 5 or later, type CD\ and press ENTER to go
  982.          to the root directory. Now type EDIT AUTOEXEC.BAT and press ENTER to
  983.          load this file into the MS-DOS text editor Edit.
  984.  
  985.     NOTE:
  986.          If you are using a version of DOS prior to version 5.0, consult your
  987.          DOS manual on how to edit AUTOEXEC.BAT. You might have your own text
  988.          editor that you can use, or you could even use a word processor to
  989.          edit the file and then save it as an ASCII text file. Consult your
  990.          word processor's documentation for instructions.
  991.  
  992.          2. Add the following line to the beginning of the file, making sure
  993.          you separate the options from the command and from each other using
  994.          a space:
  995.  
  996.                  C:\TBAV\TBSCAN AllDrives Once
  997.  
  998.          3. Press ALT, F, S to save the file again, and then press ALT, F, X
  999.          to exit the editor (that is, if you are using the MS-DOS text editor
  1000.          EDIT; otherwise, use the commands of your favourite editor to save
  1001.          the file, and to exit the editor).
  1002.  
  1003.          4. Reboot your computer so the changes will take effect.
  1004.  
  1005.     CAUTION: 
  1006.  
  1007.  
  1008.           
  1009.  
  1010.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 14
  1011.  
  1012.  
  1013.  
  1014.          This line already exists in the TBSTART.BAT file, which runs
  1015.          automatically from AUTOEXEC.BAT. If you don't want to load all the
  1016.          TSR utilities that TBSTART.BAT loads, you could replace TBSTART.BAT
  1017.          with the above TBSCAN command. While this is still good protection,
  1018.          be aware that it doesn't fully protect your system. Refer to the 
  1019.          Configuring TBAV  section later in this chapter for more information
  1020.          on configuring TBAV.
  1021.  
  1022.          Now the first time you boot your computer on a given day, TbScan
  1023.          will check for viruses on all fixed drives. Because of the OO
  1024.          option, however, if you boot again, you'll receive the  Option  once 
  1025.          already used today  message, meaning that since TbScan has already
  1026.          run once that day, it will not run again.
  1027.  
  1028.     Another useful TBAV utility, not just for deleting infected files but any
  1029.     files you want destroyed, is TbDel. This utility overwrites every byte of
  1030.     a file with a nul character, thereby completely obliterating the file.
  1031.     If, for security reasons, you have files you want to destroy and prevent
  1032.     someone from undeleting using a file recovery program, enter the
  1033.     following command:
  1034.  
  1035.                  TBDEL [filename]
  1036.  
  1037.     WARNING: 
  1038.          Be absolutely sure you want to destroy a file before using TbDel.
  1039.          Once you execute the command, the file is gone forever, and no file
  1040.          recovery utility can bring it back.
  1041.  
  1042.  
  1043.     1.1.5 Using TBAV Commands
  1044.  
  1045.     There are many commands in The TBAV Utilities, but most of them are
  1046.     available from the menu. You can select commands using either the
  1047.     keyboard or the mouse. To select a command, do one of the following:
  1048.  
  1049.          Highlight an option using the arrow keys and press Enter
  1050.  
  1051.          Press the highlighted letter of a command
  1052.  
  1053.          Move the mouse pointer to a command and click the left button
  1054.  
  1055.     As mentioned earlier, you can use all TBAV commands directly from the DOS
  1056.     prompt. You must separate the command from the first option and options
  1057.     from each other using a space. You can use the standard slash (/)
  1058.     character or hyphen (-) before an option, but it is not necessary.
  1059.  
  1060.  
  1061.           
  1062.  
  1063.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 15
  1064.  
  1065.  
  1066.  
  1067.     The standard command line syntax for all ThunderBYTE Anti-Virus commands
  1068.     is:
  1069.  
  1070.             COMMAND [<path>][<filename>]   [<option>]   [<option>]
  1071.  
  1072.     where <path> and <filename> is where you want the command to execute and
  1073.     <option> is the specific option you want to use. For example, the
  1074.     following command executes a virus scan on all executable files in the
  1075.     root directory of drive C: and all subdirectories and skips the boot
  1076.     sector scan:
  1077.  
  1078.                  TBSCAN  C:\  NOBOOT
  1079.  
  1080.  
  1081.  
  1082.     1.1.6 Getting Help
  1083.  
  1084.     TBAV enables you to get help at any time, whether you are working from
  1085.     the menu or the DOS prompt.
  1086.  
  1087.     Getting Help From the Menu
  1088.  
  1089.     To get help at anytime while working from the TBAV menu, follow these
  1090.     steps:
  1091.  
  1092.          1. From the Main Menu, select Documentation.
  1093.  
  1094.          2. From the Documentation menu, select TBAV User Manual.
  1095.  
  1096.          3. Use the up and down arrow keys and Page Up and Page Down to move
  1097.          through the manual.
  1098.  
  1099.          4. Press ESC to exit the manual.
  1100.  
  1101.     TIP: 
  1102.          Instead of using the internal file viewer to view the User Manual,
  1103.          you can substitute your own favorite viewer. See the  Configuring
  1104.          TBAV section later in this chapter for details.
  1105.  
  1106.     Getting Help at the DOS Prompt
  1107.  
  1108.     To get help about proper syntax when working with individual TBAV
  1109.     utilities, do one of the following:
  1110.  
  1111.  
  1112.  
  1113.  
  1114.           
  1115.  
  1116.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 16
  1117.  
  1118.  
  1119.  
  1120.          Type the name of the command followed by a question mark (?), TBSCAN
  1121.          ?, for example. Some commands (TbClean, TbDel, and TbUtil) display
  1122.          the Help screen if you type the command name only.
  1123.  
  1124.          Each command also displays the help screen if you issue the command
  1125.          with an invalid option.
  1126.  
  1127.  
  1128.     1.1.7 Configuring TBAV
  1129.  
  1130.     The choices you made when installing the TBAV utilities might need a
  1131.     little fine tuning. You might want to edit AUTOEXEC.BAT, as mentioned
  1132.     earlier, for example, or you might want to edit TBSTART.BAT file, which
  1133.     AUTOEXEC.BAT executes.
  1134.  
  1135.     Additionally, you might want to change how TBAV operates within the menu
  1136.     interface. This section explains how you can configure the TBAV utilities
  1137.     and use them the way you prefer. The following sections explain how to
  1138.     customize TBAV.
  1139.  
  1140.     NOTE: 
  1141.          After making certain changes and then initializing and rebooting
  1142.          your system, TBAV needs to be "trained" as it encounters new TSR's.
  1143.  
  1144.     NOTE: 
  1145.          Options that have a check mark beside them indicate that they are
  1146.          selected. Options may be toggled by selecting: the highlighted
  1147.          letter, clicking on them with your mouse or moving the highlight bar
  1148.          with your cursor keys and then pressing Enter.
  1149.                                    
  1150.              +-----Main menu-----+ 
  1151.              | Confi+----------TBAV configuration---------+ 
  1152.              | TbSca|v Use colors                         | 
  1153.              | TbSet|  Save configuration to TBAV.INI     | 
  1154.              | TbUti|  File view utility                  | 
  1155.              | TbCLe|v Wait after program execution       | 
  1156.              | Virus|  Show command line before executing | 
  1157.              | TBAV |v Edit path string before scanning   | 
  1158.              | Docum+-------------------------------------+ 
  1159.              | Register TBAV     | 
  1160.              | About             | 
  1161.              | Quit and save     | 
  1162.              | eXit (no save)    | 
  1163.              +-------------------+
  1164.                                  
  1165.     The  "Use Colors"  Option
  1166.  
  1167.           
  1168.  
  1169.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 17
  1170.  
  1171.  
  1172.  
  1173.     If you disable this option, that is, select it so the check mark
  1174.     disappears, TBAV appears in monochrome mode, which is convenient for use
  1175.     on laptop and notebook computers. When you select the Configure TBAV
  1176.     option from the Main Menu, the Configuration menu appears:
  1177.  
  1178.  
  1179.     The "Save Configuration to TBAV.INI" Option
  1180.  
  1181.     When you select this option, TBAV saves all configuration values set
  1182.     within the TBAV menu in the TBAV.INI file. The next time you load the
  1183.     TBAV utilities, these configuration values take effect. These values
  1184.     apply to the TBAV menu itself and the utilities TbSetup, TbScan and
  1185.     TbClean.
  1186.  
  1187.     Although you can edit the TBAV.INI file manually, we recommend that you
  1188.     allow the TBAV menu to do it. By default, the contents of the TBAV.INI
  1189.     file are valid only while using the TBAV menu shell. You can, however,
  1190.     enable the  Use TBAV.INI file  options (or specify the USEINI switches in
  1191.     the TBAV.INI file itself) for each of the TBAV utilities.  
  1192.     For example, to use the settings in TBAV.INI with TbScan, you would
  1193.     follow these steps:
  1194.  
  1195.          1. Select TbScan from the Main Menu. This displays the TbScan Menu.
  1196.  
  1197.          2. From this menu, select the Options Menu option.
  1198.  
  1199.          3. From this menu, select the Use TBAV.INI option and notice that a
  1200.          check mark appears beside it.
  1201.  
  1202.          After selecting this option, TbScan also uses the TBAV.INI when you
  1203.          run TbScan from the DOS prompt. The same is true if you select this
  1204.          option for TbSetup and TbClean.
  1205.  
  1206.     CAUTION: 
  1207.          Be careful, since command line options do NOT undo TBAV.INI
  1208.          settings. TBAV creates a TBAV.INI file when enabling this option for
  1209.          the first time. This file lists all valid configuration switches.
  1210.          Additionally, a semicolon precedes disabled switches.
  1211.  
  1212.  
  1213.     The "File View Utility" Option
  1214.  
  1215.     TbSetup and TbScan generate a data file and a log file respectively. By
  1216.     default, you can view these files, as well as the TBAV documentation
  1217.     mentioned earlier, from the TBAV menu using TBAV's internal file view
  1218.     utility.
  1219.  
  1220.           
  1221.  
  1222.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 18
  1223.  
  1224.  
  1225.  
  1226.     If you prefer, however, you can specify your own file viewing utility. To
  1227.     do this, follow these steps:
  1228.  
  1229.          1. Press F to select the File View Utility option.
  1230.  
  1231.          2. Type in the complete path and the file name, including the
  1232.          extension, of the utility you want to use (e.g.,
  1233.          C:\DIRNAME\VIEWER.EXE), and press ENTER.
  1234.  
  1235.  
  1236.     The "Wait After Program Execution" Option
  1237.  
  1238.     If you enable this option, TBAV displays the message "Press any key to
  1239.     return to the TBAV menu..." after executing an external utility.
  1240.  
  1241.  
  1242.     The "Show Command Line Before Executing" Option
  1243.  
  1244.     Enabling this option forces TBAV to display the DOS command that loads
  1245.     the external file viewing utility. This option comes in handy for
  1246.     enabling you to see the command(s) you specified before. After pressing 
  1247.     ENTER, TBAV then executes the DOS commands.
  1248.  
  1249.  
  1250.     The "Edit Path String Before Scanning" Option
  1251.  
  1252.     If you enable this option, TBAV prompts you to edit or confirm the path
  1253.     to scan after you select Start Scanning from a scan menu.
  1254.  
  1255.  
  1256.     1.2 Understanding TbSetup
  1257.  
  1258.     By way of analogy, if you think of TbScan as being the heart of TBAV, you
  1259.     can think of TbSetup as being the skeleton. TbSetup collects information
  1260.     from all software it finds on your system and places this information in
  1261.     files, one in each directory, named ANTI-VIR.DAT and uses this informati-
  1262.     on for integrity checking, program validation, and cleaning infected
  1263.     files.
  1264.  
  1265.     WARNING: 
  1266.          NEVER, NEVER, NEVER use TbSetup when there is the slightest evidence
  1267.          of a virus on your system.
  1268.  
  1269.     Since TbSetup was run during the installation program, it is not really
  1270.     necessary for you to run it again. In fact, the less you run it the
  1271.     better. The only time you should run TbSetup again is in directories with
  1272.  
  1273.           
  1274.  
  1275.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 19
  1276.  
  1277.  
  1278.  
  1279.     new or changed program files. Assume you just added a new program to your
  1280.     system, which installed into a new directory called NEWPRO. To run
  1281.     TbSetup on that new directory, you could execute one of the following
  1282.     procedures:
  1283.  
  1284.          From the TBAV Main Menu, select TbSetup, select Start TbSetup from
  1285.          the TbSetup Menu, type in C:\NEWPRO as the path to process, and then
  1286.          press ENTER. 
  1287.  
  1288.          From the DOS prompt, enter TBSETUP C:\NEWPRO and press ENTER.
  1289.  
  1290.     See the "Using TbSetup" section in Chapter 3 for more information about
  1291.     using TbSetup.
  1292.  
  1293.     WARNING: 
  1294.          NEVER, NEVER, NEVER use TbSetup when there is the slightest evidence
  1295.          of a virus on your system.
  1296.  
  1297.  
  1298.     1.3 Understanding TbDriver
  1299.  
  1300.     TbDriver is a small memory resident (TSR) program that you must load
  1301.     before loading any of the other five TBAV memory resident programs, which
  1302.     include: TbScanX, TbCheck, TbMem, TbFile, and TbDisk. Chapter 3 fully
  1303.     explains all of these programs, but to conclude our earlier analogy, if
  1304.     TbScan is the heart of TBAV, and TbSetup is the skeleton, then TbDriver
  1305.     and the other TSRs are the muscles. They simply wait in memory until
  1306.     called into action. When they detect suspicious code or other
  1307.     irregularities, they immediately inform you and take appropriate action.
  1308.  
  1309.     TBAV Install places a call to TBSTART.BAT in your AUTOEXEC.BAT file so
  1310.     that all of these TSRs, except TbDisk, load automatically when you boot.
  1311.     For maximum security, we recommend that you allow these utilities to load
  1312.     and remain in memory.
  1313.  
  1314.     TIP: 
  1315.          If you prefer, you can put the memory resident utilities listed in
  1316.          TBSTART.BAT in your CONFIG.SYS file. Remove the call to TBSTART.BAT
  1317.          from AUTOEXEC.BAT, and then use a DEVICE= command in CONFIG.SYS for
  1318.          each utility. Don't forget to use the full path and to specify the
  1319.          .EXE extension. If you are using DOS 5 or higher, you can load these
  1320.          utilities into upper memory using the
  1321.          LOADHIGH command in either TBSTART.BAT or CONFIG.SYS.
  1322.  
  1323.  
  1324.  
  1325.  
  1326.           
  1327.  
  1328.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 20
  1329.  
  1330.  
  1331.  
  1332.     1.4 Maintaining the System
  1333.  
  1334.     All systems need maintenance, and the TBAV utilities are no different.
  1335.     This section, therefore, describes how to maintain the TBAV utilities.
  1336.  
  1337.  
  1338.     1.4.1 Maintaining ANTI-VIR.DAT Files
  1339.  
  1340.     Whenever you add, update or replace programs on your system, be sure to
  1341.     use TbSetup to generate or update their fingerprints in the ANTI-VIR.DAT
  1342.     files. See the Using TbSetup section earlier in this chapter and the 
  1343.     Using TbSetup section in Chapter 3 for more information.
  1344.  
  1345.     1.4.2 Creating a New Recovery Diskette
  1346.        
  1347.     There will be times when you will want to create a new recovery diskette.
  1348.     This will be necessary, for example, when you install a new version of
  1349.     DOS because this changes the boot sector. You should also do this if you
  1350.     change the configuration of your hard disk because this can affect the
  1351.     partition tables and the CMOS setup. You should prepare a new recovery
  1352.     diskette after all system modifications. See the  Prepare a Recovery
  1353.     Diskette  section in the next chapter for more information.
  1354.  
  1355.  
  1356.     1.4.3 Getting Updates
  1357.  
  1358.     As new viruses emerge, which is almost daily, you need to replace
  1359.     TbScan's signature file (TBSCAN.SIG) periodically with a more up to date
  1360.     one. You can get the latest signature file from your local ThunderBYTE
  1361.     dealer. Subscribing to the ThunderBYTE update service at your local
  1362.     dealer is a convenient way to guarantee the delivery of each new update.
  1363.  
  1364.     You can also download the file directly from the ThunderBYTE support
  1365.     Bulletin Board Systems (BBS).
  1366.  
  1367.     To download updates, follow these steps:
  1368.  
  1369.          1. Using your telecommunications program, dial the BBS phone number.
  1370.  
  1371.          2. When the modem logs on, press the ESC twice to go to the 
  1372.          ThunderBYTE On-line Service.
  1373.  
  1374.          3. From the File Menu select Download Latest ThunderBYTE Anti-Virus
  1375.          Utilities .
  1376.  
  1377.  
  1378.  
  1379.           
  1380.  
  1381.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 21
  1382.  
  1383.  
  1384.  
  1385.          4. Select the File Transfer Protocol "zmodem" or "ymodem" from the
  1386.          Protocol Menu to select the file protocol you want to use, and then
  1387.          begin your download procedure.
  1388.  
  1389.     Additionally, you can check with a local bulletin board regularly, as
  1390.     many of them offer updated versions of our software.
  1391.  
  1392.     We issue the standard complete release in an archive named: TBAVxxx.ZIP,
  1393.     where  xxx  represents the three-digit version number. The archive
  1394.     extension might vary on local bulletin boards using a different archive
  1395.     method.
  1396.  
  1397.     The release of TBAV for Windows is archived in a file named:
  1398.     TBAVWxxx.ZIP. Again,  xxx  represents the three-digit version number of
  1399.     TBAV for Windows. The same holds for the release of TBAV for Networks; it
  1400.     is distributed in a file called TBAVNxxx.ZIP.
  1401.  
  1402.     To maintain the highest reliability, the Dutch and US ThunderBYTE support
  1403.     sites issue regular beta releases, also containing only the files that
  1404.     have changed. You can identify beta versions by a  B  in the filename,
  1405.     such as TBAVBxxx.ZIP.
  1406.  
  1407.     The resident ThunderBYTE Anti-Virus utilities are also available in
  1408.     processor optimized formats. These processor optimized versions, named
  1409.     TBAVXxxx.ZIP, are for registered users only. You can buy these versions
  1410.     through your local ThunderBYTE dealer.
  1411.  
  1412.     NOTE:
  1413.          The ThunderBYTE Anti-Virus utilities currently support several
  1414.          languages, by means of separate language files. Check your local
  1415.          ThunderBYTE dealer for the availability of the TBAV support file in
  1416.          your language.
  1417.  
  1418.  
  1419.     1.4.4 Maintaining a Network
  1420.  
  1421.     Since you should replace the signature file TBSCAN.SIG frequently, this
  1422.     can turn into much work if you have to update all workstations on a
  1423.     network manually. Fortunately, there are several possibilities to do this
  1424.     job automatically.
  1425.  
  1426.     Using the TbLoad Utility
  1427.  
  1428.     The TbLoad utility that ships with TBAV for Windows is used to
  1429.     automatically update the existing ThunderBYTE Anti-Virus software
  1430.  
  1431.  
  1432.           
  1433.  
  1434.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 22
  1435.  
  1436.  
  1437.  
  1438.     installed on your system. Please refer to the section about TbLoad in the
  1439.     TBAV for Windows documentation.
  1440.  
  1441.     Using the DOS REPLACE Command
  1442.  
  1443.     Maintain a directory \TBAV_UPD\ on a public server drive and place any
  1444.     new version of the TBAV utilities or any new signature file (TBSCAN.SIG)
  1445.     in this directory.
  1446.  
  1447.     The workstations should execute a batch file automatically after users
  1448.     login on the network. This batch file should contain the following lines:
  1449.  
  1450.             REM UPDATE TBAV IF A NEW RELEASE IS AVAILABLE.
  1451.             REPLACE X:\TBAV_UPD\*.* C:\TBAV /U /R
  1452.             REPLACE X:\TBAV_UPD\*.* C:\TBAV /A /R
  1453.  
  1454.     REPLACE is a standard DOS utility. If the /U option is specified, it
  1455.     copies the files specified by the first parameter ONLY if they are newer
  1456.     than the files specified in the second parameter. The /A option makes
  1457.     sure that REPLACE copies files that do not yet exist in the destination
  1458.     directory (specified by the second parameter). Make sure REPLACE is in
  1459.     the current path, and that the specified paths are valid for your
  1460.     configuration. The  x  in the above example represents the drive letter
  1461.     of the public server drive.
  1462.  
  1463.     Using this technique, you only have to update one drive with the new
  1464.     signature file or anti-virus software; all workstations will then update
  1465.     themselves when users login! You can also add the /S option if you want
  1466.     REPLACE to scan all directories on the workstations  drives for matching
  1467.     files. Please consult your DOS Operating System manual for more details.
  1468.  
  1469.     WARNING: 
  1470.          Don't forget to execute TbSetup on the new utilities in the
  1471.          X:\TBAV_UPD directory, thus ensuring that the REPLACE command also
  1472.          copies the new ANTI-VIR.DAT file.
  1473.  
  1474.  
  1475.     1.4.5 Using the PKUNZIP Utility
  1476.  
  1477.     Maintain a directory \TBAV_UPD\ on a public server drive and place any
  1478.     new version of the TBAV utilities or any new signature file (TBSCAN.SIG)
  1479.     in this directory.
  1480.  
  1481.     The workstations should execute a batch file automatically after users
  1482.     login on the network. This batch file should contain the following lines:
  1483.  
  1484.  
  1485.           
  1486.  
  1487.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 23
  1488.  
  1489.  
  1490.  
  1491.             REM UPDATE TBAV IF A NEW RELEASE IS AVAILABLE.
  1492.             PKUNZIP -N -O X:\TBAV_UPD\TBAV???.ZIP C:\TBAV
  1493.  
  1494.     Make sure the file PKUNZIP.EXE is in the current path, and that the paths
  1495.     specified are valid for your configuration.
  1496.  
  1497.     Following this procedure, the PKUNZIP command comes into action only when
  1498.     you just updated the ZIP files in the X:\TBAV_UPD directory. Now you only
  1499.     have to update one drive with the new anti-virus software, and all
  1500.     workstations update themselves when users login.
  1501.  
  1502.     WARNING: 
  1503.          If you did not create a Recovery Diskette during installation, we
  1504.          recommended that you do so. See the "Create a Recovery Diskette" 
  1505.          section in Chapter 2 for instructions on how to do this. The example
  1506.          setups assume you have created such a recovery diskette.
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.           
  1539.  
  1540.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 24
  1541.  
  1542.  
  1543.  
  1544.  
  1545.     2 Defining Your Anti-Virus Strategy
  1546.  
  1547.     In this chapter, you learn how to accomplish two things: how to protect
  1548.     yourself against virus infection, and how to recover from virus
  1549.     infection. We recommend you read this chapter because it contains several
  1550.     useful tips.
  1551.  
  1552.  
  1553.     2.1 Protecting Yourself Against Virus Infection
  1554.  
  1555.     Maintaining a reliable safety system implies that you actively take
  1556.     measures to protect your system from virus infection, since some viruses
  1557.     can hide themselves perfectly once resident in memory.
  1558.  
  1559.     TIP: 
  1560.          At least once a week you should boot from a clean and
  1561.          write-protected diskette and execute TbScan to check your computer
  1562.          for virus infections.
  1563.  
  1564.     The tightness of your safety system really depends on two things:
  1565.  
  1566.          1. The vitality of the appropriate computer system
  1567.  
  1568.          2. The amount of time you want to invest to let the safety measures
  1569.          take place
  1570.  
  1571.     For example, on a standalone computer containing low risk data, and in an
  1572.     environment with little exchange of computer software, a daily scan is
  1573.     usually sufficient. For company use, however, in a network environment
  1574.     where users exchange diskettes frequently, where disks contain highly
  1575.     vulnerable information, and where a network going  down  means the loss
  1576.     of an extensive amount of money, protection must be as tight as the
  1577.     organization can practically handle.
  1578.  
  1579.     With this in mind, it's impossible to define one strategy for system
  1580.     protection that will work for everybody. It all depends on your demands
  1581.     and possibilities.
  1582.  
  1583.     The TBAV utilities, however, are extremely flexible and enable you to
  1584.     define your own strategy, one that will work for your special needs.
  1585.     Although the following six basic precautions are NOT intended to be a
  1586.     complete protection system, they do provide a foundation on which you can
  1587.     build your own strategy.
  1588.  
  1589.          1. Install TBAV on your hard disk 
  1590.  
  1591.           
  1592.  
  1593.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 25
  1594.  
  1595.  
  1596.  
  1597.          You can customize the installation to suit your specific needs. Be
  1598.          sure to use TbSetup to maintain recovery information of all
  1599.          executable files of your system! Refer to the  Installing the TBAV
  1600.          Utilities  section in Chapter 1 for details.
  1601.  
  1602.          The following examples assume that all utilities reside in the
  1603.          default directory \TBAV. All example setups require that TbSetup is
  1604.          running. If your system has more hard disks or disk partitions, you
  1605.          should repeat the TbSetup invocation for every drive or partition.
  1606.  
  1607.          TIP
  1608.               Remember that you can use the ALLDRIVES and ALLNET options to
  1609.               make TbSetup process all local respectively remote
  1610.               non-removable drives.
  1611.  
  1612.          Furthermore, the example setups assume you have created a recovery
  1613.          diskette.
  1614.  
  1615.          2. Prepare a recovery diskette
  1616.  
  1617.          It is imperative to have a clean recovery diskette to recover from
  1618.          virus infection. If you didn't create a recovery diskette during the
  1619.          TBAV installation, take a few minutes to prepare one now. Later,
  1620.          when a virus infects your system, it's too late! To create a
  1621.          recovery diskette, follow these steps:
  1622.  
  1623.               1. Insert a new diskette in drive A:, and then change to the  
  1624.               DOS directory by typing CD \DOS and pressing ENTER.
  1625.  
  1626.               2. Type FORMAT A: /S, and press ENTER. The /S switch copies  
  1627.               the DOS system files to the disk so you can boot the computer
  1628.               with it.
  1629.  
  1630.               3. Type COPY SYS.COM A: and press ENTER. This copies the
  1631.               SYS.COM program, which is the program that DOS uses to copy its
  1632.               system files to a disk.
  1633.  
  1634.               4. Type CD \TBAV to return to the TBAV directory.
  1635.  
  1636.               5. Type MAKERESC A: and press ENTER to create a recovery disk
  1637.               in drive A.
  1638.  
  1639.               WARNING: 
  1640.                    If your computer has two floppy disk drives, be sure you
  1641.                    know which one is drive A and create your recovery disk
  1642.                    there. A PC never tries to boot from drive B.
  1643.  
  1644.           
  1645.  
  1646.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 26
  1647.  
  1648.  
  1649.  
  1650.               The MAKERESC.BAT procedure creates a reliable recovery diskette
  1651.               by creating or copying the following:
  1652.  
  1653.               - A backup of the boot sector, partition sector and CMOS
  1654.               configuration.
  1655.  
  1656.               - A CONFIG.SYS file, containing:
  1657.  
  1658.                    FILES=20
  1659.                    BUFFERS=20
  1660.                    DEVICE=TBDRIVER.EXE
  1661.                    DEVICE=TBCHECK.EXE FULLCRC
  1662.  
  1663.               - An AUTOEXEC.BAT file, containing:
  1664.  
  1665.                    @ECHO OFF
  1666.                    ECHO OFF
  1667.                    PATH=A:\
  1668.                    TBAV
  1669.                    CLS
  1670.                    ECHO WARNING!!!
  1671.                    ECHO IF YOU SUSPECT A VIRUS, DO NOT EXECUTE
  1672.                         ANYTHING FROM THE HARD DISK!
  1673.  
  1674.               - The following files:
  1675.  
  1676.                    TBAV.EXE
  1677.                    TBAV.LNG
  1678.                    TBSCAN.EXE
  1679.                    TBSCAN.LNG
  1680.                    TBSCAN.SIG
  1681.                    TBDRIVER.EXE
  1682.                    TBDRIVER.LNG
  1683.                    TBCHECK.EXE
  1684.                    TBCLEAN.EXE
  1685.                    TBUTIL.EXE
  1686.                    TBUTIL.LNG
  1687.  
  1688.               6. Copy to the diskette any other utilities that could come in
  1689.               handy in an emergency, such as a simple editor to edit
  1690.               CONFIG.SYS and AUTOEXEC.BAT files. If your hard disk needs
  1691.               special device drivers to unlock added features, such as
  1692.               DoubleSpace or Stacker, copy the appropriate drivers to the
  1693.               recovery diskette and install them in the CONFIG.SYS file on
  1694.               drive A:, being careful to avoid statements that access the
  1695.  
  1696.  
  1697.           
  1698.  
  1699.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 27
  1700.  
  1701.  
  1702.  
  1703.               hard disk. Be sure to check the instructions in the device
  1704.               driver's manual for the correct procedures.
  1705.  
  1706.               CAUTION: 
  1707.                    If you are using the text editor that ships with DOS 5.0
  1708.                    or later, be sure to not only copy the file EDIT.COM to
  1709.                    drive A:, but also QBASIC.EXE, which EDIT.COM uses.
  1710.  
  1711.               7. Make sure you write protect your recovery disk. Now label it
  1712.               "Recovery Disk" and include on the label the identification of
  1713.               the PC to which the diskette belongs. Store the diskette in a
  1714.               safe place.
  1715.  
  1716.               TIP: 
  1717.                    For additional security, make another recovery diskette
  1718.                    and store it in a separate location.
  1719.  
  1720.          3. Prevent the Installation of Unauthorized Software
  1721.  
  1722.          Many companies do not allow employees to install or execute
  1723.          unauthorized software. Similarly, perhaps you want to keep family
  1724.          members from invading your computer with haphazard games and sundry
  1725.          software. TBAV provides a watchdog function that can help to enforce
  1726.          this. Follow these steps:
  1727.  
  1728.               1. First you need to add the following lines to the CONFIG.SYS
  1729.               file:
  1730.  
  1731.                    DEVICE=C:\TBAV\TBDRIVER.EXE
  1732.                    DEVICE=C:\TBAV\TBCHECK.EXE SECURE
  1733.  
  1734.               Alternately, if you are using the TBSTART.BAT file, then you
  1735.               would add the following two lines to it:
  1736.  
  1737.                    C:\TBAV\TBDRIVER
  1738.                    C:\TBAV\TBCHECK SECURE
  1739.  
  1740.               2. Run TbSetup on the system by typing "TBSETUP  ALLDRIVES" and
  1741.               pressing ENTER.
  1742.  
  1743.               3. Reboot the system.
  1744.  
  1745.          From now on, TbCheck puts an effective clamp on any user who tries
  1746.          to execute software that TbSetup has not duly authorized first.
  1747.          Whenever someone is trying to execute an unknown program, TBAV
  1748.          displays the following message:
  1749.  
  1750.           
  1751.  
  1752.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 28
  1753.  
  1754.  
  1755.  
  1756.                                    
  1757.                     +-----------TBAV Interception-----------+
  1758.                     | The requested program (GAME.EXE)      |
  1759.                     | is not authorized and can not be      |
  1760.                     | executed.                             |
  1761.                     | Execution cancelled! Press any key... |
  1762.                     +---------------------------------------+
  1763.  
  1764.          4. Restrict User Access
  1765.  
  1766.          Most of the TBAV utilities are interactive; that is, they
  1767.          communicate with a knowledgeable user to establish appropriate
  1768.          action in ambiguous situations. Many companies, however, insist that
  1769.          the system operator be the sole authority allowed to communicate
  1770.          with TBAV, and so avoid wrong doing by possibly inept employees.
  1771.  
  1772.          It is for this very reason that most of the TBAV utilities support
  1773.          the SECURE option. When you specify this option, TBAV suspends all
  1774.          user interaction with the utilities. In other words, TBAV never asks
  1775.          users for permission to allow questionable operations, avoiding
  1776.          erroneous decisions that might well result in irreparable havoc.
  1777.          This option also prevents the user from disabling or unloading the
  1778.          TBAV utilities.
  1779.  
  1780.          5. Never Use "Strange" Diskettes to Boot
  1781.  
  1782.          Boot only from your hard disk or from your original DOS diskette.
  1783.          NEVER use someone else's disk to boot the computer. If you have a
  1784.          hard disk, make certain that the door to your floppy drive is open
  1785.          before resetting or booting the machine.
  1786.  
  1787.          6. Run the DOS CHKDSK Command Often Use the DOS program CHKDSK
  1788.          frequently (without the /F switch). CHKDSK can sometimes indicate
  1789.          the presence of a virus simply because some viruses change the disk
  1790.          structure incorrectly, thereby causing disk errors in the process.
  1791.          Look out for changes in the behavior of your software or your PC.
  1792.          Any change in their behavior is suspect, unless you know its cause.
  1793.          Some highly suspicious symptoms are:
  1794.  
  1795.               A decrease in the amount of available memory space.      
  1796.               CHKDSK should report 655,360 total bytes of memory.      
  1797.               Programs require more time to execute.
  1798.  
  1799.               Programs do not operate as they used to, or they cause      
  1800.               the system to crash or reboot after some time.
  1801.  
  1802.  
  1803.           
  1804.  
  1805.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 29
  1806.  
  1807.  
  1808.  
  1809.               Data mysteriously disappears or becomes damaged.
  1810.  
  1811.               The size of one or more programs has increased.
  1812.  
  1813.               The screen behaves strangely or displays unusual      
  1814.               information.
  1815.  
  1816.               CHKDSK detects many errors. 
  1817.  
  1818.          TIP:
  1819.               You can also instruct TbScan to mimic the behavior of the DOS
  1820.               command CHKDSK. Simply execute TbScan with the fatcheck  option
  1821.               enabled. For example, if you want TbScan to scan your C: and D:
  1822.               drive once a day, and to check the integrity of those disks,
  1823.               place the following command in your AUTOEXEC.BAT file: 
  1824.                                   TbScan  C:\  D:\ FATCHECK ONCE
  1825.  
  1826.  
  1827.     2.2 Recovering from Virus Infection
  1828.  
  1829.     This section presents some tips on how to clean your computer system when
  1830.     it is has been compromised by a virus.
  1831.  
  1832.          1. Backup Your Data
  1833.  
  1834.          The very first thing to do when you realize that your system might
  1835.          be infected is to back up all important files immediately. Label the
  1836.          new backup as unreliable, since some of the files might be infected.
  1837.  
  1838.          CAUTION: 
  1839.               Use fresh backup media and do not overwrite a previous backup
  1840.               set. You might need the previous set to replace lost or
  1841.               contaminated files.
  1842.  
  1843.          2. Boot From a Recovery Diskette
  1844.  
  1845.          When you become aware of a virus infection, it is imperative that
  1846.          you boot only from a reliable, write protected recovery system
  1847.          diskette.
  1848.  
  1849.          3. Know the Symptoms of a Virus
  1850.  
  1851.          Now execute TbScan for an indication of what is wrong, or boot from
  1852.          a recovery diskette and compare its system files with those on the
  1853.          hard disk to check for changes. During this test you should take
  1854.          care to stay logged onto your system diskette.
  1855.  
  1856.           
  1857.  
  1858.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 30
  1859.  
  1860.  
  1861.  
  1862.          TbScan reports the virus name if it knows the virus, or it gives a
  1863.          summary of file changes if it can't identify the virus. If you use
  1864.          the command line below, for example, TbScan processes all
  1865.          non-removable drives and prints the results of the scan process to
  1866.          the printer.
  1867.      
  1868.          TBSCAN  ALLDRIVES  LOGNAME=LPT1  LOG
  1869.  
  1870.          Also run TbUtil, to check the boot sector, partition code and the
  1871.          CMOS configuration, using the following command:
  1872.  
  1873.             TBUTIL  COMPARE
  1874.  
  1875.          WARNING: 
  1876.               To prevent a virus from invading the system's memory and
  1877.               possibly masking the test results, do not execute any program
  1878.               on your hard disk. TbCheck warns you if you accidentally try to
  1879.               execute an infected or unauthorized program on your hard disk.
  1880.  
  1881.          Remember that it is in the nature of a file virus to infect as many
  1882.          programs as possible over a short period. You ll seldom find only a
  1883.          few programs on a hard disk to be infected. A TbScan virus alert
  1884.          that flags a mere one percent of the files on a hard-worked system
  1885.          is probably just a false alarm that has nothing to do with a real
  1886.          virus.
  1887.  
  1888.          In other words, if the file compare test indicates that all of them
  1889.          are still the same, you know at least that you are not dealing with
  1890.          a file virus. Avoid using the same copy of the TbScan program on
  1891.          another system after discovering a virus. Like any other program
  1892.          file, TBSCAN.EXE itself can become infected!
  1893.  
  1894.          To check infections of the TbScan program, the program performs a
  1895.          sanity check when it runs. Unfortunately, there is no way to make
  1896.          software 100% virus-proof. A sanity check does not work if a 
  1897.          stealth-type  virus is at work. A stealth virus can hide itself
  1898.          completely when you run a self-check.
  1899.  
  1900.          In case you are wondering, this is not a bug in TbScan. The failure
  1901.          to detect stealth viruses is common to all software that performs a
  1902.          sanity check. We, therefore, recommend that you keep a clean version
  1903.          of TbScan on a write-protected diskette. Use this diskette to check
  1904.          other machines once you have found a virus on your system.
  1905.  
  1906.          4. Identify Virus Characteristics 
  1907.  
  1908.  
  1909.           
  1910.  
  1911.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 31
  1912.  
  1913.  
  1914.  
  1915.          Viruses come in many different guises and have their own
  1916.          peculiarities. It is extremely important to know at the earliest
  1917.          possible stage which particular kind of virus you are dealing with.
  1918.          This gives you at least some indication of the nature and the amount
  1919.          of the damage it might have caused already.
  1920.  
  1921.          Some viruses infect only executable files that you can easily
  1922.          reinstall or replace from a clean source. Others swap some random
  1923.          bytes anywhere on the hard disk, which could affect data files as
  1924.          well, although the results might not be noticeable for some time.
  1925.          Then there are those viruses that damage the hard disk partition
  1926.          table or file allocation table. Some of the even nastier viruses,
  1927.          the so-called  multipartite  viruses, operate in more than one area.
  1928.  
  1929.          Once you isolate the virus, either contact your support BBS, consult
  1930.          literature on virus problems, or get in touch with a virus expert.
  1931.  
  1932.          WARNING: 
  1933.               Whatever you do, DON'T PANIC! An inexperienced user, reacting
  1934.               in confusion, can often create more havoc than the virus
  1935.               itself, such as blindly eradicating important data. While an
  1936.               instant reformat might get rid of the virus, it will definitely
  1937.               destroy all your recent work as well.
  1938.  
  1939.          5.  Restore the System
  1940.  
  1941.          Again, while recovering from a virus infection, it is particularly
  1942.          important to boot only from a clean write-protected system diskette.
  1943.          This the only way to keep a virus out of the system's memory. Never
  1944.          execute a program from the hard disk.
  1945.  
  1946.          Using the SYS command on the system or recovery diskette, restore
  1947.          the master boot sector and the DOS system files to the hard disk. If
  1948.          the boot sector or partition code contains a virus, you can also use
  1949.          the following command to get rid of it by restoring clean sectors:
  1950.  
  1951.             TBUTIL  RESTORE
  1952.  
  1953.          WARNING: 
  1954.               Many modern hard disks, notably IDE or AT drives using advanced
  1955.               pre-formatting methods, are low-level formatted by the
  1956.               manufacturer, ready for partitioning and a DOS format. NEVER
  1957.               try to low-level format these drives yourself. Doing so can
  1958.               ruin the drive. It is always better to back up the partition
  1959.               table with a utility such as TbUtil, which restores the
  1960.               partition table for you without reformatting.
  1961.  
  1962.           
  1963.  
  1964.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 32
  1965.  
  1966.  
  1967.  
  1968.          If TBAV identifies the virus as a file virus, the safest course is
  1969.          to remove the infected files (using TbDel) and to copy or reinstall
  1970.          all executables from a CLEAN source. A virus cleaning utility, such
  1971.          as TbClean, won't always be able to fully restore the original
  1972.          program code, so use this only as a last resort, such as when you
  1973.          don't have a reliable backup. It might be necessary to replace data
  1974.          files as well if the virus is known to cause damage in that area.
  1975.  
  1976.          CAUTION: 
  1977.               After reassuring yourself that the system is absolutely clean
  1978.               again, run a careful check on all diskettes and backups to
  1979.               remove every single trace of the virus. Keep in mind that it
  1980.               takes only one infected diskette to reacquire the problem.
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.           
  2016.  
  2017.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 33
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.     3 Using the TBAV utilities
  2024.  
  2025.     This chapter fully describes each of the TBAV utilities. For quick
  2026.     reference, we will present each utility using at least three sections:
  2027.     Understanding the utility, Working with the utility, and Maximizing the
  2028.     utility. Most discussions also include a fourth section: Understanding
  2029.     the utility's operating process.
  2030.  
  2031.  
  2032.     3.1 Using TbSetup
  2033.  
  2034.     Even though TbSetup does not take an active part in actual virus
  2035.     detection or cleaning, it is nonetheless an indispensable tool in adding
  2036.     support to the rest of the ThunderBYTE Anti-Virus utilities. TbSetup
  2037.     organizes control and recovery information, thereby giving extra power to
  2038.     the other utilities. It gathers information, mainly from program files,
  2039.     into a single ANTI-VIR.DAT reference file, one in each directory.
  2040.  
  2041.     NOTE: 
  2042.          See the "Understanding ANTI-VIR.DAT Files" section at the end of
  2043.          this chapter for a fuller explanation of these files.
  2044.  
  2045.  
  2046.     3.1.1 Understanding TbSetup
  2047.  
  2048.     Although the ThunderBYTE utilities can work perfectly well without the
  2049.     ANTI-VIR.DAT files, we recommend that you have TbSetup generate these
  2050.     files. TBAV uses these files for several purposes:
  2051.  
  2052.          TbScan and the memory resident TbCheck program perform an integrity
  2053.          check while scanning if it can detect the ANTI-VIR.DAT file. If a
  2054.          file becomes infected by a virus, the information in the
  2055.          ANTI-VIR.DAT file will not match the actual file contents, and
  2056.          TbScan and TbCheck will inform you that the file has been changed.
  2057.  
  2058.          The TbSetup program recognizes some files that need special
  2059.          treatment. An example of such a file is a disk image file of a
  2060.          network remote boot disk. You should completely scan such a file,
  2061.          which actually represents a complete disk. TbSetup puts a mark in
  2062.          the ANTI-VIR.DAT file to ensure that TbScan scans the entire file
  2063.          for all viruses.
  2064.  
  2065.          Once a file becomes infected, TbClean can reconstruct the original
  2066.          file. The information in the ANTI-VIR.DAT file will be of great help
  2067.  
  2068.           
  2069.  
  2070.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 34
  2071.  
  2072.  
  2073.  
  2074.          to TbClean. TbClean can cure some infected programs only if there is
  2075.          information about the program in the ANTI-VIR.DAT file.
  2076.  
  2077.          TbCheck (a tiny resident integrity checker) has no purpose if there
  2078.          are no ANTI-VIR.DAT files on your system. The resident TBAV
  2079.          utilities need the ANTI-VIR.DAT files to maintain permission
  2080.          information. Without ANTI-VIR.DAT files you can't prevent false
  2081.          alarms other than by disabling a complete feature.
  2082.  
  2083.     NOTE: 
  2084.          Be aware that the ANTI-VIR.DAT directory entries have by default the
  2085.          attribute  hidden  and therefore do not show up when you use
  2086.          standard directory commands. You can see the filenames only with the
  2087.          help of special utilities or with the DOS 6 command DIR  AH.
  2088.  
  2089.  
  2090.     3.1.2 Working with the TbSetup Menu
  2091.  
  2092.     This is the one program where the rule applies: The less you use the
  2093.     program, the better your protection against viruses! Why? Keep in mind
  2094.     that an ANTI-VIR.DAT file stores vital information needed to detect a
  2095.     virus, as well as data for subsequent recovery and for cleaning.
  2096.     Consider, then, what would happen if you were to execute TbSetup after a
  2097.     virus entered the system. The information in the ANTI-VIR.DAT file would
  2098.     be  updated  to the state of the infected file, wiping out all traces of
  2099.     data needed to reconstruct the original file to its uninfected state.
  2100.  
  2101.     WARNING: 
  2102.          NEVER, NEVER, NEVER, use TbSetup when there is the slightest
  2103.          evidence of a virus on your system. Once TbSetup generates
  2104.          ANTI-VIR.DAT files as part of the initial setup, you should confine
  2105.          any subsequent use of TbSetup to directories with new or changed
  2106.          program files.
  2107.  
  2108.     Now we will explore these menu options.
  2109.  
  2110.     Selecting the "TbSetup" option from the Main Menu displays the following
  2111.     menu:
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.           
  2122.  
  2123.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 35
  2124.  
  2125.  
  2126.  
  2127.              +-----Main menu------+         
  2128.              | Confi+-----TbSetup menu------+
  2129.              | TbSca|  Start TbSetup        |
  2130.              | TbSet|  Options menu        >|
  2131.              | TbUti|  Flags menu          >|        
  2132.              | TbCLe|  Data file path/name  |        
  2133.              | Virus|  View data file       |        
  2134.              | TBAV +-----------------------+        
  2135.              | Documentation     >|                  
  2136.              | Register TBAV      |                  
  2137.              | About              |                  
  2138.              | eXit (no save)     |                  
  2139.              | Quit and save      |                  
  2140.              +--------------------+                  
  2141.                                                      
  2142.     The "Start TbSetup" Option                       
  2143.                                                      
  2144.     Select this option only after you complete your selection of other
  2145.     options on this menu and other sub-menus. When you select this option,
  2146.     the "Enter disk / path / file(s) to process:" window appears. Type in the
  2147.     drive and directory you want to setup and press ENTER.
  2148.                                                      
  2149.                                                      
  2150.     The "Options Menu" Option                        
  2151.                                                      
  2152.     Selecting this option displays the following menu:
  2153.                                                      
  2154.              +-----Main menu------+                  
  2155.              | Confi+-----TbSetup menu------+                     
  2156.              | TbSca|  Start+-----------TbSetup options----------+ 
  2157.              | TbSet|  Optio|  Use TBAV.INI file                 | 
  2158.              | TbUti|  Flags|  Prompt for pause                  | 
  2159.              | TbCLe|  Data |  Only new files                    | 
  2160.              | Virus|  View |  Remove Anti-Vir.Dat files         | 
  2161.              | TBAV +-------|  Test mode (Don't change anything) | 
  2162.              | Documentation|v Hide Anti-Vir.Dat files           | 
  2163.              | Register TBAV|  Make executables readonly         | 
  2164.              | About        |  Clear readonly attributes         | 
  2165.              | Quit and save|v Sub-Directory scan                | 
  2166.              | eXit (no save+------------------------------------+ 
  2167.              +--------------------+                  
  2168.                                                      
  2169.          Use TBAV.INI file.                          
  2170.                                                      
  2171.  
  2172.  
  2173.  
  2174.           
  2175.  
  2176.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 36
  2177.  
  2178.  
  2179.  
  2180.          By enabling this option, the TbSetup configuration values, saved in
  2181.          the TBAV.INI file, will also apply when loading TbSetup from the
  2182.          command line.                           
  2183.                                                      
  2184.          CAUTION:                                    
  2185.               If you specify options in the TBAV.INI file, you cannot undo
  2186.               them on the command line.              
  2187.                                                      
  2188.                                                      
  2189.          Prompt for pause.                           
  2190.                                                      
  2191.          When you specify this option, TbSetup stops after it processes the
  2192.          contents of one window. This enables you to examine the results.     
  2193.                                        
  2194.                                                      
  2195.                                                      
  2196.          Only new files.                             
  2197.                                                      
  2198.          Use this option if you want to add new files to the ANTI-VIR.DAT
  2199.          database but prevent the information of changed files from being
  2200.          updated. Updating the information of changed files is dangerous
  2201.          because if the files are infected, the information to detect and
  2202.          cure the virus is overwritten. This option prevents the information
  2203.          from being overwritten but still allows adding information of new
  2204.          files to the database.   
  2205.                                                      
  2206.                                                      
  2207.          Remove ANTI-VIR.DAT files.                  
  2208.                                                      
  2209.          If you want to stop using the ThunderBYTE utilities you do not have
  2210.          to remove all the ANTI-VIR.DAT files yourself. By using this option
  2211.          TbSetup neatly removes all ANTI-VIR.DAT files from your system.      
  2212.                                        
  2213.                                                      
  2214.                                                      
  2215.          Test mode (Don't change anything).          
  2216.                                                      
  2217.          Use this option if you want to see the effects of an option without
  2218.          the risk of activating something you don't want to activate. This
  2219.          option instructs the program to behave as it normally would but not
  2220.          change or update anything on your hard disk.                         
  2221.                       
  2222.                                                      
  2223.  
  2224.                                                      
  2225.          Hide ANTI-VIR.DAT files.                    
  2226.  
  2227.           
  2228.  
  2229.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 37
  2230.  
  2231.  
  2232.  
  2233.                                                      
  2234.          The ANTI-VIR.DAT files are normally not visible in a directory
  2235.          listing. If you prefer them to be visible, disable this option.
  2236.                                                      
  2237.          NOTE:                                       
  2238.               Be aware that this option applies only for new ANTI-VIR.DAT
  2239.               files                                  
  2240.                                                      
  2241.                                                      
  2242.          Make executables read-only.                 
  2243.                                                      
  2244.          Since TbFile permanently guards the read-only attribute, we
  2245.          recommend that you make all executable files read-only to prevent
  2246.          any modifications on these files. TbSetup automatically does this
  2247.          job for you if you enable this option. TbSetup recognizes files that
  2248.          you should not make read-only.         
  2249.                                                      
  2250.          Clear read-only attributes.                 
  2251.                                                      
  2252.          Use this option to reverse the "Make executables read-only"
  2253.          operation. If you enable this option, TBAV clears all read-only
  2254.          attributes on all executable files.         
  2255.                                                      
  2256.                                                      
  2257.          Sub-Directory scan.                         
  2258.                                                      
  2259.          By default, TbSetup searches sub-directories for executable files,
  2260.          unless you specify a filename (wildcards allowed). If you disable
  2261.          this option, TbSetup will not process sub-directories.
  2262.                                                      
  2263.                                                      
  2264.     The "Flags Menu" Option                          
  2265.                                                      
  2266.     Selecting this option displays the following menu:
  2267.                                                      
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.           
  2281.  
  2282.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 38
  2283.  
  2284.  
  2285.  
  2286.              +-----Main menu------+                  
  2287.              | Confi+-----TbSetup menu------+          
  2288.              | TbSca|  Start+-----TbSetup flags------+
  2289.              | TbSet|  Optio|v Use normal flags      |
  2290.              | TbUti|  Flags|  Set flags manually    |
  2291.              | TbCLe|  Data |  Reset flags manually  |
  2292.              | Virus|  View |  Define flags         >|
  2293.              | TBAV +-------+------------------------+  
  2294.              | Documentation     >|         
  2295.              | Register TBAV      |         
  2296.              | About              |         
  2297.              | Quit and save      |         
  2298.              | eXit (no save)     |         
  2299.              +--------------------+         
  2300.                                             
  2301.     NOTE:                                   
  2302.          "Flags" refer to internal indicators, created by ThunderBYTE to
  2303.          signal internal file attributes.   
  2304.                                             
  2305.     This menu contains the following options:
  2306.                                             
  2307.          Use normal flags.                  
  2308.                                             
  2309.          This is the default setting for TbSetup.
  2310.                                             
  2311.                                             
  2312.          Set flags manually.                
  2313.                                             
  2314.          This option is for advanced users only. Using this option, you can
  2315.          manually set permission flags in the ANTI-VIR.DAT record. This
  2316.          option requires a hexadecimal bit mask for the flags to set; you can
  2317.          specify this bit mask by selecting one of more of the items listed
  2318.          in the "Define flags" sub-menu, which appears below.
  2319.                                             
  2320.                                             
  2321.          Reset flags manually.              
  2322.                                             
  2323.          This option is for advanced users only. Using this option, you can
  2324.          manually reset permission flags or prevent flags from being set in
  2325.          the ANTI-VIR.DAT record. This option requires a hexadecimal bit mask
  2326.          for the flags to reset; you can specify this bit mask by selecting
  2327.          one or more of the items listed in the  "Define flags"  sub-menu,
  2328.          which appears below.
  2329.                                             
  2330.                                             
  2331.          Define flags.                      
  2332.  
  2333.           
  2334.  
  2335.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 39
  2336.  
  2337.  
  2338.  
  2339.                                             
  2340.          Selecting this option displays the changed following menu:
  2341.                                             
  2342.              +-----Main menu------+          
  2343.              | Confi+-----TbSetup menu------+
  2344.              | TbSca|  Start+-----TbSetup flags------+
  2345.              | TbSet|  Optio|v Use n+--Define flags to be--------+
  2346.              | TbUti|  Flags|  Set f|  0001: Heuristic analysis  |
  2347.              | TbCLe|  Data |  Reset|  0002: Checksum changes    |
  2348.              | Virus|  View |  Defin|  0004: Disk image File     |
  2349.              | TBAV +-------+-------|  0008: Read only sensitive |
  2350.              | Documentation     >| |  0010: TSR program         |
  2351.              | Register TBAV      | |  0020: Direct disk access  |
  2352.              | About              | |  0040: Attribute modifier  |
  2353.              | Quit and save      | |  8000: Interrupt rehook    |
  2354.              | eXit (no save)     | +----------------------------+
  2355.              +--------------------+         
  2356.  
  2357.          Selecting one or more of these options accomplishes the following:
  2358.  
  2359.          0001: Heuristic analysis.  
  2360.  
  2361.          Programs with the 0001 flag will not be heuristically scanned.
  2362.  
  2363.  
  2364.          0002: Checksum changes.  
  2365.  
  2366.          Programs with the 0002 flag will not be checked for file changes.
  2367.  
  2368.  
  2369.          0004: Disk image File.  
  2370.  
  2371.          Files with this flag contain a disk layout and are checked
  2372.          completely.
  2373.  
  2374.  
  2375.          0008: Read only sensitive.  
  2376.  
  2377.          Files with this flag cannot be changed to read-only.
  2378.  
  2379.  
  2380.          0010: TSR program.  
  2381.  
  2382.          Programs with this flag have permission to stay resident in memory.
  2383.  
  2384.  
  2385.  
  2386.           
  2387.  
  2388.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 40
  2389.  
  2390.  
  2391.  
  2392.          0020: Direct disk access.  
  2393.  
  2394.          Programs with this flag have permission to write directly to the
  2395.          disk.
  2396.  
  2397.  
  2398.          0040: Attribute modifier.  
  2399.  
  2400.          Programs with this flag have permission to change program
  2401.          attributes.
  2402.  
  2403.  
  2404.          8000: Interrupt rehook.  
  2405.  
  2406.          After a program with this flag starts, TbDriver should rehook
  2407.          interrupts.
  2408.  
  2409.  
  2410.     The "Data File Path Name" Option
  2411.  
  2412.     TbSetup searches for "special" files by using a file named TBSETUP.DAT.
  2413.     You can use this option to specify another path or filename that contains
  2414.     a list of  special  files. Select the option, and then enter the name
  2415.     (and path if necessary) of the data file you want to use.
  2416.  
  2417.  
  2418.     The "View Data File" Option
  2419.  
  2420.     Selecting this option displays the TBSETUP.DAT file on the screen for
  2421.     your viewing. Use the cursor movement keys to move through the file.
  2422.  
  2423.     TIP:
  2424.          Instead of using the internal file viewer to view the User Manual,
  2425.          you can substitute your own favorite viewer. See the  "Configuring
  2426.          TBAV" section in Chapter 1 for details..
  2427.  
  2428.  
  2429.     3.1.3 Maximizing TbSetup
  2430.  
  2431.     Now that you know how to use TbScan's menus, you can more easily
  2432.     understand how to maximize its performance by using command line options.
  2433.     The following table summarizes these options:
  2434.           
  2435.  
  2436.  
  2437.  
  2438.  
  2439.           
  2440.  
  2441.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 41
  2442.  
  2443.  
  2444.  
  2445.          option parameter   short explanation
  2446.          ------------------ ----- ----------------------------------------
  2447.          help                he   help
  2448.          pause               pa   enable "Pause" prompt
  2449.          mono                mo   force monochrome output
  2450.          nosub               ns   skip sub-directories
  2451.          newonly             no   do not update changed records
  2452.          alldrives           ad   process all local fixed drives
  2453.          allnet              an   process all network drives
  2454.          remove              rm   remove ANTI-VIR.DAT files
  2455.          test                te   do not create / change anything
  2456.          nohidden            nh   do not make ANTI-VIR.DAT files hidden
  2457.          readonly            ro   set read-only attribute on executables
  2458.          nordonly            nr   remove / do not set read-only attribute
  2459.          set=<flags>         se   set flags
  2460.          reset=<flags>       re   reset flags / do not set flags
  2461.          datfile=<filename>  df   specify the data file to be used
  2462.  
  2463.     The explanations in the above table serve as a quick reference, but the
  2464.     following descriptions provide more information about each option.
  2465.  
  2466.  
  2467.          help (he). 
  2468.  
  2469.          Specifying this option displays a short list of available options,
  2470.          as listed above.
  2471.  
  2472.  
  2473.          pause (pa). 
  2474.  
  2475.          Specifying this option stops after processing the contents of one
  2476.          window. This enables you to examine the results.
  2477.  
  2478.  
  2479.          mono (mo). 
  2480.  
  2481.          This option enhances the screen output on some LCD screens or
  2482.          color-emulating monochrome systems.
  2483.  
  2484.  
  2485.          nosub (ns). 
  2486.  
  2487.          By default, TbSetup searches sub-directories for executable files,
  2488.          unless you specify a filename (wildcards allowed). If you specify
  2489.          this option, TbSetup will not process sub-directories.
  2490.  
  2491.  
  2492.           
  2493.  
  2494.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 42
  2495.  
  2496.  
  2497.  
  2498.          newonly (no). 
  2499.  
  2500.          Use this option if you want to add new files to the ANTI-VIR.DAT
  2501.          database but prevent the information of changed files from being
  2502.          updated. Updating the information of changed files is dangerous
  2503.          because if the files become infected, the information to detect and
  2504.          cure the virus is overwritten. This option prevents the information
  2505.          from being overwritten but still allows adding information of new
  2506.          files to the database.
  2507.  
  2508.  
  2509.          alldrives (ad).   
  2510.  
  2511.          If you want TbSetup to process all local non-removable drives you
  2512.          can specify this option. Except for the initial execution, it isn't
  2513.          a good idea to use this option.
  2514.  
  2515.  
  2516.          allnet (an). 
  2517.  
  2518.          Specify this option if you want TbSetup to process all network
  2519.          drives.
  2520.  
  2521.          WARNING: 
  2522.               Except for the initial execution of the TBAV utilities, it
  2523.               isn't a good idea to use the "allnet" option
  2524.  
  2525.          remove (rm). 
  2526.  
  2527.          If you want to stop using the ThunderBYTE utilities, you do not have
  2528.          to remove all the ANTI-VIR.DAT files manually. By using this option,
  2529.          TbSetup neatly removes all ANTI-VIR.DAT files from your system.
  2530.  
  2531.  
  2532.          test (te). 
  2533.  
  2534.          Use this option if you want to see the effects of an option without
  2535.          the risk of activating something you don't want to activate. If you
  2536.          specify this option, the program behaves as it would normally but
  2537.          does not change or update anything on your hard disk.
  2538.  
  2539.  
  2540.          nohidden (nh). 
  2541.  
  2542.  
  2543.  
  2544.  
  2545.           
  2546.  
  2547.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 43
  2548.  
  2549.  
  2550.  
  2551.          The ANTI-VIR.DAT files are normally not visible in a directory
  2552.          listing. If you prefer the ANTI-VIR.DAT files to be visible, use
  2553.          this option.
  2554.  
  2555.          NOTE: 
  2556.               Be aware that the "nohidden" option applies only for new
  2557.               ANTI-VIR.DAT files
  2558.  
  2559.  
  2560.          readonly (ro). 
  2561.  
  2562.          Since, TbFile permanently guards the read-only attribute, we
  2563.          recommend that you make all executable files read-only to prevent
  2564.          any modifications on these files. TbSetup automatically does this
  2565.          job for you if you use this option. TbSetup recognizes files that
  2566.          you should not make read-only.
  2567.  
  2568.  
  2569.          nordonly (nr). 
  2570.  
  2571.          This option reverses the operation of READONLY option. If you use
  2572.          this option, TbSetup clears the read-only attribute from all
  2573.          executable files.
  2574.  
  2575.  
  2576.          set (se). 
  2577.  
  2578.          This option is for advanced users only. Using this option you can
  2579.          manually set permission flags in the ANTI-VIR.DAT record. This
  2580.          option requires a hexadecimal bit mask for the flags to set. For
  2581.          information about the bit mask consult the TBSETUP.DAT file. Option
  2582.          format: Set =<flags>; for example: Set = 0001.
  2583.  
  2584.  
  2585.          reset (re). 
  2586.  
  2587.          This option is for advanced users only. With this option you can
  2588.          manually reset permission flags or prevent flags from being set in
  2589.          the ANTI-VIR.DAT record. This option requires a hexadecimal bit mask
  2590.          for the flags to reset.  For information about the bit mask consult
  2591.          the TBSETUP.DAT file. Option format: Reset =<flags>; for example:
  2592.          Reset = 0001.
  2593.  
  2594.  
  2595.          datfile (df). 
  2596.  
  2597.  
  2598.           
  2599.  
  2600.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 44
  2601.  
  2602.  
  2603.  
  2604.          After the datfile option you can specify the name of the data file
  2605.          to use.
  2606.  
  2607.     For the initial installation of TBAV, you could use the following
  2608.     command:
  2609.  
  2610.             TBSETUP ALLDRIVES
  2611.  
  2612.     Using the following command, you could specify which drives (C: and D:,
  2613.     for example) you want TbSetup to process:
  2614.  
  2615.             TBSETUP C:\ D:\
  2616.  
  2617.     Since you did not specify a filename in the above command, TbSetup
  2618.     assumes that the specified path to be the top-level path. In other words,
  2619.     TbSetup processes all its sub-directories. If you do specify a filename,
  2620.     TbSetup processes only that path, not any subdirectories. You can use
  2621.     wildcards (the asterisk [*] or the question mark [?]) in the filename.
  2622.  
  2623.     You can use the NEWONLY option to prevent TbSetup from overwriting
  2624.     existing information. To help you remember that you need to run TbSetup
  2625.     again, the next time you run TbScan it displays either a small  'c' 
  2626.     after the file to indicate a new file or a capital 'C' if a file has
  2627.     simply been changed.
  2628.  
  2629.     If you add a new file called TEST.EXE to your directory C:\TESTING, you
  2630.     should execute the following command:
  2631.  
  2632.             TBSETUP C:\TESTING\TEST.EXE
  2633.  
  2634.     If you install a new product in a new directory, C:\NEW, you should use
  2635.     the following command:
  2636.  
  2637.             TBSETUP C:\NEW
  2638.  
  2639.  
  2640.     3.1.4 Understanding TbSetup's Operation
  2641.  
  2642.     TbSetup divides the screen into three windows: an information window
  2643.     displaying data file comments across the top of the screen, a scanning
  2644.     window on the left, and a status window on the right. 
  2645.      
  2646.     The lower left window lists the names of the files being processed, along
  2647.     with file specific information in the following way:
  2648.  
  2649.  
  2650.  
  2651.           
  2652.  
  2653.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 45
  2654.  
  2655.  
  2656.  
  2657.          TEST.EXE 01234  12AB23CD   Added    * 0001 
  2658.          |        |      |          |        | | 
  2659.          |        |      |          |        | | 
  2660.          |        |      |          |        | 'flags' set for this file 
  2661.          |        |      |          |        indicates 'special' file 
  2662.          |        |      |          action performed 
  2663.          |        |      32-bit CRC (checksum) 
  2664.          |        file size in hexadecimal number 
  2665.          name of file in process 
  2666.  
  2667.     Do not be concerned if the information flies too fast for you to read, or
  2668.     if it puzzles you. These details are provided purely for diagnostic use.
  2669.  
  2670.     The scanning window also displays an  action performed  field, which
  2671.     indicates whether an entry in the ANTI-VIR.DAT was added, changed or
  2672.     updated:
  2673.  
  2674.          Added.  
  2675.  
  2676.          Means that there was no previous entry for this file in the
  2677.          ANTI-VIR.DAT record and that a new entry was added.
  2678.  
  2679.  
  2680.          Changed.  
  2681.  
  2682.          Means that there was an existing entry but the file has been changed
  2683.          and ANTI-VIR.DAT information was updated.
  2684.  
  2685.  
  2686.          Updated.  
  2687.  
  2688.          Means that there was an ANTI-VIR.DAT record and the file was found
  2689.          to be unchanged. TbSetup did, however, change some of the program's
  2690.          permission flags, due to either an entry in the TBSETUP.DAT file or
  2691.          in compliance with a SET or RESET option.
  2692.  
  2693.  
  2694.     TIP: 
  2695.          You can abort TbSetup at any time by pressing Ctrl+Break.
  2696.  
  2697.  
  2698.     3.1.5 Understanding TBSETUP.DAT Files
  2699.  
  2700.     Although the ThunderBYTE utilities perform well on almost every file
  2701.     without extra help, there are some files that need special attention.
  2702.     TbSetup uses information collected in the TBSETUP.DAT data file, to flag
  2703.  
  2704.           
  2705.  
  2706.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 46
  2707.  
  2708.  
  2709.  
  2710.     these special files in the ANTI-VIR.DAT file. The other ThunderBYTE
  2711.     utilities then use this information to determine how they should treat
  2712.     such a "special" file.
  2713.  
  2714.          Some programs maintain configuration information inside the
  2715.          executable file (EXE, COM) itself. Whenever you change the
  2716.          configuration of these programs, the executable file changes as
  2717.          well, along with its checksum. As a result, the new checksum no
  2718.          longer matches the one stored in the TBSETUP.DAT file. Since some
  2719.          TBAV utilities use this checksum information to verify integrity or
  2720.          cleanup results, they need to know when a file's checksum is allowed
  2721.          to change. TbScan can use generic detection methods such as
  2722.          "heuristic" analysis to detect unknown viruses. Since heuristic
  2723.          analysis implies inevitable false alarms when a file looks like a
  2724.          virus, TbScan might have to decide not to do a heuristic analysis on
  2725.          such a program.
  2726.  
  2727.          Some of the TBAV utilities guard the read-only attribute and ensure
  2728.          that it can be removed only with the user's explicit permission. A
  2729.          few programs, however, refuse to run properly with the read-only
  2730.          attribute set.
  2731.  
  2732.          TbScan's default scanning method performs perfectly well with just
  2733.          about any file, but there are some that need special analysis. Such
  2734.          a file is the Novell NET$DOS.SYS file, which is not a device driver
  2735.          as the filename extension suggests, but a disk image of the bootable
  2736.          disk. You should, therefore, scan it completely for all signatures,
  2737.          including COM and BOOT. The resident monitoring utilities of the
  2738.          TBAV package detect all sorts of virus-specific behavior. Some
  2739.          programs, even though they might act like a virus, are still
  2740.          perfectly normal and should be permitted to execute without TBAV
  2741.          interference.
  2742.  
  2743.     You need not worry if you discover that a few files will be excluded from
  2744.     heuristic analysis. TBAV still scans these files in the conventional way
  2745.     for signatures. Furthermore, TBAV will not grant heuristic exclusion
  2746.     unless a file exactly matches its entry in the TBSETUP.DAT file,
  2747.     including its name, size, and 32-bit CRC checksum.
  2748.  
  2749.     This safety feature eliminates security holes effectively, since if a
  2750.     listed file is already infected, its checksum won't match the 32-bit CRC
  2751.     in the TBSETUP.DAT file and the exclusion does not apply. By the same
  2752.     token, if a program becomes infected at a later date, the result is a
  2753.     change in at least one of its characteristics, so the record in the
  2754.     ANTI-VIR.DAT file no longer matches and the file will be subject to full
  2755.     heuristic analysis like any other.
  2756.  
  2757.           
  2758.  
  2759.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 47
  2760.  
  2761.  
  2762.  
  2763.  
  2764.     3.2 Using TbScan
  2765.  
  2766.     TbScan is the program you will most likely use the most detect virus
  2767.     infections.
  2768.  
  2769.  
  2770.     3.2.1 Understanding TbScan
  2771.  
  2772.     TbScan is a scanner which has been specifically designed to detect
  2773.     viruses, Trojan Horses and other such threats to your valuable data. Most
  2774.     viruses consist of a unique sequence of instructions, called a 
  2775.     signature.  By checking for the appearance of such signatures in a file
  2776.     we can find out whether a program has been infected. Scanning all program
  2777.     files for the signatures of all known viruses helps you to find out
  2778.     quickly whether your system has been infected and, if so, by which virus.
  2779.  
  2780.     Understanding TbScan involves understanding three main features of the
  2781.     program.
  2782.  
  2783.  
  2784.          Fast Scanning
  2785.  
  2786.          TbScan is the fastest scanner on the market today. It, therefore,
  2787.          invites you to use it from within your AUTOEXEC.BAT file every
  2788.          morning. Thanks to its design, TbScan does not slow down if the
  2789.          number of signatures increases. It doesn't matter whether you scan a
  2790.          file for 10 or a 1000 signatures.
  2791.  
  2792.          TbScan even checks itself upon launching. If it detects infection,
  2793.          it aborts and displays an error. This minimizes the risk of the
  2794.          TbScan program itself transferring a virus to your system.
  2795.  
  2796.          Heuristic Scanning
  2797.  
  2798.          TbScan can detect unknown viruses. The built-in disassembler is able
  2799.          to detect suspicious instruction sequences and abnormal program
  2800.          layouts. This feature is called "heuristic scanning" and is
  2801.          partially enabled by default. TBAV performs heuristic scanning on
  2802.          files and boot sectors.
  2803.  
  2804.          NOTE. 
  2805.               Virus scanners can only tell you whether your system has been
  2806.               infected. By that time only a non-infected backup or a recovery
  2807.               program such as TbClean can properly counter a virus infection.
  2808.  
  2809.  
  2810.           
  2811.  
  2812.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 48
  2813.  
  2814.  
  2815.  
  2816.          Scan Scheduling
  2817.  
  2818.          Every PC owner should use a virus scanner frequently. It is the
  2819.          least one should do to avoid damage caused by a virus. We recommend
  2820.          that you devise your own schedule for a regular scan of your system.
  2821.          See Chapter 2 for details.
  2822.  
  2823.          We recommend the following scan sessions, to be used in combination
  2824.          with each other:
  2825.  
  2826.               Execute TbScan from write-protected bootable diskette once a
  2827.               week. Boot from this diskette before invoking the scanner.
  2828.               Booting from a clean diskette is the only way to make sure that
  2829.               no stealth virus can become resident in memory.
  2830.  
  2831.               Invoke a daily scan. You can invoke TbScan with the ONCE option
  2832.               from within the AUTOEXEC.BAT file to perform the daily scan
  2833.               session automatically, which is the default if you used the
  2834.               standard installation procedure for TBAV (see Chapter 1). It is
  2835.               not necessary to boot from the bootable TbScan diskette to
  2836.               perform the daily scan.
  2837.  
  2838.               Scan each new diskette. You should scan EVERY diskette you
  2839.               receive from a friend or acquaintance for viruses to ensure
  2840.               that a virus hasn't been included along with a copy of "a great
  2841.               game!" 
  2842.  
  2843.  
  2844.     3.2.2 Working with the TbScan Menus
  2845.  
  2846.     For daily use you can activate TbScan by loading the program from the DOS
  2847.     command line (e.g., in the AUTOEXEC.BAT file), or through the TBAV menu.
  2848.     For weekly use, when scanning from the TbScan diskette, you could use the
  2849.     DOS command. The Maximizing TbScan  section of this chapter lists the
  2850.     TbScan DOS options. This section describes the use of the TbScan Menu,
  2851.     which is part of the TBAV menu. Taking each menu item in order, we ll
  2852.     explore the function of each.
  2853.  
  2854.     Selecting the "TbScan" option from the TBAV menu displays the following
  2855.     menu:
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.           
  2864.  
  2865.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 49
  2866.  
  2867.  
  2868.  
  2869.              +-----Main menu-----+ 
  2870.              | Confi+----TbScan menu-----+
  2871.              | TbSca|  Start scanning    |
  2872.              | TbSet|  Options menu     >|
  2873.              | TbUti|  Advanced options >|
  2874.              | TbCLe|  If virus found   >|
  2875.              | Virus|  Log file menu    >|
  2876.              | TBAV |  View log file     |
  2877.              | Docum+--------------------+
  2878.              | Register TBAV     |       
  2879.              | About             |       
  2880.              | Quit and save     |       
  2881.              | eXit (no save)    |       
  2882.              +-------------------+       
  2883.  
  2884.  
  2885.     The "Start Scanning" Option
  2886.  
  2887.     Selecting the "Start Scanning" option from the TbScan Menu displays one
  2888.     of the following "Path Menu" configurations:
  2889.  
  2890.              +-----Main menu-----+       
  2891.              | Confi+----TbScan menu-----+             
  2892.              | TbSca|  Sta+---------Path menu---------+ 
  2893.              | TbSet|  Opt|  Specified files/paths    | 
  2894.              | TbUti|  Adv|  Current directory        | 
  2895.              | TbCLe|  If |  Diskette in drive A:     | 
  2896.              | Virus|  Log|  Diskette in drive B:     | 
  2897.              | TBAV |  Vie|  All fixed Drives         | 
  2898.              | Docum+-----|  All fixed Local drives   | 
  2899.              | Register TB|  All fixed Network drives | 
  2900.              | About      +---------------------------+ 
  2901.              | Quit and save     | 
  2902.              | eXit (no save)    | 
  2903.              +-------------------+  
  2904.                                     
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.           
  2917.  
  2918.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 50
  2919.  
  2920.  
  2921.  
  2922.              +-----Main menu-----+       
  2923.              | Confi+----TbScan menu-----+             
  2924.              | TbSca|  Sta+---------Path menu---------+ 
  2925.              | TbSet|  Opt|  Specified files/paths    | 
  2926.              | TbUti|  Adv|  Current directory        | 
  2927.              | TbCLe|  If |  CD-ROM                   | 
  2928.              | Virus|  Log|  Drive_a                  | 
  2929.              | TBAV |  Vie|  Fullscan                 | 
  2930.              | Docum+-----|  Local                    | 
  2931.              | Register TB+---------------------------+ 
  2932.              | About             |       
  2933.              | Quit and save     |       
  2934.              | eXit (no save)    |       
  2935.              +-------------------+       
  2936.                                          
  2937.     The first menu configuration includes scan targets such as CD-ROM,  
  2938.     Drive_a, etc. Primarily, TBAV for Windows uses these scan targets, but
  2939.     TbScan for DOS can also use them. If the TBAV menu finds one or more of
  2940.     these scan targets (the targets are really files with the filename
  2941.     extension SCN), the Path Menu will then display the list of available
  2942.     targets. If no such scan targets exist, the second Path Menu
  2943.     configuration will appear.           
  2944.                                          
  2945.                                          
  2946.     NOTE:                                
  2947.          Please be aware that the actual menu items you come across in the
  2948.          Path menu might differ slightly, depending on your system
  2949.          configuration.                  
  2950.                                          
  2951.                                          
  2952.     The Path Menus list the following options:
  2953.                                          
  2954.          Specified files/paths.          
  2955.                                          
  2956.          This option always presents you with a small prompt window in which
  2957.          you can specify the drives, paths, or even files you want to scan.
  2958.          You can specify multiple path specifications by separating each with
  2959.          spaces. This specification automatically initializes with the last
  2960.          path you scanned before you saved the configuration.                 
  2961.  
  2962.                                          
  2963.                                          
  2964.          Current directory.              
  2965.                                          
  2966.          Select this option if you want to scan only the directory from which
  2967.          you started the TBAV menu shell.
  2968.  
  2969.           
  2970.  
  2971.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 51
  2972.  
  2973.  
  2974.  
  2975.                                          
  2976.                                          
  2977.          Diskette in drive A:  or  Diskette in drive B:.  
  2978.                                          
  2979.          If you want to scan multiple diskettes, you might wish to activate
  2980.          the  Repeat  option of TbScan. See the TbScan Options Menu for more
  2981.          information.      
  2982.                                          
  2983.                                          
  2984.          All fixed drives.               
  2985.                                          
  2986.          This option instructs TbScan to scan all available drives (except
  2987.          the removable ones) completely. Depending on the settings in the
  2988.          TBAV configuration menu, TbScan prompts you to confirm the selected
  2989.          drives.                
  2990.                                          
  2991.                                          
  2992.          All fixed Local drives.         
  2993.                                          
  2994.          If you are on a network, you probably don't want to scan the entire
  2995.          network. Using this option you can scan just the drives that reside
  2996.          in your machine. Depending on the settings in the TBAV configuration
  2997.          menu, TbScan prompts you to confirm the selected drives.             
  2998.            
  2999.                                          
  3000.                                          
  3001.          All fixed Network drives.       
  3002.                                          
  3003.          Using this option you can scan all network drives. Depending on the
  3004.          settings in the TBAV configuration menu, TbScan prompts you to
  3005.          confirm the selected drives. 
  3006.                                          
  3007.                                          
  3008.     The "Options Menu" Option            
  3009.                                          
  3010.     Selecting the "Options Menu" option displays the following menu:
  3011.                                          
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.           
  3023.  
  3024.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 52
  3025.  
  3026.  
  3027.  
  3028.              +-----Main menu-----+       
  3029.              | Confi+----TbScan menu-----+
  3030.              | TbSca|  Start+------TbScan options-------+
  3031.              | TbSet|  Optio|  Use TBAV.INI file        |
  3032.              | TbUti|  Advan|  Prompt for pause         |
  3033.              | TbCLe|  If vi|  Quick scan               |
  3034.              | Virus|  Log f|  Maximum Compatibility    |
  3035.              | TBAV |  View |v Bootsector scan          |
  3036.              | Docum+-------|v Memory scan              |
  3037.              | Register TBAV|  HMA scan forced          |
  3038.              | About        |v Upper memory scan        |
  3039.              | Quit and save|v File scan                |
  3040.              | eXit (no save|v Windows-OS/2-virus scan  |
  3041.              +--------------|v Sub-Directory scan       |
  3042.                             |  Repeat scanning          | 
  3043.                             |v Abort on Ctrl-Break      | 
  3044.                             |  Sound Effects            | 
  3045.                             |v Fast scrOlling           | 
  3046.                             |v Large directories        | 
  3047.                             |  FAT checking             | 
  3048.                             +---------------------------+ 
  3049.  
  3050.     Taking each menu item in order, we ll explore the function of each.
  3051.  
  3052.          Use TBAV.INI file. 
  3053.  
  3054.          TbScan searches for a file named TBAV.INI in the TBAV directory. By
  3055.          enabling this option, the TbScan configuration values, saved in the
  3056.          TBAV.INI file, will also be valid when loading TbScan from the
  3057.          command line.      
  3058.  
  3059.          CAUTION: 
  3060.               Be aware that if you specify options in the TBAV.INI, you
  3061.               cannot undo them when running TbScan from the command line.
  3062.  
  3063.  
  3064.          Prompt for pause.  
  3065.  
  3066.          When you activate this option, TbScan stops after it checks the
  3067.          contents of each window. As each window fills with files, a 
  3068.          "[More]" prompt appears at the bottom of the screen. Simply press
  3069.          any key to view the next list of files. Using this feature enables
  3070.          you to examine the results of the scan without having to consult a
  3071.          log file afterwards.
  3072.  
  3073.  
  3074.  
  3075.           
  3076.  
  3077.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 53
  3078.  
  3079.  
  3080.  
  3081.          Quick scan.  
  3082.  
  3083.          This option instructs TbScan to use the ANTI-VIR.DAT files to check
  3084.          for file changes since the last scan. TbScan scans only those files
  3085.          that have changed (CRC change) or are not yet listed in
  3086.          ANTI-VIR.DAT. The other files are just checked for matching
  3087.          ANTI-VIR.DAT records. By default, TbScan always scans files (the 
  3088.          quick scan  option is not enabled by default).
  3089.  
  3090.  
  3091.          Maximum compatibility.    
  3092.  
  3093.          If you select this option, TbScan attempts to be more compatible
  3094.          with your system. Use this option if the program does not behave as
  3095.          you would expect or if it halts the system. Be aware, however, that
  3096.          this option slows down the scanning process. Therefore, use it only
  3097.          when necessary. Be aware also that this option does not affect the
  3098.          results of a scan.
  3099.  
  3100.  
  3101.          Boot sector scan.  
  3102.  
  3103.          Enabling this option forces TbScan to scan the boot sector. A boot
  3104.          sector is a certain part of a disk, which is used by the operating
  3105.          system to initialize itself. A special class of viruses (boot sector
  3106.          viruses) use this special part of a disk to infect your system.
  3107.  
  3108.  
  3109.          Memory scan.  
  3110.  
  3111.          Enabling this option forces TbScan to scan the memory of the PC.
  3112.  
  3113.  
  3114.          HMA scan forced.  
  3115.  
  3116.          By default, TbScan automatically detects the presence of an
  3117.          XMS-driver and scans the HMA. If you are using an HMA-driver that is
  3118.          not compatible with the XMS standard, you can use this option to
  3119.          force TbScan to scan HMA.
  3120.  
  3121.          Upper memory scan.  
  3122.  
  3123.          By default, TbScan identifies RAM beyond the DOS limit and scans
  3124.          that memory. This means that it scans video memory and the current
  3125.          EMS. You can use this option to enable the scanning of non-DOS
  3126.          memory.
  3127.  
  3128.           
  3129.  
  3130.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 54
  3131.  
  3132.  
  3133.  
  3134.  
  3135.          File scan.  
  3136.  
  3137.          By default, TbScan checks files for viruses. Removing the check mark
  3138.          disables file scanning. This option is particularly useful if, for
  3139.          example, you have been struck by a boot sector virus. In order to
  3140.          scan only boot sectors of your floppy disks, you can disable file
  3141.          scan using this option.
  3142.  
  3143.  
  3144.          Windows-OS/2-virus scan.  
  3145.  
  3146.          By default, TbScan scans Windows and OS/2 files for viruses.
  3147.          Removing the check mark disables Windows and OS/2 file scanning.
  3148.  
  3149.  
  3150.          Subdirectory scan.  
  3151.  
  3152.          By default, TbScan searches sub-directories for executable files,
  3153.          unless you specify a filename (wildcards allowed). If you disable
  3154.          this option, TbScan does not scan sub-directories.
  3155.  
  3156.  
  3157.          Repeat scanning.  
  3158.  
  3159.          This option is very useful if you want to check a large number of
  3160.          diskettes. TbScan does not return to DOS after checking a disk,
  3161.          rather it prompts you to insert another disk in the drive.
  3162.  
  3163.  
  3164.          Abort on Ctrl-Break.  
  3165.  
  3166.          If you don't want to be able to abort the scanning process by
  3167.          pressing Ctrl+Break, you can disable this option.
  3168.  
  3169.  
  3170.          Sound Effects.  
  3171.  
  3172.          Checking this option enables an audible sound when TbScan detects a
  3173.          virus.
  3174.  
  3175.  
  3176.          Fast scrolling.  
  3177.  
  3178.          TbScan displays processed files in a scrolling window, which scrolls
  3179.          in one of two methods: fast scrolling, in which the files appear on
  3180.  
  3181.           
  3182.  
  3183.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 55
  3184.  
  3185.  
  3186.  
  3187.          top of the previous ones if the window becomes full, and the
  3188.          conventional slow method of scrolling, in which the files at the
  3189.          bottom "push up" the previous ones. By default TbScan uses the
  3190.          faster but less attractive method of scrolling.
  3191.  
  3192.  
  3193.          Large directories.  
  3194.  
  3195.          If TbScan's directory table runs out of space, which is very
  3196.          unlikely, you can use this option to allocate a large directory
  3197.          table.
  3198.  
  3199.  
  3200.          Fat checking.  
  3201.  
  3202.          If this option is specified, and TbScan is able to use its internal
  3203.          file system, it will check the disks for lost clusters, cross linked
  3204.          clusters, invalid cluster numbers, and invalid allocation sizes.
  3205.          These errors often indicate system problems and need to be corrected
  3206.          as soon as possible. Because TbScan needs to read the FAT and all
  3207.          directories anyway, it can perform this important check without
  3208.          using additional time.
  3209.  
  3210.  
  3211.     The "Advanced Options" Option
  3212.  
  3213.     When you select the  Advanced Options  option, the following menu is
  3214.     displayed:
  3215.                                    
  3216.              +-----Main menu-----+ 
  3217.              | Confi+----TbScan menu-----+                     
  3218.              | TbSca|  Start+------TbScan advanced options-----+ 
  3219.              | TbSet|  Optio|  High heuristic sensitivity      | 
  3220.              | TbUti|  Advan|v Auto heuristic sensitivity      | 
  3221.              | TbCLe|  If vi|  Low heuristic sensitivity       | 
  3222.              | Virus|  Log f|  Non-executable scan             | 
  3223.              | TBAV |  View |  FAT info (fragmented files)     | 
  3224.              | Docum+-------|  Extract signatures              | 
  3225.              | Register TBAV|  Configure executable extensions | 
  3226.              | About        +----------------------------------+ 
  3227.              | Quit and save     | 
  3228.              | eXit (no save)    | 
  3229.              +-------------------+
  3230.  
  3231.     Let's now explore these options.
  3232.  
  3233.  
  3234.           
  3235.  
  3236.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 56
  3237.  
  3238.  
  3239.  
  3240.          High heuristic sensitivity.  
  3241.  
  3242.          While TbScan always performs a heuristic scan on the files being
  3243.          rocessed, it reports a file as infected only if it is very probable
  3244.          that the file is infected. If you select this option, TbScan is
  3245.          somewhat more sensitive. In this mode, TbScan detects 90% of the
  3246.          new, unknown viruses without any signature. Be aware, however, that
  3247.          some false alarms might occur.
  3248.  
  3249.  
  3250.          Auto heuristic sensitivity.  
  3251.  
  3252.          By default, TbScan automatically adjusts the heuristic detection
  3253.          level after it finds a virus. In other words, when TbScan finds a
  3254.          virus, it then goes on as if you had selected High heuristic
  3255.          sensitivity.  This option provides you maximum detection
  3256.          capabilities in case you need it, while at the same time keeps false
  3257.          alarms at a minimum.
  3258.  
  3259.  
  3260.          Low heuristic sensitivity.  
  3261.  
  3262.          In this mode TbScan almost never issues a false alarm. It still,
  3263.          however, detects about 50% of the new, unknown viruses.
  3264.  
  3265.  
  3266.          Non-executable scan.  
  3267.  
  3268.          This option instructs TbScan to scan non-executable files (files
  3269.          with an extension other than COM, EXE, SYS, OV? or BIN) as well as
  3270.          executables. If TbScan finds out that such a file does not contain
  3271.          anything that the processor can execute, it  skips  the file.
  3272.          Otherwise TbScan searches the file for COM, EXE and SYS signatures.
  3273.          Be aware that TbScan does not perform heuristic analysis on
  3274.          non-executable files. Since viruses normally do not infect
  3275.          non-executable files, it is not necessary to scan non-executable
  3276.          files too. We recommend, in fact, that you NOT use this option
  3277.          unless you have a good reason to scan all files. Again, you must
  3278.          execute a virus before it can do what it was programmed to do, and
  3279.          since you do not execute non-executable files, a virus in such a
  3280.          file cannot do anything. For this reason viruses do not even try to
  3281.          infect such files. Some viruses, however, do write to non-executable
  3282.          files, but this is a result of "incorrect" programming. And even
  3283.          though these non-executable files contain corrupted data, they still
  3284.          won't harm other program or data files.
  3285.  
  3286.  
  3287.           
  3288.  
  3289.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 57
  3290.  
  3291.  
  3292.  
  3293.          FAT info (fragmented files).  
  3294.  
  3295.          If this option is specified, TbScan displays the number of
  3296.          fragmented files after it has finished scanning. If the number of
  3297.          fragmented files is high, you can increase the system performance by
  3298.          using a disk optimizer. This option is only valid if the option
  3299.          'fatcheck' has been specified, and TbScan is using its internal file
  3300.          system.
  3301.  
  3302.  
  3303.          Extract signatures.  
  3304.  
  3305.          This option is available to registered users only. See the  Using
  3306.          TbGenSig section in Chapter 4 for more information.
  3307.  
  3308.  
  3309.          Configure executable extensions.  
  3310.  
  3311.          By default, TbScan scans only those files that have a filename
  3312.          extension that indicates that the file is a program file. Viruses
  3313.          that do not infect executable code simply do not exist. Files with
  3314.          the extension EXE, COM, BIN, SYS, and OV? (note the wildcard: the
  3315.          OV? specification includes files such as OVR and OVL) are considered
  3316.          executable. There are, however, some additional files that have an
  3317.          internal layout that makes them suitable for infection by viruses.
  3318.          Although it is not likely that you will ever execute most of these
  3319.          files, you might want to scan them anyway. Some filename extensions
  3320.          that might indicate an executable format include: .DLL (MS-Windows
  3321.          Dynamic Link Library), .SCR (MS-Windows screen saver file), .MOD
  3322.          (MS-Windows file), .CPL (MS-Windows Control Panel application), .00?
  3323.          and .APP. While infection of such files is not likely, you might
  3324.          want to scan them once in while. To force TbScan to scan these files
  3325.          by default, select this option and fill out the extensions you want
  3326.          TbScan to scan. For example, you can specify .DLL.SCR.CPL (with no
  3327.          spaces in between). You can also use the question mark wildcard.
  3328.  
  3329.          WARNING: 
  3330.               Be careful which extensions you specify. Scanning a
  3331.               non-executable file, for example, causes unpredictable results,
  3332.               and might result in false alarms.
  3333.  
  3334.  
  3335.     The "If Virus Found" Option
  3336.  
  3337.     Selecting this option displays the following menu:
  3338.  
  3339.  
  3340.           
  3341.  
  3342.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 58
  3343.  
  3344.  
  3345.  
  3346.              +-----Main menu-----+ 
  3347.              | Confi+----TbScan menu----+               
  3348.              | TbSca|  Start+--What if a virus is found?-+ 
  3349.              | TbSet|  Optio|v Present action menu       | 
  3350.              | TbUti|  Advan|  Just continue (logonly)   | 
  3351.              | TbCLe|  If vi|  Delete infected file      | 
  3352.              | Virus|  Log f|  Kill infected file        | 
  3353.              | TBAV |  View |  Rename infected file      | 
  3354.              | Docum+-------+----------------------------+ 
  3355.              | Register TBAV     |                       
  3356.              | About             |                       
  3357.              | Quit and save     |                       
  3358.              | eXit (no save)    |                       
  3359.              +-------------------+                       
  3360.                                                          
  3361.  
  3362.     Let's explore these options.
  3363.  
  3364.          Present action menu.  
  3365.  
  3366.          This option (the default) instructs TbScan to display a menu listing
  3367.          four possible actions if it detects a virus: just continue, delete,
  3368.          kill or rename the infected file.
  3369.  
  3370.  
  3371.          Just continue (logonly).   
  3372.  
  3373.          By default, if TbScan detects an infected file, it prompts you to
  3374.          delete or rename the infected file, or to continue without action.
  3375.          If you select this option, however, TbScan always continues. We
  3376.          recommend that you use a log file in such situations, since a
  3377.          scanning operation does not make much sense if you don't read the
  3378.          return messages (see the  Log File Menu  option below for further
  3379.          information).
  3380.  
  3381.  
  3382.          Delete infected file.  
  3383.  
  3384.          By default, if TbScan detects a virus in a file it prompts you to
  3385.          delete or rename the infected file, or to continue without action.
  3386.          If you select this option, however, TbScan deletes the infected file
  3387.          automatically, without prompting you first. Use this option if you
  3388.          know your computer is infected by a virus and you want to erase all
  3389.          files the virus has infected. Make sure you have a clean backup and
  3390.          that you really want to get rid of all infected files at once.
  3391.  
  3392.  
  3393.           
  3394.  
  3395.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 59
  3396.  
  3397.  
  3398.  
  3399.          Kill infected file.  
  3400.  
  3401.          This option is almost the same as the "Delete infected file"  option
  3402.          with one major difference. The DOS UNDELETE command enables you can
  3403.          recover a deleted file, but if you delete the infected file using
  3404.          this "Kill" option, recovery is no longer possible.
  3405.  
  3406.  
  3407.          Rename infected file.  
  3408.  
  3409.          By default, if TbScan detects a file virus it prompts you to delete
  3410.          or rename the infected file, or to continue without action. If you
  3411.          select this option, however, TbScan renames the infected file
  3412.          automatically, without prompting you first. By default, TbScan
  3413.          replaces the first character of the file extension by the character
  3414.          'V'. It names an .EXE file, to .VXE, for example, and a .COM file to
  3415.          .VOM. This prevents the execution of infected programs and thereby
  3416.          spreading the infection. This also enables you to keep the files for
  3417.          later examination and repair.
  3418.  
  3419.  
  3420.     The "Log File Menu" Option
  3421.  
  3422.     You can use the "TbScan Log Menu" to handle the results of the scan
  3423.     process (write them to a file or to a printer, for example). The menu
  3424.     appears below, followed by a description of the options.
  3425.  
  3426.  
  3427.              +----Main menu-----+ 
  3428.              |  Confi+------TbScan menu------+ 
  3429.              |  TbSet|  Start+-------TbScan LOG menu-------+ 
  3430.              |  TbSca|  Optio|  Log file path/name         | 
  3431.              |  TbUti|  Advan|  Output to log file         | 
  3432.              |  TbCLe|  If vi|  Specify log-level         >| 
  3433.              |  TBAV |  Log f|  Append to existing log     | 
  3434.              |  Docum|  View |  No heuristic descriptions  | 
  3435.              |  Regis+-------|  Truename filenames         | 
  3436.              |  Quit and save+-----------------------------+
  3437.              |  eXit (no save)  | 
  3438.              +------------------+ 
  3439.      
  3440.          Log file path/name.
  3441.  
  3442.          Using this option you can specify the name of the log file you want
  3443.          to use. TbScan creates the file in the current directory unless you
  3444.          specify a path and filename. If the log file already exists, TbScan
  3445.  
  3446.           
  3447.  
  3448.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 60
  3449.  
  3450.  
  3451.  
  3452.          overwrites the file (unless you selected the  "Append to existing
  3453.          log" option. If you want to print the results, you can specify a
  3454.          printer device name rather than a filename (LPT1 instead of
  3455.          C:\TBAV\TBSCAN.LOG, for example).
  3456.          CAUTION: 
  3457.               To create the log file, you must select the "Output to log
  3458.               file" option.
  3459.  
  3460.  
  3461.          Output to logfile.  
  3462.  
  3463.          When you select this option, TbScan creates a log file. The log file
  3464.          lists all infected program files, specifying heuristic flags (see
  3465.          Appendix B) and complete pathnames.
  3466.  
  3467.  
  3468.          Specify log-level.
  3469.  
  3470.          This option enables you to configure the actual contents of the log
  3471.          file using the following menu:
  3472.            
  3473.              +----Main menu-----+ 
  3474.              |  Confi+------TbScan menu------+ 
  3475.              |  TbSet|  Start+-------TbScan LOG menu-------+ 
  3476.              |  TbSca|  Optio|  Log f+--------Log-level menu--------+ 
  3477.              |  TbUti|  Advan|  Outpu|  0: Log only infected files  | 
  3478.              |  TbCLe|  If vi|  Speci|v 1: Log summary too          | 
  3479.              |  TBAV |  Log f|  Appen|  2: Log suspected too        | 
  3480.              |  Docum|  View |  No he|  3: Log all warnings too     | 
  3481.              |  Regis+-------|  Truen|  4: Log clean files too      | 
  3482.              |  Quit and save+-------+------------------------------+ 
  3483.              |  eXit (no save)  | 
  3484.              +------------------+ 
  3485.  
  3486.          These levels determine what kind of file information TbScan notes in
  3487.          the log file. The default log level is 1, but you can select one of
  3488.          five levels:
  3489.  
  3490.               0: Logonly infected files.  
  3491.  
  3492.               Specifies that if there are no infected files, do not create or
  3493.               change the log file.
  3494.  
  3495.  
  3496.               1: Log summary too.  
  3497.  
  3498.  
  3499.           
  3500.  
  3501.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 61
  3502.  
  3503.  
  3504.  
  3505.               Places a summary and time stamp in the log file, and specifies
  3506.               that TbScan put only infected files in the log file.
  3507.  
  3508.  
  3509.               2: Log suspected too.  
  3510.  
  3511.               This is almost the same as level 1, but TbScan also logs 
  3512.               suspected files,  files that would trigger the heuristic alarm
  3513.               if you specify the "High heuristic" sensitivity  option.
  3514.  
  3515.  
  3516.               3: Log all warnings too.  
  3517.  
  3518.               This level is an extension of the previous level. It specifies
  3519.               that TbScan log all files that have a warning character printed
  3520.               behind the filename.
  3521.  
  3522.  
  3523.  
  3524.               4: Log clean files too.  
  3525.  
  3526.               This places the information of all files being processed into
  3527.               the log file.
  3528.  
  3529.  
  3530.          Append to existing log.  
  3531.  
  3532.          If you select this option, TbScan appends new information to the
  3533.          existing log file instead of overwriting it. If you use this option
  3534.          often, we recommended that you delete or truncate the log file once
  3535.          in a while to avoid unlimited growth.
  3536.  
  3537.          CAUTION: 
  3538.               To create the log file, you must select the "Output to log
  3539.               file" option.
  3540.  
  3541.  
  3542.          No heuristic descriptions.    
  3543.  
  3544.          If you enable this option, TbScan does not specify the descriptions
  3545.          of the heuristic flags in the log file. See Appendix B for the
  3546.          heuristic flag descriptions.
  3547.  
  3548.  
  3549.          Truename filenames.  
  3550.  
  3551.  
  3552.           
  3553.  
  3554.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 62
  3555.  
  3556.  
  3557.  
  3558.          If this option is specified, TbScan uses 'truenames' rather than DOS
  3559.          filenames. If you process a file on a network, accessed by DOS as
  3560.          F:\USER\FILE.EXE then TbScan will use the fully expanded filename
  3561.          (like \\SERVER2\PUBLIC\USER\FILE.EXE) on the screen and in the log
  3562.          file.
  3563.  
  3564.  
  3565.     The "View Log File" Option
  3566.  
  3567.     If you activate one of the above log file options, you can then select
  3568.     this option to view and study the log. Otherwise, this option is not
  3569.     available.
  3570.  
  3571.     TIP: 
  3572.          See the "Configuring TBAV" section in Chapter 1 for how you can
  3573.          specify your own file viewer using the "Configure TBAV, File view
  3574.          utility" command.
  3575.  
  3576.  
  3577.     3.2.3 Maximizing TbScan
  3578.        
  3579.     Now that you know how to use TbScan's menus, you can more easily
  3580.     understand the power of using it from the command line.
  3581.  
  3582.     When you run TbScan from the DOS command line, it recognizes command line
  3583.     options (often called "switches" in DOS terms). These options appear as
  3584.     "key-words" or "key-letters." The words are easier to memorize, so we
  3585.     will use these in this manual for convenience.
  3586.  
  3587.     When you run TbScan, it looks for a file named TBAV.INI in the TBAV
  3588.     directory.  If the keyword USEINI appears in the [TbScan] section of the
  3589.     TBAV.INI file, the other options listed in the [TbScan] section will be
  3590.     includede when you run TbScan from the command line.
  3591.  
  3592.     CAUTION: 
  3593.          Be aware that if you specify options in the TBAV.INI file, you
  3594.          cannot undo them when you run TbScan from the command line.
  3595.  
  3596.     The following table lists the TbScan command line options:
  3597.  
  3598.          option parameter   short explanation
  3599.          ------------------ ----- ----------------------------------------
  3600.          help                 he  help
  3601.          pause                pa  enable  Pause  prompt
  3602.          mono                 mo  force monochrome output
  3603.          quick                qs  quick scan (use ANTI-VIR.DAT)
  3604.  
  3605.           
  3606.  
  3607.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 63
  3608.  
  3609.  
  3610.  
  3611.          allfiles             af  scan non-executables too
  3612.          alldrives            ad  scan all local non-removable drives
  3613.          allnet               an  scan all network drives
  3614.          heuristic            hr  enable heuristic alerts
  3615.          extract              ex  extract signatures (registered users only)
  3616.          once                 oo  scan only once a day
  3617.          slowscroll           ss  enable conventional (slow) scrolling
  3618.          secure               se  disable "user abort" (registered users
  3619.                                   only)
  3620.          compat               co  maximum compatibility mode
  3621.          ignofile             in  ignore  no-file  error
  3622.          largedir             ld  use large directory table
  3623.          fatcheck             fc  check the FAT for errors
  3624.          fatinfo              fi  display amount of fragmented files
  3625.          old                  ol  disable the "This program is old" message
  3626.          noboot               nb  skip boot sector check
  3627.          nofiles              nf  skip scanning of files
  3628.          nomem                nm  skip memory check
  3629.          hma                  hm  force HMA scan
  3630.          nohmem               nh  skip UMB/HMA scan
  3631.          nosub                ns  skip sub-directories
  3632.          noautohr             na  auto heuristic level adjust
  3633.          nowin                nw  do not scan for Windows-OS/2 viruses
  3634.          repeat               rp  scan multiple diskettes
  3635.          audio                aa  make noise if virus found
  3636.          batch                ba  batch mode - no user input
  3637.          delete               de  automatically delete infected files
  3638.          kill                 ki  automatically kill infected files
  3639.          truename             tn  use true name instead of DOS name
  3640.          log                  lo  output to log file
  3641.          append               ap  log file append mode
  3642.          expertlog            el  no heuristic descriptions in log
  3643.          logname=<filename>   ln  set path/name of log file
  3644.          loglevel=<0...4>     ll  set log level
  3645.          wait=<0...255>       wa  amount of timer-ticks to wait
  3646.          rename[=<text-mask>] rn  rename infected files
  3647.          exec=.<ext-mask>     ee  specify executable extensions
  3648.  
  3649.     The explanations in the above table serve as a quick reference, but the
  3650.     following descriptions provide more information about each option.
  3651.  
  3652.     TIP: 
  3653.          Remember that you can display these options from the command line by
  3654.          entering TBSCAN ?.
  3655.  
  3656.          help (he). 
  3657.  
  3658.           
  3659.  
  3660.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 64
  3661.  
  3662.  
  3663.  
  3664.          If you specify this option TbScan displays the help as listed above.
  3665.  
  3666.  
  3667.          pause (pa). 
  3668.  
  3669.          When you specify the PAUSE option, TbScan stops after it checks the
  3670.          contents of one window. This enables you to examine the results
  3671.          without having to consult a log file later.
  3672.  
  3673.  
  3674.          mono (mo). 
  3675.  
  3676.          This option prevents TbScan from using colors in the screen output.
  3677.          This might enhance the screen output on some LCD screens or
  3678.          color-emulating monochrome systems.
  3679.  
  3680.  
  3681.          quick (qs). 
  3682.  
  3683.          This option instructs TbScan to use the ANTI-VIR.DAT files to check
  3684.          for file changes since the last scan. TbScan scans only those files
  3685.          that have changed (CRC change) or do not appear in ANTI-VIR.DAT. By
  3686.          default, TbScan always scans files.
  3687.  
  3688.  
  3689.          allfiles (af). 
  3690.  
  3691.          If you specify this option, TbScan also scans non-executable files
  3692.          (that is, files without a .COM, .EXE, .SYS or .BIN extension). If
  3693.          TbScan finds that such a file does not contain executable code, it
  3694.          "skips" that file. Otherwise, TbScan searches the file for COM, EXE
  3695.          and SYS signatures. Be aware that TbScan does not perform heuristic
  3696.          analysis on non-executable files. Since viruses normally do not
  3697.          infect non-executable files, it is not necessary to scan them. We
  3698.          recommend, in fact, that you do not use this option unless you have
  3699.          a good reason to scan all files since a file infected with a virus
  3700.          must normally be executed before it can perform what it is
  3701.          programmed to do, and since you can't execute a non-executable file,
  3702.          a virus in such a file cannot do anything.  Some viruses write to
  3703.          non-executable files, but this is simply a result of "incorrect"
  3704.          programming or a specific  targeted  attack-- the result of which
  3705.          may be corrupted data, which will not likely harm other program or
  3706.          data files.
  3707.  
  3708.  
  3709.          alldrives (ad). 
  3710.  
  3711.           
  3712.  
  3713.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 65
  3714.  
  3715.  
  3716.  
  3717.          This option instructs TbScan to scan all local non-removable disks.
  3718.  
  3719.  
  3720.          allnet (an). 
  3721.  
  3722.          This option instructs TbScan to scan all network drives.
  3723.  
  3724.  
  3725.          heuristic (hr). 
  3726.  
  3727.          While TbScan always performs a heuristic scan on the files being
  3728.          processed, if you select this option TbScan increases it's level of
  3729.          sensitivity. In this mode, TbScan detects 90% of the unknown viruses
  3730.          without any signatures. Be aware, however, that some false alarms
  3731.          might occur. See the "Understanding Heuristic Scanning" section
  3732.          later in this chapter for more information.
  3733.  
  3734.  
  3735.          extract (ex). 
  3736.  
  3737.          This option is available to registered users only. See the "Using
  3738.          TbGenSig" section in Chapter 4 for more information.
  3739.  
  3740.  
  3741.          once (oo). 
  3742.  
  3743.          If you specify this option, TbScan "remembers" whether it has run
  3744.          that day, and that if it has, it will not run again. In other words,
  3745.          this instructs TbScan to run only once a day, regardless of how many
  3746.          times you actually enter the command from the DOS prompt or a batch
  3747.          file. This command is very useful in your AUTOEXEC.BAT file, for
  3748.          example: TBSCAN @EVERYDAY.SCN ONCE RENAME. TbScan now scans the list
  3749.          of files and/or paths specified in the file EVERYDAY.SCN during the
  3750.          first boot-up of the day. If the systems boots more often that day,
  3751.          TbScan returns to the DOS prompt immediately. This option does not
  3752.          interfere with the regular use of TbScan. If you invoke TbScan
  3753.          without this option, it always runs, regardless of a previous run
  3754.          with the ONCE option set.
  3755.  
  3756.          NOTE: 
  3757.               If TbScan cannot write to TBSCAN.EXE because it is flagged 
  3758.               "read-only" or is located on a write-protected diskette, the
  3759.               ONCE option fails and the scanner executes without it.
  3760.  
  3761.  
  3762.          slowscroll (ss). 
  3763.  
  3764.           
  3765.  
  3766.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 66
  3767.  
  3768.  
  3769.  
  3770.          If you specify this option, TbScan scrolls the files in the files
  3771.          window conventionally. This method is slower but looks more
  3772.          attractive.
  3773.  
  3774.  
  3775.          secure (se). 
  3776.  
  3777.          This option is available to registered users only. If you use it, it
  3778.          is no longer possible to cancel TbScan by pressing Ctrl+Break, or to
  3779.          respond to a virus alert window.
  3780.  
  3781.  
  3782.          compat (co). 
  3783.  
  3784.          If you select this option, TbScan attempts to be more compatible
  3785.          with your system. Use this option if the program does not behave as
  3786.          you would expect, or if it even halts the system. This option slows
  3787.          down the scanning process, so you should use it only if necessary.
  3788.          This option in no way affects the results of a scan. 
  3789.  
  3790.  
  3791.  
  3792.          ignofile (in). 
  3793.  
  3794.          If you specify this option and TbScan doesn't find any files, TbScan
  3795.          does not display the no files found  message, nor does it exit with
  3796.          ERRORLEVEL 1. You might use this option for automatic contents
  3797.          scanning.
  3798.  
  3799.  
  3800.          largedir (ld). 
  3801.  
  3802.          If TbScan's directory table runs out of space, which is very
  3803.          unlikely, you can use this option to allocate a large directory
  3804.          table.
  3805.  
  3806.  
  3807.          fatcheck (fc). 
  3808.  
  3809.          If this option is specified, and TbScan is able to use its internal
  3810.          file system, it will check the disk(s) for lost clusters, cross
  3811.          linked clusters, invalid cluster numbers, and invalid allocation
  3812.          sizes. These errors often indicate system problems and need to be
  3813.          corrected as soon as possible. Because TbScan  needs to read the FAT
  3814.          and all directories anyway, it can perform this important check
  3815.          without using additional time.
  3816.  
  3817.           
  3818.  
  3819.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 67
  3820.  
  3821.  
  3822.  
  3823.  
  3824.          fatinfo (fi). 
  3825.  
  3826.          If this option is specified, TbScan displays the amount of
  3827.          fragmented files after it finished scanning. If the amount of
  3828.          fragmented files is high, you can increase the system performance by
  3829.          using a disk optimizer. This option can only be used in combination
  3830.          with option "fatcheck", and if TbScan is using its internal file
  3831.          system.
  3832.  
  3833.  
  3834.          old (ol). 
  3835.  
  3836.          This option suppresses the message that appears if TbScan is 6
  3837.          months old.
  3838.  
  3839.  
  3840.          noboot (nb). 
  3841.  
  3842.          If you specify this option, TbScan does not scan the boot sector.
  3843.  
  3844.  
  3845.          nofiles (nf). 
  3846.  
  3847.          This option disables the scanning of files. This can be useful if
  3848.          you are the victim of a boot sector virus and want to scan a large
  3849.          stack of diskettes as fast as possible.
  3850.  
  3851.  
  3852.          nomem (nm). 
  3853.  
  3854.          If you specify this option, TbScan does not scan memory.
  3855.  
  3856.  
  3857.  
  3858.          hma (hm). 
  3859.  
  3860.          By default, TbScan automatically detects the presence of an
  3861.          XMS-driver and scans HMA. If you have an HMA-driver that is not
  3862.          compatible with the XMS standard, you can use this option to force
  3863.          TbScan to scan HMA.
  3864.  
  3865.  
  3866.          nohmem (nh).   
  3867.  
  3868.  
  3869.  
  3870.           
  3871.  
  3872.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 68
  3873.  
  3874.  
  3875.  
  3876.          By default, TbScan identifies RAM beyond the DOS limit and scans it.
  3877.          This means that it scans video memory and the current EMS pages. You
  3878.          can, therefore, use this option to disable the scanning of non-DOS
  3879.          memory.
  3880.  
  3881.  
  3882.          nosub (ns). 
  3883.  
  3884.          By default, TbScan searches sub-directories for executable files,
  3885.          unless you specify a filename (wildcards allowed). If you enable
  3886.          this option, TbScan does not scan sub-directories.
  3887.  
  3888.  
  3889.          noautohr (na). 
  3890.  
  3891.          TbScan automatically adjusts the heuristic detection level after it
  3892.          locates a virus. In other words, when TbScan finds a virus, it
  3893.          continues as if you used the HEURISTIC option. This provides you
  3894.          maximum detection capabilities in case you need it, while keeping
  3895.          the amount of false alarms to a minimum. If you don't want this, you
  3896.          can specify option NOAUTOHR.
  3897.  
  3898.  
  3899.          nowin (nw). 
  3900.  
  3901.          By default, TbScan scans Windows and OS/2 files for viruses.
  3902.          Removing the checkmark disables Windows and OS/2 file scanning.
  3903.  
  3904.  
  3905.          repeat (rp). 
  3906.  
  3907.          This option is very useful if you want to check a large amount of
  3908.          diskettes. Instead of returning to DOS after checking a disk, TbScan
  3909.          prompts you to insert another disk in the drive.
  3910.  
  3911.  
  3912.          audio (aa). 
  3913.  
  3914.          This enables an audible alarm sound when TbScan finds a virus.
  3915.  
  3916.  
  3917.          batch (ba). 
  3918.  
  3919.          By enabling this option, TbScan scans without displaying any
  3920.          messages. If you use this option, we recommend that you use a log
  3921.          file (see the LOG option below).
  3922.  
  3923.           
  3924.  
  3925.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 69
  3926.  
  3927.  
  3928.  
  3929.  
  3930.          delete (de). 
  3931.  
  3932.          By default, if TbScan detects a virus in a file, it prompts you to
  3933.          delete or rename the infected file, or to continue without action.
  3934.          If you specify this option, however, TbScan deletes the infected
  3935.          file automatically, without prompting you first. Use this option if
  3936.          you know there is a virus infection. Make sure that you have a clean
  3937.          backup, and that you really want to get rid of all infected files at
  3938.          once.
  3939.  
  3940.  
  3941.          kill (ki). 
  3942.  
  3943.          By default, if TbScan detects a virus in a file it prompts you to
  3944.          delete or rename the infected file, or to continue without action.
  3945.          If you specify the DELETE option, TbScan deletes the infected file
  3946.          automatically, without prompting you first. Unlike the DELETE
  3947.          option, however, KILL prevents files from being undeleted. Be
  3948.          careful if you use this option. Make sure you have a clean backup!
  3949.  
  3950.  
  3951.          truename (tn). 
  3952.  
  3953.          This option instructs TbScan to use "truenames" rather than DOS
  3954.          names. For example, if you process a file on a network that DOS
  3955.          accesses using the name F:\USER\FILE.EXE, TbScan uses the full name
  3956.          \\SERVER\PUBLIC\USER\FILE.EXE on the screen and in the log.
  3957.  
  3958.  
  3959.          log (lo). 
  3960.  
  3961.          When you use this option, TbScan creates a log file. The log file
  3962.          lists all infected program files, specifying heuristic flags (see
  3963.          Appendix B) and complete pathnames.
  3964.  
  3965.  
  3966.          append (ap). 
  3967.  
  3968.          If you use this option, TbScan appends new information to an
  3969.          existing log file rather than overwriting it. If you use this option
  3970.          often, we recommend that you delete or truncate the log file
  3971.          occasionally to avoid unlimited growth.
  3972.  
  3973.          NOTE: 
  3974.               If you use this option, you must also use the LOG option.
  3975.  
  3976.           
  3977.  
  3978.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 70
  3979.  
  3980.  
  3981.  
  3982.  
  3983.          expertlog (el). 
  3984.  
  3985.          If you enable this option, TbScan does not specify the descriptions
  3986.          of the heuristic flags in the log file. Appendix B lists the
  3987.          heuristic flag descriptions
  3988.  
  3989.  
  3990.          logname =<filename> (ln). 
  3991.  
  3992.          Using this option, you can specify the name of the log file you want
  3993.          to use. TbScan creates the file in the current directory unless you
  3994.          specify a path and filename after selecting this option. If the log
  3995.          file already exists, TbScan overwrites it. If you want to print the
  3996.          results, you can specify a printer device name rather than a
  3997.          filename (for example, you can specify LOGNAME=LPT1).
  3998.  
  3999.          NOTE: 
  4000.               If you use this option, you must also use the LOG option.
  4001.  
  4002.  
  4003.          loglevel =<0..4> (ll). 
  4004.  
  4005.          These levels determine what kind of file information the log file
  4006.          stores. The default log level is 1, but you can select one of five
  4007.          log levels:
  4008.  
  4009.               0 : Log only infected files. 
  4010.  
  4011.               This specifies that if there are no infected files, do not
  4012.               create or change the log file.
  4013.  
  4014.  
  4015.               1 : Log summary too. 
  4016.  
  4017.               This places a summary and time stamp in the log file, and
  4018.               specifies that TbScan put only infected files in the log file.
  4019.  
  4020.  
  4021.               2 : Log suspected too. 
  4022.  
  4023.               This is almost the same as level 1, but TbScan also logs 
  4024.               "suspected files," files that would trigger the heuristic alarm
  4025.               if you specify the "High heuristic" sensitivity  option.
  4026.  
  4027.  
  4028.  
  4029.           
  4030.  
  4031.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 71
  4032.  
  4033.  
  4034.  
  4035.               3 : Log all warnings too. 
  4036.  
  4037.               This level is an extension of the previous level. It specifies
  4038.               that TbScan log all files that have a warning character printed
  4039.               behind the filename.
  4040.  
  4041.  
  4042.               4 : Log clean files too. 
  4043.  
  4044.               This places the information of all files being processed into
  4045.               the log file.
  4046.  
  4047.               NOTE: 
  4048.                    If you use this option, you must also use the LOG option.
  4049.  
  4050.  
  4051.          wait =<0..255> (wa). 
  4052.  
  4053.          Use this option to delay TbScan. This might be handy if you want to
  4054.          scan a very busy network but don't want to occupy the network too
  4055.          heavily. You have to specify the amount of timer ticks you want to
  4056.          insert between scanned files.
  4057.  
  4058.  
  4059.          rename [=<text-mask>] (rn). 
  4060.  
  4061.          By default, if TbScan detects a file virus, it prompts you to delete
  4062.          or rename the infected file, or to continue without action. If you
  4063.          select this option, TbScan renames the infected file automatically,
  4064.          without prompting you first. Also by default, TbScan replaces the
  4065.          first character of the file extension with the character 'V.' It
  4066.          renames an .EXE file to .VXE, for example, and a .COM file to .VOM.
  4067.          This prevents the execution of infected programs  and thereby
  4068.          prevents spreading the infection. This option also enables you to
  4069.          keep the infected files for later examination and repair. You can
  4070.          also add a parameter to this option specifying the target extension.
  4071.          This parameter should always contain three characters; you can use
  4072.          question marks. The default target extension is "V??." 
  4073.  
  4074.  
  4075.          exec =.<ext-mask> (ee). 
  4076.  
  4077.          Using this option you can add filename extensions that indicate what
  4078.          files are executable. If you want to use this option, you probably
  4079.          want to put it in the configuration file. Refer to the  "Advanced
  4080.  
  4081.  
  4082.           
  4083.  
  4084.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 72
  4085.  
  4086.  
  4087.  
  4088.          Options" Option section earlier in this chapter for an explanation
  4089.          of configuring executable extensions.
  4090.  
  4091.  
  4092.     Here are a few examples using TbScan from the DOS command line.
  4093.  
  4094.          1. This command:
  4095.  
  4096.             TBSCAN C:\ NOBOOT
  4097.  
  4098.          scans all executable files in the root directory and its
  4099.          subdirectories and skips the boot sector scan.
  4100.  
  4101.  
  4102.          2. This command:
  4103.  
  4104.             TBSCAN \*.*
  4105.  
  4106.          scans all files in the root directory but does not process
  4107.          subdirectories.
  4108.  
  4109.  
  4110.          3. This command:
  4111.  
  4112.             TBSCAN C:\ LOG LOGNAME=C:\TEST.LOG LOGLEVEL=2
  4113.  
  4114.          scans all executable files on drive C: and creates a LOG file named
  4115.          C:\TEST.LOG that contains all infected and suspected files.
  4116.  
  4117.  
  4118.          4. This command:
  4119.  
  4120.             TBSCAN \ LOG LOGNAME=LPT1
  4121.  
  4122.          scans the root directory and its subdirectories and then redirects
  4123.          the results to the printer instead of a log file.
  4124.  
  4125.  
  4126.     3.2.4 Understanding the Scanning Process
  4127.        
  4128.  
  4129.     This section adds to your knowledge of TbScan by explaining a little more
  4130.     about the scanning process. TbScan starts scanning immediately whenever
  4131.     you run it from the DOS command line or select the  Start Scanning 
  4132.     option in the TbScan Menu. As TbScan begins its scan, your screen will
  4133.     look similar to the following:
  4134.  
  4135.           
  4136.  
  4137.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 73
  4138.  
  4139.  
  4140.  
  4141.     TbScan divides the screen into three windows: an information window (at
  4142.     the top), a scanning window (the bottom-left window) and a status window
  4143.     (to the right of the scanning window). The information window initially
  4144.     displays the vendor information only.
  4145.          
  4146.        +-----------------------------------------------------------------+
  4147.        |Thunderbyte virus detector         (C) 1989-95, Thunderbyte B.V. |
  4148.        |                                                                 |
  4149.        | TBAV is upgraded every two months. Free hotline support is      |
  4150.        | provided for all registered users via telephone, fax and        |
  4151.        | electronic bulletin board. Read the comprehensive documentation |
  4152.        | files for detailed info.                                        |
  4153.        |                                                                 |
  4154.        | C:\DOS\                                                         |
  4155.        |                                                                 |
  4156.        | ANSI.SYS      scanning..>        OK    signatures:        986   |
  4157.        | COUNTRY.SYS   skipping..>        OK                             |
  4158.        | DISKCOPY.COM  tracing...>        OK    file system:       OWN   |
  4159.        | DISPLAY.SYS   scanning..>        OK                             |
  4160.        | DRIVER.SYS    scanning..>        OK    directories:        01   |
  4161.        | EGA.CPI       skipping..>        OK    total files:        17   |
  4162.        | FASTOPEN.EXE  looking...>        OK    executables:        12   |
  4163.        | FDISK.EXE     looking...>        OK    CRC verified:       10   |
  4164.        | FORMAT.COM    tracing...>   E    OK    changed files:      00   |
  4165.        | GRAFTABL.COM  tracing...>        OK    infected items:     00   |
  4166.        | GRAPHICS.COM  tracing...>        OK                             |
  4167.        | GRAPHICS.PRO  skipping..>        OK    elapsed time:    00:05   |
  4168.        |                                        Kb /second:        57    |
  4169.        +-----------------------------------------------------------------+
  4170.  
  4171.     If TbScan detects infected files, it displays the names of the file and
  4172.     the virus in the upper window. The lower left window displays the names
  4173.     of the files being processed, the algorithm in use, information and
  4174.     heuristic flags, and finally an OK statement or the name of the virus
  4175.     detected.
  4176.  
  4177.     Notice the following example:
  4178.  
  4179.          NLSFUNC.EXE     checking..>    FU          OK 
  4180.             |              |            |           | 
  4181.             |              |            |           result of scan 
  4182.             |              |            heuristic flags 
  4183.             |              algorithm being used to process file 
  4184.             name of file in process 
  4185.  
  4186.  
  4187.  
  4188.           
  4189.  
  4190.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 74
  4191.  
  4192.  
  4193.  
  4194.     You will see comments following each file name, such as: "looking,"
  4195.     "checking," "tracing," "scanning," or "skipping." These refer to the
  4196.     various algorithms being used to scan files.
  4197.  
  4198.     Other comments that TbScan displays here are the heuristic flags. Consult
  4199.     the  Understanding Heuristic Flags  section later in this chapter and
  4200.     Appendix B for more information on these warning characters.
  4201.  
  4202.     The lower right window is the status window. It displays the number of
  4203.     files and directories encountered as well as the number of viruses found.
  4204.     It also displays which file system is being used: either  DOS  or  OWN. 
  4205.     The latter means that TbScan is able to bypass DOS. If this is the case,
  4206.     TbScan reads all files directly from disk for extra security and speed.
  4207.  
  4208.     You can abort the scanning process by pressing the two keys Ctrl+Break
  4209.     simultaneously (that is, if you didn't specify the "SECURE" option).
  4210.  
  4211.     When TbScan detects an infected program, it displays the name of the
  4212.     virus. If you did not specify the BATCH, RENAME or DELETE options, TbScan
  4213.     prompts you to specify the appropriate action. If you choose to rename
  4214.     the file, TbScan replaces the first character of the file extension with
  4215.     the character 'V.' This prevents you or someone else from accidentally
  4216.     executing the file before you can investigate it more thoroughly.
  4217.  
  4218.     If TbScan detects an infected file, it displays one of the following
  4219.     messages:
  4220.  
  4221.          [Name of file] is infected by [name of virus] virus. 
  4222.  
  4223.          The file is infected by the virus mentioned.
  4224.  
  4225.  
  4226.          [Name of file] is Joke named [name of Joke].
  4227.  
  4228.          Some programs simulate that the system is infected by a virus; such
  4229.          a program is a "joke." A joke is completely harmless; however it
  4230.          causes confusion and might cause people to stop using the computer,
  4231.          and should therefore be removed..
  4232.  
  4233.  
  4234.          [Name of file] is Trojan named [name of Trojan].
  4235.  
  4236.          The file is a Trojan Horse. A Trojan Horse is a program that
  4237.          pretends to be a harmless program (like a game) but it is designed
  4238.          to do something harmful like erasing a disk. Some Trojan Horses also
  4239.  
  4240.  
  4241.           
  4242.  
  4243.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 75
  4244.  
  4245.  
  4246.  
  4247.          install viruses on your system. Do not execute the program, but
  4248.          delete it instead.
  4249.  
  4250.  
  4251.          [Name of file] damaged by [name of virus].  
  4252.  
  4253.          Unlike an infected file, which carries the virus itself, a damaged
  4254.          file has only been damaged by the virus.
  4255.  
  4256.  
  4257.          [Name of file] dropper of [name of virus].
  4258.  
  4259.          A "dropper" is a program that has not been infected itself, but
  4260.          which does contain a boot sector virus and is able to install it
  4261.          into your boot sector.
  4262.  
  4263.  
  4264.          [Name of file] garbage: (not a virus) [name of garbage].  
  4265.  
  4266.          A "garbage" program is a file that does not work because it is badly
  4267.          damaged or may have been overwritten with "garbage."  Some virus
  4268.          collections (i.e. a CD-ROM based virus collection) contain
  4269.          "garbage-like" program code that was designed specifically to
  4270.          trigger virus detection programs (and fool them), which is exactly
  4271.          why ThunderBYTE identifies them as "garbage."
  4272.  
  4273.     It is also possible for TbScan to encounter a file that appears infected
  4274.     by a virus, although it could not find a signature. In this case TbScan
  4275.     displays the prefix "Probably" before the message.
  4276.  
  4277.     If TbScan finds a file to be suspicious and displays a virus alert
  4278.     window, you can avoid future false alarms by pressing V (Validate
  4279.     program). Note that this works only if there is an ANTI-VIR.DAT record of
  4280.     the file available. Once TbScan validates a program, the program is no
  4281.     longer subject to heuristic analysis, unless the program changes and no
  4282.     longer matches the ANTI-VIR.DAT record. This will be the case if such a
  4283.     file becomes infected at a later time. In such a case, TbScan still
  4284.     reports infections on these files.
  4285.  
  4286.     NOTE: 
  4287.          Be aware that a validated program is still subject to the
  4288.          conventional signature scanning.
  4289.  
  4290.     If you specify the HEURISTIC or the HIGH HEURISTIC SENSITIVITY option, it
  4291.     is likely that TbScan will find some files that look like a virus. In
  4292.  
  4293.  
  4294.           
  4295.  
  4296.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 76
  4297.  
  4298.  
  4299.  
  4300.     this case, TbScan uses the prefix "Might be" to inform you about it. So,
  4301.     if TbScan displays:
  4302.  
  4303.          [Name of file] Probably infected by an unknown virus
  4304.  
  4305.     or:
  4306.  
  4307.          [Name of file] Might be infected by an unknown virus
  4308.  
  4309.          it does not necessarily mean that the file is infected. There are a
  4310.          lot of files that look like a virus but are not.
  4311.  
  4312.     It is extremely important to understand that false alarms are part of the
  4313.     nature of heuristic scanning. In its default mode, it is very unlikely
  4314.     that TbScan will issue a false alarm.  If you specify the HEURISTIC
  4315.     option, however, some false alarms might occur.
  4316.  
  4317.     How should you deal with false alarms? If TbScan thinks it has found a
  4318.     virus, it tells you the reason for this suspicion. In most cases you will
  4319.     be able to evaluate these reasons when you consider the purpose of the
  4320.     suspected file.
  4321.  
  4322.     NOTE: 
  4323.          Viruses infect other programs. It is, therefore, unlikely that you
  4324.          will find only a few infected files on a hard disk you use
  4325.          frequently. You should ignore the result of a heuristic scan if only
  4326.          a few programs on your hard disk trigger it. If, on the other hand, 
  4327.          your system behaves "strangely" and several programs trigger the
  4328.          TbScan alarm with the same serious flags, your system
  4329.          could very well be infected by a (yet unknown) virus.
  4330.  
  4331.  
  4332.     3.2.5 Understanding Heuristic Flags
  4333.  
  4334.     Heuristic flags consist of single characters that appear behind the name
  4335.     of the file that just scanned. There are two kinds of flags: the
  4336.     informative ones, which appear in lower-case characters, and the more
  4337.     serious flags, which appear in upper-case characters.
  4338.  
  4339.     The lower-case flags indicate special characteristics of the file being
  4340.     scanned, whereas the upper-case warnings might indicate a virus. If the 
  4341.     loglevel  is 3 or above, the important warnings not only appear as a
  4342.     warning character, but TbScan also adds a description to the log file.
  4343.  
  4344.     How should you treat the flags? You can consider the less important
  4345.     lower-case flags to be informational only; they provide file information
  4346.  
  4347.           
  4348.  
  4349.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 77
  4350.  
  4351.  
  4352.  
  4353.     you might find interesting. The more serious uppercase warning flags
  4354.     MIGHT (we repeat, MIGHT) indicate a virus. It is quite normal that you
  4355.     have some files in your system that trigger an uppercase flag.
  4356.  
  4357.     NOTE: 
  4358.          Appendix B lists the heuristic flag descriptions.
  4359.  
  4360.  
  4361.  
  4362.  
  4363.  
  4364.  
  4365.  
  4366.  
  4367.  
  4368.  
  4369.  
  4370.  
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.  
  4379.  
  4380.  
  4381.  
  4382.  
  4383.  
  4384.  
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392.  
  4393.  
  4394.  
  4395.  
  4396.  
  4397.  
  4398.  
  4399.  
  4400.           
  4401.  
  4402.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 78
  4403.  
  4404.  
  4405.  
  4406.  
  4407.     3.3 Using TbDriver
  4408.  
  4409.     TbDriver is a small memory-resident (TSR) program that you must load
  4410.     before any of the other TBAV memory-resident utilities. This brief
  4411.     section explains the use of TbDriver.
  4412.  
  4413.  
  4414.     3.3.1 Understanding TbDriver
  4415.  
  4416.     By itself, TbDriver does not provide much protection against viruses,
  4417.     rather its use is to enable the memory resident ThunderBYTE Anti-Virus
  4418.     utilities, such as TbScanX, TbCheck, TbMem, TbFile, and TbDisk, to
  4419.     perform properly. It is the source for some of the routines these
  4420.     utilities have in common, including: support to generate the pop-up
  4421.     window routines, driving the translation unit that enables the
  4422.     possibility of displaying messages in your native language, and support
  4423.     for networks. Additionally, TbDriver also contains basic protection
  4424.     against "stealth" viruses and against "ANSI bombs." 
  4425.  
  4426.     NOTE: 
  4427.          See the NOFILTER option below for an explanation of an ANSI bomb.
  4428.  
  4429.  
  4430.     3.3.2 Working with TbDriver
  4431.  
  4432.     You must load TbDriver before loading any of the other memory-resident
  4433.     TBAV utilities. If you ran the TBAV Install program, TbDriver is already
  4434.     set up to load automatically when you boot. Your AUTOEXEC.BAT file calls
  4435.     the TBSTART.BAT file, which in turn loads TbDriver.
  4436.  
  4437.     If you prefer, you can load TbDriver directly from the command line or
  4438.     from an individual line in AUTOEXEC.BAT by using this command:
  4439.  
  4440.             <PATH>TBDRIVER
  4441.  
  4442.     If TbDriver resides in the TBAV directory on drive C:, for example, you
  4443.     could enter C:\TBAV\TBDRIVER.
  4444.  
  4445.     An even more secure way to load TbDriver, and the other TBAV
  4446.     memory-resident utilities (which we ll examine in more detail in the 
  4447.     Using TbScanX  section later in this chapter), is to load it via the
  4448.     CONFIG.SYS file. After removing the call to TBSTART.BAT in AUTOEXEC.BAT,
  4449.     you could put the following command in CONFIG.SYS:
  4450.  
  4451.             DEVICE=<PATH>TBDRIVER.EXE
  4452.  
  4453.           
  4454.  
  4455.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 79
  4456.  
  4457.  
  4458.  
  4459.     If TbDriver resides in the TBAV directory on drive C:, for example, you
  4460.     could enter DEVICE=C:\TBAV\TBDRIVER.EXE.
  4461.  
  4462.     TIP: 
  4463.          If you want protection against ANSI-bombs, you should load TbDriver
  4464.          AFTER the ANSI.SYS driver. Also, if you install TbDriver on a
  4465.          machine that boots from a boot ROM, specify the message file with
  4466.          the drive and path where it resides AFTER the machine boots. The
  4467.          default message file will no longer be accessible after the machine
  4468.          boots.
  4469.  
  4470.  
  4471.     3.3.3 Maximizing TbDriver
  4472.     This section describes how to use TbDriver's option to maximize its
  4473.     performance and how to get foreign language support for the TBAV
  4474.     utilities.
  4475.  
  4476.     When you run TbDriver from the DOS command line, it recognizes command
  4477.     line options (often called "switches" in DOS terms). These options appear
  4478.     as "key-words" or "key-letters." The words are easier to memorize, so we
  4479.     will use these in this manual for convenience.
  4480.  
  4481.     TbDriver enables you to specify loading options on the command line. It
  4482.     treats a filename specification as a language file specification (see the
  4483.     following "Getting Language Support" section).
  4484.  
  4485.     The first three options in the following table are always available. The
  4486.     other options are available only if TbDriver is not already memory
  4487.     resident. The command-line syntax is as follows:
  4488.  
  4489.             TBDRIVER [<PATH>][<FILENAME>]... [<OPTIONS>]...
  4490.  
  4491.     TbDriver recognizes the following options:
  4492.  
  4493.  
  4494.  
  4495.  
  4496.  
  4497.  
  4498.  
  4499.  
  4500.  
  4501.  
  4502.  
  4503.  
  4504.  
  4505.  
  4506.           
  4507.  
  4508.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 80
  4509.  
  4510.  
  4511.  
  4512.          option parameter   short explanation
  4513.          ------------------ ----- -----------
  4514.          help                ?    help
  4515.          net                 n    force LAN support
  4516.          remove              r    remove TbDriver from memory
  4517.          mode=<m|c>          m    override video mode (mono|color)
  4518.          freeze              j    freeze the machine after an alert
  4519.          lcd                 l    enhance output on LCD screens
  4520.          noavok=<drives>     o    assume permission for specified drives when
  4521.                                   ANTI-VIR.DAT record is missing
  4522.          quiet               q    do not display activity
  4523.          secure              s    do not allow permission updates
  4524.          notunnel            t    do not detect tunneling
  4525.          nofilter            f    do not filter dangerous ANSI codes
  4526.          nostack             ns   do not install a stack
  4527.  
  4528.     The explanations in the above table serve as a quick reference, but the
  4529.     following descriptions provide more information about each option.
  4530.  
  4531.     TIP: 
  4532.          Remember that you can display these options from the command line by
  4533.          entering TBDRIVER ?.
  4534.  
  4535.          help (?). 
  4536.  
  4537.          If you specify this option, TbDriver shows you the valid command
  4538.          line options as listed above. 
  4539.  
  4540.  
  4541.          net (n). 
  4542.  
  4543.          TbDriver cooperates well with most networks. In normal situations
  4544.          you will not need the NET option at all. You should use it only if
  4545.          both the following conditions are true at the same time:
  4546.  
  4547.               1. You make a connection to a Novell network and TBDRIVER.EXE
  4548.               before using the logon command.
  4549.  
  4550.               2. There is no valid ANTI-VIR.DAT record in the directory where
  4551.               the NET?.COM program resides or after renaming the NET?.COM
  4552.               file.
  4553.  
  4554.  
  4555.          remove (r). 
  4556.  
  4557.  
  4558.  
  4559.           
  4560.  
  4561.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 81
  4562.  
  4563.  
  4564.  
  4565.          This option disables TbDriver and attempts to remove the resident
  4566.          part of its code from memory and return this memory space to the
  4567.          system.
  4568.  
  4569.          Unfortunately, this works only if you loaded TbDriver last. An
  4570.          attempt to remove a TSR after you load another TSR leaves a useless
  4571.          gap in memory and could disrupt the interrupt chain. TbDriver checks
  4572.          whether it is safe to remove its resident code; if not, it simply
  4573.          disables itself.
  4574.  
  4575.  
  4576.          mode (m). 
  4577.  
  4578.          On dual video systems TbDriver uses the currently active screen. It
  4579.          might be forced to use the alternate screen with the MODE=M option
  4580.          for monochrome or the MODE=C option for color systems.
  4581.  
  4582.  
  4583.          lcd (l). 
  4584.  
  4585.          This option enhances the output on LCD screens.
  4586.  
  4587.  
  4588.          freeze (f). 
  4589.  
  4590.          This option freezes the computer when there is a virus alert.
  4591.  
  4592.  
  4593.          noavok (o). 
  4594.  
  4595.          We don't recommend this option for normal use. You might need it to
  4596.          grant permission automatically for programs without an ANTI-VIR.DAT
  4597.          record. The option requires a parameter specifying the drives to
  4598.          which the default permission applies. If, for example, you do not
  4599.          want TbMem to display a message when a TSR without ANTI-VIR.DAT
  4600.          executes from drive E: and F:, you could specify NOAVOK=EF on the
  4601.          TbDriver command line. Additionally, if you want to exclude network
  4602.          drives, you should use an asterisk [*]. For example, if you want to
  4603.          grant permission for all files without ANTI-VIR.DAT records on drive
  4604.          A:, your ram disk F: and your remote network drives, specify
  4605.          NOAVOK=AF*.
  4606.  
  4607.  
  4608.          quiet (q). 
  4609.  
  4610.  
  4611.  
  4612.           
  4613.  
  4614.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 82
  4615.  
  4616.  
  4617.  
  4618.          Some resident TBAV utilities display an activity status. TbScanX,
  4619.          for instance, displays a rectangle with the word  Scanning  in the
  4620.          upper left corner of your screen while scanning a file. The QUIET
  4621.          option disables this message.
  4622.  
  4623.  
  4624.          secure (s). 
  4625.  
  4626.          Some ThunderBYTE utilities can store permission flags in the
  4627.          ANTI-VIR.DAT files. You can use this option if you don't want these
  4628.          flags changed. It has no effect on flags already set, so you can use
  4629.          the option after installing new programs or packages.
  4630.  
  4631.          notunnel (t).  
  4632.  
  4633.          "Tunneling" is a technique viruses apply to determine the location
  4634.          of the DOS system code in memory, and to use that address to
  4635.          communicate with DOS directly. This inactivates all TSR programs,
  4636.          including resident anti-virus software. TbDriver is able to detect
  4637.          these  tunneling  attempts, and informs you about it. Some other
  4638.          anti-virus products also rely on tunneling techniques to bypass
  4639.          resident viruses, thereby causing false alarms. If you are currently
  4640.          executing other anti-viral products, the NOTUNNEL option disables
  4641.          TbDriver's tunneling detection.
  4642.  
  4643.  
  4644.          nofilter (f). 
  4645.  
  4646.          The original ANSI driver has a feature to assign text strings to
  4647.          keys. Years ago people used this feature, for example, to assign the
  4648.          DIR /W command to the F10 key. Such reprogramming can be done simply
  4649.          by embedded ANSI codes in batch files. Almost no one uses this
  4650.          feature nowadays. Some misguided people, however, use this feature,
  4651.          for example, to make a text file that reprograms the Enter key to
  4652.          execute the DEL *.* command or something even worse. Such a file is
  4653.          an "ANSI-bomb." TbDriver protects you against ANSI-bombs by
  4654.          filtering out the keyboard reprogramming codes. All other ANSI codes
  4655.          pass without interference. If you don't want this protection, or if
  4656.          you want to use this obsolete ANSI feature, you can use the NOFILTER
  4657.          option.
  4658.  
  4659.  
  4660.          nostack (ns). 
  4661.  
  4662.          By default, TbDriver maintains a stack for the resident TBAV
  4663.          utilities. For most systems, however, this isn't necessary. If you
  4664.  
  4665.           
  4666.  
  4667.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 83
  4668.  
  4669.  
  4670.  
  4671.          use this option, TbDriver uses the application stack, saving a few
  4672.          hundred bytes of memory. If the system hangs or becomes unstable,
  4673.          however, discontinue use of this option.
  4674.  
  4675.     You can use the optional filename specification to direct TbDriver to the
  4676.     location of the language file you want to use. TbDriver retrieves pop-up
  4677.     window messages from a TBDRIVER.LNG file, which it expects to find in its
  4678.     own home directory. The default English language file is TBDRIVER.LNG,
  4679.     which you can replace with a file in your local language. You can order
  4680.     separate language support packages at your local ThunderBYTE dealer, or
  4681.     download the language file from a ThunderBYTE support BBS. See the 
  4682.     Maintaining the System  section in Chapter 1 for more information about
  4683.     the ThunderBYTE support BBS.
  4684.  
  4685.     To load a language file, either rename it to the default (TBDRIVER.LNG),
  4686.     or specify the full path and filename following the command. You can also
  4687.     switch to another language by calling TbDriver again with a different
  4688.     message file. This will not take up any extra memory.
  4689.  
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.  
  4699.  
  4700.  
  4701.  
  4702.  
  4703.  
  4704.  
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.  
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.  
  4717.  
  4718.           
  4719.  
  4720.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 84
  4721.  
  4722.  
  4723.  
  4724.  
  4725.     3.4 Using TbScanX
  4726.  
  4727.     TbScanX is virtually identical to TbScan, with one important difference:
  4728.     TbScan is memory-resident. This section describes TbScanX in detail.
  4729.  
  4730.  
  4731.     3.4.1 Understanding TbScanX
  4732.        
  4733.     To implement real-time or on-the-fly virus protection, the TBAV for DOS
  4734.     utilities include the TbScanX program, a memory-resident (TSR) program
  4735.     that tracks all file operations. If you copy an infected file from a
  4736.     diskette to your hard disk, for example, TbScanX recognizes the virus
  4737.     hidden in the file and informs you about it, BEFORE the virus becomes
  4738.     active.
  4739.  
  4740.     Why use TbScanX? Let's assume you have a virus scanner that automatically
  4741.     runs from your AUTOEXEC.BAT file. If it doesn't find any viruses, your
  4742.     system should be uninfected. Right? Not necessarily. To be sure that no
  4743.     virus infects your system, you need to execute the scanner every time you
  4744.     copy a file to your hard disk, after downloading a file from a bulletin
  4745.     board system, or after unarchiving an archive such as a ZIP file. Now be
  4746.     honest, do YOU invoke your scanner every time you introduce a new file
  4747.     into the system? If you don t, you take the risk that within a couple of
  4748.     hours all files will become infected by a virus.
  4749.  
  4750.     Once you load TbScanX, it remains resident in memory and automatically
  4751.     scans all files you execute and all executable files you copy, create,
  4752.     download, modify, or unarchive. It uses the same approach to protect
  4753.     against boot sector viruses; every time you put a diskette into a drive,
  4754.     TbScanX scans the boot sector. If the disk is contaminated with a boot
  4755.     sector virus, TbScanX warns you in time!
  4756.  
  4757.     NOTE: 
  4758.          TbScanX is fully network compatible. It does not require you to
  4759.          reload the scanner after logging onto the network.
  4760.  
  4761.  
  4762.     3.4.2 Working with TbScanX
  4763.                  
  4764.     Since TbScanX is memory resident, you can execute and configure the
  4765.     program from the command line or from within a batch file. It is
  4766.     important to load TbScanX as early as possible after the machine boots.
  4767.     We therefore recommend that you execute TbScanX from within the
  4768.     CONFIG.SYS file.
  4769.  
  4770.  
  4771.           
  4772.  
  4773.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 85
  4774.  
  4775.  
  4776.  
  4777.     CAUTION: 
  4778.          TbScanX requires that you load TbDriver first! See the previous
  4779.          section on "Using TbDriver" for details.
  4780.  
  4781.     There are three possible ways to load TbScanX:
  4782.  
  4783.          1. From the DOS prompt or within the AUTOEXEC.BAT file:
  4784.  
  4785.             <PATH>TBSCANX
  4786.  
  4787.          2. From the CONFIG.SYS files as a TSR (DOS 4+ and above):
  4788.  
  4789.             INSTALL=<PATH>TBSCANX.EXE
  4790.  
  4791.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  4792.  
  4793.          3. From the CONFIG.SYS as a device driver:
  4794.  
  4795.             DEVICE=<PATH>TBSCANX.EXE
  4796.  
  4797.          NOTE: 
  4798.               Using TbScanX as a device driver does not work in all OEM
  4799.               versions of DOS. If it does not work, use the INSTALL= command
  4800.               or load TbScanX from within the AUTOEXEC.BAT. TbScanX should
  4801.               always work correctly if you run it from AUTOEXEC.BAT.
  4802.  
  4803.     Unlike other anti-virus products, you can load the ThunderBYTE Anti-Virus
  4804.     Utilities before starting a network without losing the protection
  4805.     afterwards.
  4806.  
  4807.     In addition to the three loading possibilities, you can also load TbScanX
  4808.     into an available UMB (upper memory block) if you are using DOS version 5
  4809.     or higher. To accomplish this from AUTOEXEC.BAT, use the following
  4810.     command:
  4811.  
  4812.             LOADHIGH <PATH>TBSCANX
  4813.  
  4814.     Alternately, to accomplish this from CONFIG.SYS, use the following
  4815.     command:
  4816.  
  4817.             DEVICEHIGH=<PATH>TBSCANX.EXE
  4818.  
  4819.  
  4820.     If you are using Microsoft Windows, you should load TbScanX BEFORE
  4821.     starting Windows. When you do this, there is only one copy of TbScanX in
  4822.     memory regardless of how many DOS windows you might open. Every DOS
  4823.  
  4824.           
  4825.  
  4826.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 86
  4827.  
  4828.  
  4829.  
  4830.     window (that is, every  virtual machine ) has a fully functional copy of
  4831.     TbScanX running in it.
  4832.  
  4833.     TbScanX automatically detects if Windows is running, and switches itself
  4834.     in multitasking mode if necessary. You can even disable TbScanX in one
  4835.     window without affecting the functionality in another window.
  4836.  
  4837.     NOTE: 
  4838.          TBAV for Windows includes a full-featured resident scanner. Please
  4839.          refer to the TBAV for Windows documentation for more information.
  4840.  
  4841.  
  4842.     3.4.3 Maximizing TbScanX
  4843.        
  4844.     When you run TbScanX from the DOS command line, it recognizes command
  4845.     line options (often called "switches" in DOS terms). These options appear
  4846.     as "key-words" or "key-letters." The words are easier to memorize, so we
  4847.     will use these in this manual for convenience.
  4848.  
  4849.     You can maximize TbScanX's performance by using one or more command line
  4850.     options. The first four options in the following table are always
  4851.     available. The other options are available only if TbScanX is not already
  4852.     resident in memory.
  4853.  
  4854.          option parameter   short explanation
  4855.          ------------------ ----- ----------------------------------------
  4856.          help                ?    display on-line help
  4857.          off                 d    disable scanning
  4858.          on                  e    enable scanning
  4859.          remove              r    remove TbScanX from memory
  4860.          noexec              n    never scan at execute
  4861.          allexec[=<drives>]  a    always scan at execute
  4862.          noboot              b    do not scan boot sectors
  4863.          wild                w    only search viruses which appear "in the
  4864.                                   wild"
  4865.          ems                 me   use expanded memory (EMS)
  4866.          xms                 mx   use extended memory (XMS)
  4867.          secure              s    deny all suspicious operations
  4868.          lock                l    lock PC when a virus is detected
  4869.          api                 i    load TbScanX's Application Program
  4870.                                   Interface
  4871.          compat              c    increase compatibility
  4872.  
  4873.     The explanations in the above table serve as a quick reference, but the
  4874.     following descriptions provide more information about each option.
  4875.  
  4876.  
  4877.           
  4878.  
  4879.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 87
  4880.  
  4881.  
  4882.  
  4883.     TIP: 
  4884.          Remember that you can display these options from the command line by
  4885.          entering TBSCANX ?.
  4886.  
  4887.          help (?). 
  4888.  
  4889.          This option displays the command line options as shown above. Once
  4890.          you load TbScanX, however, this option does not display all the
  4891.          options.
  4892.  
  4893.  
  4894.          off (d). 
  4895.  
  4896.          This option disables TbScanX, but leaves it in memory.
  4897.  
  4898.  
  4899.          on (e). 
  4900.  
  4901.          This option re-enables TbScanX after you disable it with the OFF
  4902.          option.
  4903.  
  4904.  
  4905.          remove (r). 
  4906.  
  4907.          This option disables TbScanX and attempts to remove the resident
  4908.          part of its code from memory and return this memory space to the
  4909.          system.  Unfortunately, this works only if you loaded TbScanX last.
  4910.          An attempt to remove a TSR after you load another TSR leaves a
  4911.          useless gap in memory and could disrupt the interrupt chain. TbScanX
  4912.          checks whether it is safe to remove its resident code; if not, it
  4913.          simply disables itself.
  4914.  
  4915.  
  4916.          noexec (n).   
  4917.  
  4918.          TbScanX normally scans files located on removable media just before
  4919.          they execute. You can use this option to disable this feature
  4920.          completely.
  4921.  
  4922.  
  4923.          allexec (a). 
  4924.  
  4925.          TbScanX normally scans executable files only if they reside on
  4926.          removable media. It "trusts" files on the hard disk, since these
  4927.          files must have been copied or downloaded before, and since by this
  4928.          time TbScanX has already scanned them automatically. If you want to
  4929.  
  4930.           
  4931.  
  4932.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 88
  4933.  
  4934.  
  4935.  
  4936.          scan every file before it executes, however, regardless of whether
  4937.          it is on the hard disk or removable media, you should use this
  4938.          option. It is possible to explicitly specify drives from which you
  4939.          want executed files to be scanned. For example, if you specify
  4940.          option ALLEXEC=DF, then TbScanX will only scan files being executed
  4941.          that reside on either drive D: or drive F:.
  4942.  
  4943.  
  4944.          noboot (b). 
  4945.  
  4946.          TbScanX automatically monitors the disk system. Every time DOS reads
  4947.          the boot sector, TbScanX scans the disk for boot sector viruses. If
  4948.          you change a disk, DOS first reads the boot sector; otherwise it
  4949.          does not know what kind of disk is in the drive. As soon as DOS
  4950.          reads the boot sector, TbScanX checks it for viruses. If you don't
  4951.          like this feature, or if it causes problems, you can switch it off
  4952.          using the NOBOOT option.
  4953.  
  4954.  
  4955.          wild (w). 
  4956.  
  4957.          TbScanX can distinguish viruses that do not appear "in the wild" 
  4958.          from frequently appearing viruses. In order to reduce the memory
  4959.          requirements of TbScanX, you can specify option WILD, which makes
  4960.          TbScanX load and use the viruses signatures from viruses that
  4961.          frequently appear "in the wild." This option is disabled by default.
  4962.  
  4963.  
  4964.          ems (me). 
  4965.  
  4966.          If you specify this option, TbScanX uses expanded memory (such as
  4967.          that provided by the LIM/EMS expansion boards or 80386 memory
  4968.          managers) to store the signatures and part of its program code.
  4969.          Since conventional memory is more valuable to your programs than
  4970.          expanded memory, we recommend the use of EMS memory. TbScanX can use
  4971.          up to 64Kb of EMS memory. (Refer to the XMS option also.)
  4972.  
  4973.          xms (mx). 
  4974.  
  4975.          If you specify this option TbScanX uses extended memory to store the
  4976.          signatures and part of its program code. An XMS driver (such as
  4977.          DOS's HIMEM.SYS) must be installed to be able to use this option.
  4978.          XMS memory is not directly accessible from within DOS, so every time
  4979.          TbScanX has to scan data it has to copy the signatures to
  4980.          conventional memory. To be able to save the original memory
  4981.          contents, TbScanX needs a double amount of XMS memory. Swapping to
  4982.  
  4983.           
  4984.  
  4985.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 89
  4986.  
  4987.  
  4988.  
  4989.          XMS is slower than swapping to EMS memory, so if you have EMS memory
  4990.          available,  we recommend swapping to EMS. Swapping to XMS might
  4991.          conflict with some other software, so if you experience problems try
  4992.          using TbScanX without the XMS option.
  4993.  
  4994.  
  4995.          secure (s). 
  4996.  
  4997.          TbScanX normally asks you to continue or to cancel when it detects a
  4998.          virus. In some business environments, however, employees should not
  4999.          make this choice. By using the SECURE option, you can disallow
  5000.          suspicious operations.
  5001.  
  5002.          NOTE: 
  5003.               This option also disables the OFF and REMOVE options.
  5004.  
  5005.  
  5006.          lock (l). 
  5007.  
  5008.          If you are a system operator, you can use this option to instruct
  5009.          TbScanX to lock the system when it detects a virus.
  5010.  
  5011.  
  5012.          api (i). 
  5013.  
  5014.          This option is for advanced users only. It enables TbScanX's
  5015.          Application Program Interface (API), which is necessary if you want
  5016.          to call TbScanX from within your application. Consult the
  5017.          ADDENDUM.DOC file for detailed programming information.
  5018.  
  5019.  
  5020.          compat (c). 
  5021.  
  5022.          In most systems TbScanX performs trouble free. Another TSR program,
  5023.          however, might conflict with TbScanX. If you load the other TSR
  5024.          first, TbScanX normally detects the conflict and uses an alternate
  5025.          interrupt. If, on the other hand, you load the other TSR after
  5026.          TbScanX, and it aborts with a message telling you that it is already
  5027.          loaded, you can use the COMPAT switch of TbScanX (when installing it
  5028.          in memory). It is also possible for TbScanX to conflict with other
  5029.          resident software that is using EMS or XMS. In this case, the system
  5030.          will hang. Again, the COMPAT option solves this problem, but be
  5031.          aware that due to extensive memory swapping, TbScanX's performance
  5032.          will slow down.
  5033.  
  5034.          TIP: 
  5035.  
  5036.           
  5037.  
  5038.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 90
  5039.  
  5040.  
  5041.  
  5042.               If you are using DOS version 5 or above and have extended
  5043.               memory (XMS) on your system, you can use EMM386.SYS to treat a
  5044.               portion or extended memory as expanded memory (EMS). See your
  5045.               DOS manual for details.
  5046.  
  5047.  
  5048.     Here is one example of loading TbScanX:
  5049.  
  5050.             DEVICE=C:\TBAV\TBSCANX.EXE XMS NOBOOT
  5051.  
  5052.     In this example, the memory resident portion of TbScanX loads into
  5053.     extended memory (XMS) and will not scan boot sectors for viruses.
  5054.  
  5055.  
  5056.     3.4.4 Understanding the Scanning Process
  5057.        
  5058.     This section adds to your knowledge of TbScanX by explaining a little
  5059.     more about the scanning process.
  5060.  
  5061.     Whenever a program tries to write to an executable file (files with the
  5062.     extensions .COM and .EXE), you will briefly see the text  "*Scanning*" in
  5063.     the upper left corner of your screen.  As long as TbScanX is scanning,
  5064.     this text appears. Since TbScanX takes very little time to scan a file,
  5065.     the message appears very briefly. The text  "*Scanning*" also appears if
  5066.     you execute a program directly from a diskette, and if DOS accesses the
  5067.     boot sector of a diskette drive.
  5068.  
  5069.     If TbScanX detects a suspicious signature that is about to be written
  5070.     into a file, a window appears similar to the one displayed below:
  5071.  
  5072.                       +---------TBAV interception---------+
  5073.                       |              WARNING!             |
  5074.                       | TbScanX detected that COMMAND.COM |
  5075.                       | is infected with                  |
  5076.                       | Yankee_Doodle {1}                 |
  5077.                       | Abort? (Y/N)                      |
  5078.                       +-----------------------------------+
  5079.  
  5080.     Whenever this message appears, you should press N to continue, or any
  5081.     other key to abort. If TbScanX detects a suspicious signature in a boot
  5082.     sector, it displays a message like the following:
  5083.  
  5084.                     +------------TBAV interception-----------+
  5085.                     |                 WARNING!               |
  5086.                     | TbScanX detected that the bootsector   |
  5087.                     | of disk in drive A: is infected with   |
  5088.  
  5089.           
  5090.  
  5091.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 91
  5092.  
  5093.  
  5094.  
  5095.                     | Form                                   |
  5096.                     | Do NOT attempt to boot with that disk! |
  5097.                     +----------------------------------------+
  5098.  
  5099.     Although a virus seems to be in the boot sector of the specified drive,
  5100.     the virus cannot do anything since it has not yet executed. If you reboot
  5101.     the machine with the contaminated diskette in the drive, however, the
  5102.     virus copies itself into memory and onto your hard disk.
  5103.  
  5104.     NOTE: 
  5105.          To display the name of a virus, TbScanX needs access to the virus
  5106.          signature file (TBSCAN.SIG). If for any reason TbScanX cannot access
  5107.          this file, it still detects viruses, but no longer displays the name
  5108.          of the virus. It displays "[Name unknown]"  instead.
  5109.  
  5110.  
  5111.  
  5112.  
  5113.  
  5114.  
  5115.  
  5116.  
  5117.  
  5118.  
  5119.  
  5120.  
  5121.  
  5122.  
  5123.  
  5124.  
  5125.  
  5126.  
  5127.  
  5128.  
  5129.  
  5130.  
  5131.  
  5132.  
  5133.  
  5134.  
  5135.  
  5136.  
  5137.  
  5138.  
  5139.  
  5140.  
  5141.  
  5142.           
  5143.  
  5144.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 92
  5145.  
  5146.  
  5147.  
  5148.  
  5149.     3.5 Using TbCheck
  5150.  
  5151.     This section describes another one of TBAV's memory resident (TSR)
  5152.     utilities, TbCheck.
  5153.  
  5154.  
  5155.     3.5.1 Understanding TbCheck
  5156.        
  5157.     TbCheck is a memory-resident integrity checker that comes into action
  5158.     whenever the system is about to execute a file. It uses the ANTI-VIR.DAT
  5159.     records TbSetup generates to detect file changes, which is often the
  5160.     first sign of a virus infection. These records contain information, such
  5161.     as file sizes and checksums, of every executable file in a directory. By
  5162.     comparing this information with the actual file status, it is possible to
  5163.     detect automatically any changes, including infections caused by viruses.
  5164.  
  5165.     Assume your AUTOEXEC.BAT file automatically loads a conventional
  5166.     integrity checker. If no files appear changed, your system should be
  5167.     uninfected, but to be sure that no virus can infect your system, you have
  5168.     to execute the checker frequently. In contrast, once you load TbCheck, it
  5169.     remains resident in memory, and automatically checks all programs you try
  5170.     to execute.
  5171.  
  5172.     NOTE: 
  5173.          TbCheck is fully network compatible. It does not require you to
  5174.          reload the checker after you are logged onto the network.
  5175.  
  5176.  
  5177.     3.5.2 Working with TbCheck
  5178.        
  5179.     Since TbCheck is a memory resident program, you can execute and configure
  5180.     it from the DOS command line or from within a batch file. You should,
  5181.     however, load TbCheck automatically when the computer boots, preferably
  5182.     during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
  5183.  
  5184.     CAUTION: 
  5185.          Be sure to load TbDriver before trying to load TbCheck. TbCheck will
  5186.          refuse to load without it.
  5187.  
  5188.     There are three possible ways to start TbCheck:
  5189.  
  5190.          1. From the DOS prompt or within the AUTOEXEC.BAT file:
  5191.  
  5192.             <PATH>TBCHECK
  5193.  
  5194.  
  5195.           
  5196.  
  5197.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 93
  5198.  
  5199.  
  5200.  
  5201.          2. From CONFIG.SYS as a TSR (DOS 4 or above):
  5202.  
  5203.             INSTALL=<PATH>TBCHECK.EXE
  5204.  
  5205.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  5206.  
  5207.          3. From CONFIG.SYS as a device driver:
  5208.  
  5209.             DEVICE=<PATH>TBCHECK.EXE
  5210.  
  5211.          NOTE: 
  5212.               Executing TbCheck as a device driver does not work in all OEM
  5213.               versions of DOS. If it doesn't work, use the INSTALL= command
  5214.               or load TbCheck from AUTOEXEC.BAT. TbCheck should always work
  5215.               correctly if you load it from AUTOEXEC.BAT. Also, unlike other
  5216.               anti-virus products, you can load the ThunderBYTE Anti-Virus
  5217.               utilities before starting a network without losing the
  5218.               protection after the network is started.
  5219.  
  5220.  
  5221.     In addition to the three loading possibilities, if you are using DOS
  5222.     version 5 or above, you can load TbCheck into an available UMB (upper
  5223.     memory block) from AUTOEXEC.BAT using this command:
  5224.  
  5225.             LOADHIGH <PATH>TBCHECK
  5226.  
  5227.     You can also load TbCheck into high memory from within the CONFIG.SYS
  5228.     using this command:
  5229.  
  5230.             DEVICEHIGH=<PATH>TBCHECK.EXE
  5231.  
  5232.     If you are using Microsoft Windows, you should load TbCheck BEFORE
  5233.     starting Windows. When you do this, there is only one copy of TbCheck in
  5234.     memory regardless of how many DOS windows you might open. Every DOS
  5235.     window (that is, every  virtual machine ) has a fully functional copy of
  5236.     TbCheck running in it.
  5237.  
  5238.     TbCheck automatically detects if Windows is running, and switches itself
  5239.     into multi-tasking mode if necessary. You can even disable TbCheck in one
  5240.     window without effecting the functionality in another window.
  5241.  
  5242.     NOTE: 
  5243.          TBAV for Windows comes with a full-fledges Windows-based version of
  5244.          TbCheck. Please refer to the documentation of TBAV for Windows for
  5245.          more information.
  5246.  
  5247.  
  5248.           
  5249.  
  5250.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 94
  5251.  
  5252.  
  5253.  
  5254.     3.5.3 Maximizing TbCheck
  5255.        
  5256.     When you run TbCheck from the DOS command line, it recognizes command
  5257.     line options (often called "switches" in DOS terms). These options appear
  5258.     as "key-words" or "key-letters." The words are easier to memorize, so we
  5259.     will use these in this manual for convenience.
  5260.  
  5261.     You can maximize TbCheck's performance by using it's various options. The
  5262.     first four options in the following table are always available. The other
  5263.     options are available only if TbCheck is not yet memory resident.
  5264.  
  5265.          option parameter  short  explanation
  5266.          ----------------- -----  ----------------------------------------
  5267.          help                ?    display on-line help
  5268.          remove              r    remove TbCheck from memory
  5269.          off                 d    disable checking
  5270.          on                  e    enable checking
  5271.          noavok [=<drives>]  o    do not warn for missing ANTI-VIR.DAT record
  5272.          fullcrc             f    calculate full CRC (slow!)
  5273.          secure              s    do not execute unauthorized files
  5274.  
  5275.     The explanations in the above table serve as a quick reference, but the
  5276.     following descriptions provide more information about each option.
  5277.  
  5278.     TIP: 
  5279.          Remember that you can display these options from the command line by
  5280.          entering TBCHECK ?.
  5281.  
  5282.  
  5283.          help (?). 
  5284.  
  5285.          Specifying this option displays the above options list.
  5286.  
  5287.  
  5288.          remove (r). 
  5289.  
  5290.          This option disables TbCheck and attempts to remove the resident
  5291.          part of its code from memory and return this memory space to the
  5292.          system. Unfortunately, this works only if you loaded TbCheck last.
  5293.          An attempt to remove a TSR after you load another TSR leaves a
  5294.          useless gap in memory and could disrupt the interrupt chain. TbCheck
  5295.          checks whether it is safe to remove its resident code; if not, it
  5296.          simply disables itself.
  5297.  
  5298.  
  5299.          off (d). 
  5300.  
  5301.           
  5302.  
  5303.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 95
  5304.  
  5305.  
  5306.  
  5307.          This option disables TbCheck, but leaves it in memory.
  5308.  
  5309.  
  5310.          on (e). 
  5311.  
  5312.          This re-enables TbCheck after having been disabled with the OFF
  5313.          option.
  5314.  
  5315.  
  5316.          noavok (o). 
  5317.  
  5318.          TbCheck looks in the ANTI-VIR.DAT file for checksum information on
  5319.          the file you want to check. TbCheck displays a message if it finds
  5320.          no checksum information or if the specific checksum is incorrect.
  5321.          This ensures that you will receive a warning whenever a malicious
  5322.          program deletes the ANTI-VIR.DAT file. Although we recommend that
  5323.          you maintain ANTI-VIR.DAT files on all drives, this might not always
  5324.          be practical with floppy disks, RAM disks, or CD-ROM disks. This
  5325.          option, therefore, tells TbCheck not to look for an ANTI-VIR.DAT on
  5326.          specific drives. For example, if you don't want TbCheck to alert you
  5327.          about the absence of an ANTI-VIR.DAT record on floppy disks A: and
  5328.          B: or on your RAM disk E:, you should load TbCheck using the
  5329.          following command line:
  5330.                 <PATH>TBCHECK NOAVOK=ABE
  5331.  
  5332.          If you don't want a message when an ANTI-VIR.DAT record is missing
  5333.          on network drives, you should specify an asterisk (*) instead of a
  5334.          drive letter. If you don't specify a drive to the NOAVOK option,
  5335.          TbCheck never issues a warning if an ANTI-VIR.DAT record is missing
  5336.          on any drive.
  5337.  
  5338.          CAUTION: 
  5339.               This presents a security hole for viruses: by deleting the
  5340.               ANTI-VIR.DAT file you will not be able to detect file changes
  5341.               caused by a viral infection. Also, please note that the NOAVOK
  5342.               option does not prevent the detection of infected programs if
  5343.               the ANTI-VIR record is available. If a program has changed and
  5344.               the ANTI-VIR record is available, you will still get an alarm
  5345.               regardless of how you implement the NOAVOK option.
  5346.  
  5347.  
  5348.          fullcrc (f). 
  5349.  
  5350.          By default, TbCheck verifies only that part of the file near the
  5351.          program's entry point. If a virus infects the file, this area will
  5352.          definitely change, so this is perfectly adequate to detect all
  5353.  
  5354.           
  5355.  
  5356.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 96
  5357.  
  5358.  
  5359.  
  5360.          infections. Other file changes, notably configuration variations,
  5361.          will not trigger the alarm. If, however, you should ever desire a
  5362.          full check that detects ANY file changes, this option takes care of
  5363.          it. Be aware that this option slows down the system considerably, so
  5364.          we don't recommend its use in normal circumstances.
  5365.  
  5366.  
  5367.          secure (s). 
  5368.  
  5369.          TbCheck normally asks whether you want to continue or cancel when a
  5370.          file has been changed or when there is no checksum information
  5371.          available. In a business environment it may be unwise to leave such
  5372.          decisions to employees. Option SECURE makes it impossible to execute
  5373.          new or unknown programs, or programs that have been changed.
  5374.  
  5375.          NOTE: 
  5376.               Be aware that the SECURE option also disables the OFF and
  5377.               REMOVE options.
  5378.  
  5379.  
  5380.     3.5.4 Understanding the Scanning Process
  5381.        
  5382.     This section adds to your knowledge of TbCheck by explaining a little
  5383.     more about the scanning process.
  5384.  
  5385.     Whenever a program wants to execute, TbCheck steps in to see if it really
  5386.     has the authority to do so. During that time it displays the message
  5387.     "*Checking*" in the upper left hand corner of the screen. TbCheck
  5388.     operates at lightning speed, so the message appears only momentarily.
  5389.  
  5390.     TbCheck quickly checks a program when the program loads. If TbCheck
  5391.     detects that a file has changed, a notification message appears. At this
  5392.     point, you can choose to either continue, or to abort the program's
  5393.     execution.
  5394.  
  5395.     If there is no information in the ANTI-VIR.DAT file about the program,
  5396.     TbCheck also informs you of this. You can either choose to continue
  5397.     without checking, or to abort the program's execution.
  5398.  
  5399.     TIP: 
  5400.          You can prevent users from executing unauthorized software by using
  5401.          the SECURE option.
  5402.  
  5403.  
  5404.     3.5.5 Testing TbCheck
  5405.  
  5406.  
  5407.           
  5408.  
  5409.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 97
  5410.  
  5411.  
  5412.  
  5413.     Understandably, many users wish to test the product they are using. In
  5414.     contrast to a word processor, for example, it is very difficult to test a
  5415.     smart integrity checker like TbCheck. You cannot change a random 25 bytes
  5416.     of an executable file just to find out whether TbCheck detects the file
  5417.     change. On the contrary, it is very likely that TbCheck will NOT detect
  5418.     it because the program checks only the entry area of the file, whereas
  5419.     the changed bytes might reside in another location within the file.  But
  5420.     again, if a virus infects the file, this entry area will definitely
  5421.     change, so this is perfectly adequate to detect all infections.
  5422.  
  5423.  
  5424.  
  5425.  
  5426.  
  5427.  
  5428.  
  5429.  
  5430.  
  5431.  
  5432.  
  5433.  
  5434.  
  5435.  
  5436.  
  5437.  
  5438.  
  5439.  
  5440.  
  5441.  
  5442.  
  5443.  
  5444.  
  5445.  
  5446.  
  5447.  
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453.  
  5454.  
  5455.  
  5456.  
  5457.  
  5458.  
  5459.  
  5460.           
  5461.  
  5462.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 98
  5463.  
  5464.  
  5465.  
  5466.  
  5467.     3.6 Using TbClean
  5468.  
  5469.     In case a virus infects one or more files, and you wish to remove the
  5470.     virus from those files (for example, in case you do not have a clean
  5471.     backup of the files), you can use TbClean. TbClean is the program that
  5472.     can remove viruses from infected files, even without knowing the virus
  5473.     itself. This section explores TbClean.
  5474.  
  5475.  
  5476.     3.6.1 Understanding TbClean
  5477.  
  5478.     TbClean isolates viral code in an infected program and removes it. It is
  5479.     then safe to use the program again, since TbClean securely eliminates the
  5480.     risk of other files becoming infected or damaged.
  5481.  
  5482.  
  5483.     Understanding the Repair Cleaner
  5484.  
  5485.     TbClean works differently from conventional virus cleaners because it
  5486.     does not actually recognize any specific virus. TbClean's disinfection
  5487.     scheme is unique, employing ThunderBYTE's heuristic ( learn as you go )
  5488.     technology so that it works with almost any virus.
  5489.  
  5490.     Actually, the TbClean program contains two cleaners: a "repair" cleaner,
  5491.     and a "heuristic" cleaner. The repair cleaner needs an ANTI-VIR.DAT file
  5492.     generated by the TbSetup program before the infection occured. This
  5493.     ANTI-VIR.DAT file contains essential information such as the original
  5494.     file size, the bytes at the beginning of the program, a cryptographic
  5495.     checksum to verify the results, etc. This information enables TbClean to
  5496.     disinfect almost every file, regardless of the specific virus that has
  5497.     infected it, even if it is unknown.
  5498.  
  5499.  
  5500.     Understanding the Heuristic Cleaner
  5501.  
  5502.     In the heuristic cleaning mode TbClean does not need any information
  5503.     about viruses either, but it has the added advantage that it does not
  5504.     even care about the original, uninfected state of a program. This
  5505.     cleaning mode is very effective if your system becomes infected with an
  5506.     unknown virus and you neglected to let TbSetup generate the ANTI-VIR.DAT
  5507.     files in time.
  5508.  
  5509.     In the heuristic mode, TbClean loads the infected file and starts
  5510.     emulating the program code to find out which part of the file belongs to
  5511.     the original program and which belongs to the virus. The result is
  5512.  
  5513.           
  5514.  
  5515.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page 99
  5516.  
  5517.  
  5518.  
  5519.     successful if TbClean restores the functionality of the original program,
  5520.     and reduces the functionality of the virus to zero.
  5521.  
  5522.     NOTE: 
  5523.          This does not imply that the cleaned file is 100% equal to the
  5524.          original. Please read on.
  5525.  
  5526.     When TbClean uses heuristic cleaning to disinfect a program, the file
  5527.     most likely will not be exactly the same as in its original state. This
  5528.     does not imply a failure on TbClean s part, nor does it mean the file is
  5529.     still infected in some way.
  5530.  
  5531.     It is actually normal that the heuristically cleaned file is still larger
  5532.     than the original. This is normal because TbClean tries to be on the safe
  5533.     side and avoids removing too much. The bytes left at the end of the file
  5534.     are  dead  code, that is, instructions that will never execute again
  5535.     since TbClean removes the  jump  at the beginning of the program. If the
  5536.     cleaned file is an EXE type file, it is likely that some bytes in front
  5537.     of the program (the  EXE-header ) are different. There are several
  5538.     suitable solutions for reconstructing the  EXE-header,  so TbClean
  5539.     cannot, of course, know the original state of the program. The
  5540.     functionality of the cleaned file will nevertheless be the same.
  5541.  
  5542.     NOTE: 
  5543.          This applies only to heuristic cleaning. If there is a suitable
  5544.          ANTI-VIR.DAT record available, the cleaned program will normally be
  5545.          exactly the same as the original clean file.
  5546.  
  5547.     It's also possible for a virus to infect a file with multiple viruses, or
  5548.     multiple instances of the same virus. Some viruses keep on infecting
  5549.     files, and in such cases the number of infected files keeps growing. If
  5550.     TbClean used its heuristic cleaning mode, it is very likely that TbClean
  5551.     removed only one instance of the virus. In this case, it is necessary to
  5552.     repeat the cleaning process until TbClean reports that it cannot remove
  5553.     anything else.
  5554.  
  5555.  
  5556.     3.6.2 Working with the TbClean Menus
  5557.  
  5558.     Selecting TbClean from TBAV's Main Menu displays the following menu:
  5559.                            
  5560.  
  5561.  
  5562.  
  5563.  
  5564.  
  5565.  
  5566.           
  5567.  
  5568.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 100
  5569.  
  5570.  
  5571.  
  5572.              +-----Main menu-----+           
  5573.              | Confi+------TbClean men-------+ 
  5574.              | TbSca|  Start cleaning        | 
  5575.              | TbSet|  List file name        | 
  5576.              | TbUti|  Use TBAV. INI file    | 
  5577.              | TbCLe|  Prompt for pause      | 
  5578.              | Virus|v Use Anti-Vir.Dat      | 
  5579.              | TBAV |v Use Heuristics        | 
  5580.              | Docum|v Expanded memory       | 
  5581.              | Regis|  Display program loops | 
  5582.              | About|  Make list file        | 
  5583.              | Quit +------------------------+ 
  5584.              | eXit (no save)    | 
  5585.              +-------------------+
  5586.  
  5587.     We'll now explore these menu options.
  5588.  
  5589.     The "Start Cleaning" Option
  5590.  
  5591.     After tracking one or more viruses, all you should do is select the 
  5592.     Start cleaning  option. After specifying the relevant filename, TbClean
  5593.     goes into action. Before beginning, however, you can select various
  5594.     parameters. We will explore these in the following sections.
  5595.  
  5596.  
  5597.     The "List File Name" Option
  5598.  
  5599.     By selecting this option you can specify a filename to use as a list file
  5600.     (see also the  Make list file  option below).
  5601.  
  5602.  
  5603.     The "Use TBAV.INI File" Option
  5604.  
  5605.     If you enable this option, the TbClean configuration values, saved in the
  5606.     TBAV.INI file, will also be valid if you run TbClean from the DOS command
  5607.     line. Be careful, however, since if you specify options in the TBAV.INI
  5608.     file, you cannot undo them on the command line. See the  "Configuring
  5609.     TBAV" section of Chapter 1 for details about TBAV.INI.
  5610.  
  5611.      
  5612.     The "Prompt For Pause" Option
  5613.  
  5614.     This option instructs TbClean to stop disassembling information after
  5615.     each full screen, enabling you to examine the results.
  5616.  
  5617.  
  5618.  
  5619.           
  5620.  
  5621.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 101
  5622.  
  5623.  
  5624.  
  5625.     The "Use ANTI-VIR.DAT" Option
  5626.  
  5627.     If you turn this option off, TbClean acts as if there were no
  5628.     ANTI-VIR.DAT records available and therefore performs heuristic cleaning.
  5629.  
  5630.  
  5631.     The "Use Heuristics" Option
  5632.  
  5633.     If you turn this option off, TbClean does not try to apply heuristic
  5634.     cleaning, even when there are no ANTI-VIR.DAT records available.
  5635.  
  5636.  
  5637.     The "Expanded Memory" Option
  5638.  
  5639.     If you select this option, TbClean detects the presence of expanded
  5640.     memory and uses it in heuristic mode. You might want to disable EMS usage
  5641.     if it is too slow or if your expanded memory manager is not very stable.
  5642.  
  5643.  
  5644.     The "Show Program Loops" Option
  5645.  
  5646.     By default TbClean keeps track of looping conditions to prevent
  5647.     repetitive data from appearing on your screen thousands of times. If you
  5648.     select this option, TbClean "works out" every loop.
  5649.  
  5650.     CAUTION: 
  5651.          Using this option drastically reduces TbClean's performance speed.
  5652.          Also, do not combine this option with the "Make list file"  option,
  5653.          because the list file might grow too big
  5654.  
  5655.  
  5656.     The "Make List File" Option
  5657.  
  5658.     Selecting this option instructs TbClean to generate an output file with a
  5659.     chronological disassembly of the virus being removed.
  5660.  
  5661.  
  5662.     Maximizing TbClean
  5663.  
  5664.     Now that you know how to use TbClean's menus, you can more easily
  5665.     understand the power of using it from the command line.
  5666.  
  5667.  
  5668.  
  5669.     3.6.3 Using TbClean Command Line Options
  5670.  
  5671.  
  5672.           
  5673.  
  5674.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 102
  5675.  
  5676.  
  5677.  
  5678.     When you run TbClean from the DOS command line, it recognizes command
  5679.     line options (often called "switches" in DOS terms). These options appear
  5680.     as "key-words" or "key-letters." The words are easier to memorize, so we
  5681.     will use these in this manual for convenience.
  5682.  
  5683.     You can maximize TbClean's performance by using its command line options.
  5684.     The following table lists these options:
  5685.  
  5686.          option parameter   short explanation
  5687.          ------------------ ----- ----------------------------------
  5688.          help                he   display on-line help
  5689.          pause               pa   enable  pause  prompt
  5690.          mono                mo   force monochrome display output
  5691.          noav                na   do not use ANTI-VIR.DAT records
  5692.          noheur              nh   do not use heuristic cleaning
  5693.          noems               ne   do not use expanded memory
  5694.          showloop            sl   show every loop iteration (slow!)
  5695.          list[=<filename>]   li   create list file
  5696.  
  5697.     The explanations in the above table serve as a quick reference, but the
  5698.     following descriptions provide more information about each option.
  5699.  
  5700.     TIP: 
  5701.          Remember that you can display these options from the command line by
  5702.          entering TBCLEAN ?.
  5703.  
  5704.  
  5705.          help (he). 
  5706.  
  5707.          Specifying this option displays the above options list.
  5708.  
  5709.  
  5710.          pause (pa). 
  5711.  
  5712.          This option instructs TbClean to stop disassembling information
  5713.          after each full screen, enabling you to examine the results. The
  5714.          PAUSE option is available for registered users only.
  5715.  
  5716.  
  5717.          mono (mo). 
  5718.  
  5719.          This option enhances the screen output on some LCD screens or
  5720.          color-emulating monochrome systems.
  5721.  
  5722.  
  5723.          noav (na). 
  5724.  
  5725.           
  5726.  
  5727.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 103
  5728.  
  5729.  
  5730.  
  5731.          If you specify this option, TbClean acts as if there were no
  5732.          ANTI-VIR.DAT records available and therefore performs heuristic
  5733.          cleaning.
  5734.  
  5735.  
  5736.          noheur (nh). 
  5737.  
  5738.          If you specify this option, TbClean does not try to apply heuristic
  5739.          cleaning, even when there are no ANTI-VIR.DAT records available.
  5740.  
  5741.  
  5742.  
  5743.          noems (ne). 
  5744.  
  5745.          If you specify this option, TbClean does not detect the presence of
  5746.          expanded memory and use it in heuristic mode. You might want to
  5747.          disable EMS use if it is too slow, or if your expanded memory
  5748.          manager is not very stable.
  5749.  
  5750.  
  5751.          showloop (sl). 
  5752.  
  5753.          By default TbClean keeps track of looping conditions to prevent
  5754.          repetitive data from appearing on your screen thousands of times. If
  5755.          you select this option, TbClean "works out" every loop. 
  5756.  
  5757.          CAUTION: 
  5758.               Using this option drastically reduces TbClean's performance
  5759.               speed. Also, do not combine this option with the "Make list
  5760.               file" option, because the list file might grow too big
  5761.  
  5762.  
  5763.          list [=<filename>] (li). 
  5764.  
  5765.          This option instructs TbClean to generate an output file with a
  5766.          chronological disassembly of the virus being removed. The LIST
  5767.          option is available for registered users only.
  5768.  
  5769.  
  5770.     Here are two examples of using TbClean from the command line:
  5771.  
  5772.          1. This command:
  5773.  
  5774.                  TBCLEAN VIRUS.EXE
  5775.  
  5776.  
  5777.  
  5778.           
  5779.  
  5780.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 104
  5781.  
  5782.  
  5783.  
  5784.          instructs TbClean to make a backup of the file VIRUS.EXE using the
  5785.          name filename VIRUS.VIR, and then disinfect VIRUS.EXE.
  5786.  
  5787.  
  5788.          2. This command:
  5789.  
  5790.                  TBCLEAN VIRUS.EXE TEST.EXE
  5791.  
  5792.          instructs TbClean to copy the file called VIRUS.EXE to the new
  5793.          filename TEST.EXE and then disinfect TEST.EXE.
  5794.  
  5795.  
  5796.  
  5797.     3.6.4 Understanding the Cleaning Process
  5798.        
  5799.     TbClean's cleaning process is extremely important. To better illustrate
  5800.     it, let's look at a sample file cleaning.
  5801.  
  5802.     Assume you want to clean a file called COMMAND.COM, which resides in the
  5803.     TMP directory on drive G. To do so, you would follow these steps:
  5804.  
  5805.     1. Select the "Start cleaning" option on the TBAV menu. The following
  5806.     window appears:
  5807.  
  5808.       +-------------------------------------------------------------------+
  5809.       |                                                                   |
  5810.       |Enter name of program to clean. TbClean will create a backup first!|
  5811.       |                                                                   |
  5812.       |                                                                   |
  5813.       +-------------------------------------------------------------------+
  5814.  
  5815.     The ThunderBYTE utility cleans on a file-by-file approach; that is, it
  5816.     cleans one file, verifies the result, and continues on to the next file.
  5817.     This helps you keep track of which file is clean, which file is damaged
  5818.     and should be restored from a backup, and which file is still infected.
  5819.  
  5820.     2. Specify the name of the file. In this case, you would type
  5821.     G:\TMP\COMMAND.COM and press ENTER. The following window appears:
  5822.  
  5823.       +-------------------------------------------------------------------+
  5824.       |                                                                   |
  5825.      | Enter name of cleaned file. Keep blank if infected program may be | |
  5826.        changed.                                                          |
  5827.       |                                                                   |
  5828.       |                                                                   |
  5829.       +-------------------------------------------------------------------+
  5830.  
  5831.           
  5832.  
  5833.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 105
  5834.  
  5835.  
  5836.  
  5837.     3. Type a new file name and press ENTER. In this case, we'll use
  5838.     G:\TMP\TEST.EXE. TbClean now begins the cleaning process.
  5839.  
  5840.     By specifying a different name you ensure that the cleaned file cannot
  5841.     overwrite the original file. In this example TbClean copies COMMAND.COM
  5842.     to TEST.COM and disinfects TEST.COM.
  5843.  
  5844.     If you do not specify a backup filename, TbClean creates a backup with
  5845.     the .VIR extension. In this example, the TbClean would copy the original
  5846.     file to COMMAND.VIR and then clean COMMAND.COM.
  5847.  
  5848.     During the cleaning process, TbClean displays as much information as
  5849.     possible about the current operation, as illustrated below. All the major
  5850.     actions appear in the emulation window at the lower half of the screen,
  5851.     which displays a disassembly and the register contents of the program
  5852.     under scrutiny, as well as a progress report. The top-left and top-right
  5853.     status windows reveal useful details of the infected file and (if TbClean
  5854.     can find a suitable ANTI-VIR.DAT file) the file's original status. You
  5855.     can abort the cleaning process by pressing Ctrl+Break.
  5856.          
  5857.        +-----------------------------------------------------------------+
  5858.        |  Thunderbyte clean utility       (C) 1992-95 Thunderbyte B.V.   |
  5859.        +---------Infected state----------++---------Original state-------+
  5860.        | Entry point (CS:IP)   34BF:0012 || Entry point (CS:IP) 34BF:0012|
  5861.        | File length                     || File length         UNKNOWN! |
  5862.        | Cryptographic CRC     9F90F52A  || Cryptographic CRC   UNKNOWN! |
  5863.        +---------------------------------++------------------------------+
  5864.        |                                                                 |
  5865.        | Starting clean attempt. Analyzing infected file...              |
  5866.        | Anti-Vir not found: original state unknown. Trying emulation... |
  5867.        | Emulation terminated:                                           |
  5868.        |                                                                 |
  5869.        | G:\VIRUS\COMMAND.COM                                            |
  5870.        | CS:IP    Instruction     AX  BX  CX  DX  DS  SI  ES  DI  SS  SP |
  5871.        | 9330:0101  mov ah,40    FFFE9330FFFFEFFFD382FFEDEFFEFFFF9520007E|
  5872.        | 9330:0103  mov bx,0002  40FE9330FFFFEFFFD382FFEDEFFEFFFF9520007E|
  5873.        | 9330:0106  mov cx,0016  40FE0002FFFFEFFFD382FFEDEFFEFFFF9520007E|
  5874.        | 9330:0109  mov dx,cs    40FE00020016EFFFD382FFEDEFFEFFFF9520007E|
  5875.        | 9330:010B  mov ds,dx    40FE000200169330D382FFEDEFFEFFFF9520007E|
  5876.        | 9330:010D  mov dx,0117  40FE0002001693309330FFEDEFFEFFFF9520007E|
  5877.        | 9330:0110  int 21       40FE0002001601179330FFEDEFFEFFFF9520007E|
  5878.        | 9330:0112  mov ax,4CFF  40FE0002001601179330FFEDEFFEFFFF9520007E|
  5879.        | 9330:0115  int 21       4CFF0002001601179330FFEDEFFEFFFF9520007E|
  5880.        | 9330:0115  <End of emulation>                                   |
  5881.        +-----------------------------------------------------------------+
  5882.  
  5883.  
  5884.           
  5885.  
  5886.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 106
  5887.  
  5888.  
  5889.  
  5890.     A successful purge is not the end of the story! Your job is only
  5891.     partially complete. Some viruses damage data files. They could randomly
  5892.     change bytes on your disks, swap sectors, or perform other nasty tricks. 
  5893.     A cleaning utility can never repair data!
  5894.  
  5895.     4. Check your data files thoroughly and consult a virus expert to find
  5896.     out what the virus is capable of doing. If there is any doubt, restoring
  5897.     the data is definitely the most reliable option.
  5898.  
  5899.     WARNING: 
  5900.          Under no circumstances should you continue to use cleaned software!
  5901.          Cleaning is a temporary solution that simply enables you to delay a
  5902.          large restore operation until a more practical time. You should
  5903.          never rely on a cleaned program for any length of time. This is not
  5904.          a criticism of anti-viral cleaning agents. If your data is valuable
  5905.          to you, you should care for it as much as possible, and sticking to
  5906.          original software is simply an elementary precaution. In other
  5907.          words, restore the original programs as soon as possible!
  5908.  
  5909.  
  5910.     3.6.5 Understanding Cleaning Limitations
  5911.        
  5912.     Although TbClean has a very high success rate and is able to clean
  5913.     programs that other cleaners refuse to process, it simply cannot remove
  5914.     all viruses and cannot clean every file. Examples of computer viruses
  5915.     that TbClean (or other virus cleaners) cannot clean include:
  5916.  
  5917.          Overwriting viruses. This type of virus does not add itself to the
  5918.          end of the original program, rather it copies itself over the
  5919.          original file. Further, it does not attempt to start the original
  5920.          program but simply hangs the machine or returns you to DOS after it
  5921.          activates. Since it overwrites the original file, no cleaner can
  5922.          restore the file.
  5923.  
  5924.          Some encrypted viruses. TbClean is usually able to decrypt the
  5925.          virus. However, some viruses use anti-debugger features that TbClean
  5926.          cannot yet cope with (but we re working on it!).
  5927.  
  5928.          The construction of some program files makes them impossible to
  5929.          clean, making reinstallation the only option. Some of these file
  5930.          types include:
  5931.  
  5932.               EXE-programs with internal overlays. TbScan marks these files
  5933.               with an "i" flag. Any infection is sure to cause major damage
  5934.               to these files. Some viruses recognize such programs and do not
  5935.  
  5936.  
  5937.           
  5938.  
  5939.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 107
  5940.  
  5941.  
  5942.  
  5943.               infect them, but most viruses infect these programs anyway and
  5944.               corrupt them. No cleaner can repair this kind of damage.
  5945.  
  5946.               Programs with sanity check routines. Some programs (mostly
  5947.               anti-virus software or copy-protected programs) perform their
  5948.               own kind of sanity check. Heuristic cleaning of an infected
  5949.               program normally results in a program that is not physically
  5950.               identical to the original. So, although TbClean removes the
  5951.               virus from the program and the program is functionally
  5952.               identical to the original, the program's internal sanity check
  5953.               usually detects the slight changes and aborts the program.
  5954.  
  5955.  
  5956.     Cleaning Multiple Files
  5957.  
  5958.     TbClean has no provisions for cleaning multiple programs in one run.
  5959.     There are two reasons for this omission:
  5960.  
  5961.          1. TbClean cannot search for viruses automatically since it does not
  5962.          know any virus. 
  5963.  
  5964.          2. We recommend that you clean the system on a file-by-file basis.
  5965.          Clean one file, verify the result, and go on to the next file.
  5966.          Again, this helps you keep track of which files are clean, which
  5967.          files are damaged and should be restored from a backup, and which
  5968.          files are still infected.
  5969.  
  5970.  
  5971.  
  5972.  
  5973.  
  5974.  
  5975.  
  5976.  
  5977.  
  5978.  
  5979.  
  5980.  
  5981.  
  5982.  
  5983.  
  5984.  
  5985.  
  5986.  
  5987.  
  5988.  
  5989.  
  5990.           
  5991.  
  5992.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 108
  5993.  
  5994.  
  5995.  
  5996.  
  5997.     3.7 Using TbMem
  5998.  
  5999.     TBAV provides three extra utilities that help you build a massive
  6000.     security wall around your computer system. This set includes: TbMem,
  6001.     TbFile and TbDisk. In this section, we'll introduce these three utilities
  6002.     collectively as a set and then examine each individual utility.
  6003.  
  6004.  
  6005.     3.7.1 Introducing the TbMem, TbFile & TbDisk Utilities
  6006.        
  6007.     As the old saying goes,  An ounce of prevention is worth a pound of cure, 
  6008.     and the computer virus threat gives this old saying new meaning. TBAV is
  6009.     the best product on the market for removing viruses, but if this is all
  6010.     it did, it would be of little use. It's much wiser to prevent virus
  6011.     infection than wait until you get one and remove it.
  6012.  
  6013.     This is where a set of three small memory-resident (TSR) programs come
  6014.     in. These utilities are shipped with TBAV for DOS; they monitor specific
  6015.     areas of your system and protect against virus infection. These three
  6016.     utilities are:
  6017.  
  6018.  
  6019.          TbMem. 
  6020.  
  6021.          This program detects attempts by programs to remain resident in
  6022.          memory and ensures that no program can remain resident in memory
  6023.          without permission.
  6024.  
  6025.  
  6026.          TbFile. 
  6027.  
  6028.          This program detects attempts by programs to infect other programs.
  6029.  
  6030.  
  6031.          TbDisk. 
  6032.  
  6033.          This program detects attempts by programs to write directly to the
  6034.          disk (bypassing DOS), attempts to format disks, and other such
  6035.          destructive actions.
  6036.  
  6037.  
  6038.     3.7.2 Loading TbMem, TbFile and TbDisk
  6039.  
  6040.  
  6041.  
  6042.  
  6043.           
  6044.  
  6045.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 109
  6046.  
  6047.  
  6048.  
  6049.     The TbMem, TbFile and TbDisk programs load in the same way. The following
  6050.     sections contain specific information on each of the programs, but here
  6051.     we present loading information that is common to all of them.
  6052.  
  6053.     CAUTION: 
  6054.          You must load TbDriver before you can load any of the TbMem, TbFile
  6055.          or TbDisk utilities. These utilities will refuse to load without it.
  6056.  
  6057.     There are three possible ways to load TbMem, TbFile or TbDisk. Please
  6058.     note that we call the programs TbXXX here. Naturally, you will replace
  6059.     the XXX with either Mem, File, or Disk when you load each utility.
  6060.  
  6061.          1. From the DOS prompt or within the AUTOEXEC.BAT file:
  6062.  
  6063.             <PATH>TBXXX
  6064.  
  6065.          2. From the CONFIG.SYS file as a TSR (DOS 4 or higher):
  6066.  
  6067.             INSTALL=<PATH>TBXXX.EXE
  6068.  
  6069.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  6070.  
  6071.          3. From the CONFIG.SYS as a device driver:
  6072.  
  6073.             DEVICE=<PATH>TBXXX.EXE
  6074.  
  6075.     NOTE: 
  6076.          Executing one of the utilities TbMem, TbFile or TbDisk as a device
  6077.          driver does not work in all OEM versions of DOS. If it doesn't work,
  6078.          use the INSTALL= command or load the desired program from within the
  6079.          AUTOEXEC.BAT. TbMem, TbFile and TbDisk should always work correctly
  6080.          after being started from within the AUTOEXEC.BAT file. Also, unlike
  6081.          other anti-virus products, you can load the ThunderBYTE Anti-Virus
  6082.          utilities before starting a network without losing the protection
  6083.          after the network starts.
  6084.  
  6085.     In addition to the three loading possibilities, if you are using DOS
  6086.     version 5 or above, you can load the TbMem, TbFile or TbDisk programs in
  6087.     an available UMB (upper memory block) from AUTOEXEC.BAT using the
  6088.     following command:
  6089.  
  6090.                  LOADHIGH <PATH>TBXXX.EXE
  6091.  
  6092.     You can load TbMem, TbFile or TbDisk high from within the CONFIG.SYS
  6093.     using the following command:
  6094.  
  6095.  
  6096.           
  6097.  
  6098.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 110
  6099.  
  6100.  
  6101.  
  6102.                  DEVICEHIGH=<PATH>TBXXX.EXE
  6103.  
  6104.     If you are using Microsoft Windows, you should load the resident TBAV
  6105.     programs BEFORE starting Windows. When you do this, there is only one
  6106.     copy of the program in memory regardless of how many DOS windows you
  6107.     might open. Every DOS window (that is, every  virtual machine ) has a
  6108.     fully functional copy of the program running in it.
  6109.  
  6110.     Each of the programs automatically detects if Windows is running, and
  6111.     switches itself into multitasking mode if necessary. You can even disable
  6112.     each of the programs in one window without affecting the functionality in
  6113.     another window.
  6114.  
  6115.  
  6116.     3.7.3 Using Command Line Options
  6117.  
  6118.     You can load all the TbMem, TbFile or TbDisk utilities using several
  6119.     command line options. See the description of each individual utility for
  6120.     further information.
  6121.  
  6122.  
  6123.     3.7.4 Understanding TbMem
  6124.  
  6125.     Once they execute, most viruses remain resident in memory. While resident
  6126.     in memory, they might have many opportunities to infect other files in
  6127.     the background, interfere with the system operation, hide themselves from
  6128.     virus scanners or checksumming programs, and/or perform other nasty
  6129.     tasks.
  6130.  
  6131.     On the other hand, because so many viruses remain resident in memory,
  6132.     most of them are easy to detect by monitoring the process of becoming
  6133.     memory resident.
  6134.  
  6135.     TbMem monitors the system and ensures that no program can remain resident
  6136.     in memory without permission. This brings to your attention any software
  6137.     that attempts to remain resident, thereby reducing the likelihood of a
  6138.     virus going unnoticed.
  6139.  
  6140.     TbMem also protects CMOS (a small area of memory that stores vital
  6141.     information concerning your computer).
  6142.  
  6143.     NOTE: 
  6144.          What exactly is a memory-resident program? Most programs run by
  6145.          executing a command at the DOS command line, perform some task, and
  6146.          then terminate, placing you back where you started. Some programs,
  6147.          however, continue to operate after you terminate them. These
  6148.  
  6149.           
  6150.  
  6151.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 111
  6152.  
  6153.  
  6154.  
  6155.          programs load themselves into memory, remain resident in memory, and
  6156.          perform some task in the background. Programs in this category
  6157.          include: disk caches, print spoolers and network software. These
  6158.          programs are often referred to as TSR (Terminate and Stay Resident)
  6159.          programs.
  6160.  
  6161.     Like a TSR program, most viruses also remain resident in memory, and it
  6162.     is for this reason that TbMem should be usedto control the process of
  6163.     becoming resident in memory.
  6164.  
  6165.     If a program attempts to become resident, TbMem offers you the option to
  6166.     abort the attempt. It does this by guarding the DOS TSR function calls
  6167.     while also monitoring important interrupts and memory structures. TbMem
  6168.     uses the ANTI-VIR.DAT records to determine whether it will allow a
  6169.     specific program to remain resident in memory.
  6170.  
  6171.     TbSetup recognizes many common TSRs. If it doesn't recognize a TSR,
  6172.     however, TbMem asks your permission for the TSR to load. It then
  6173.     maintains permission information in the ANTI-VIR.DAT files to prevent
  6174.     TbMem from bothering you when an approved TSR is loading.
  6175.  
  6176.     TbMem also checks the contents of the CMOS configuration memory after
  6177.     each program termination to ensure that programs have not changed. TbMem
  6178.     offers you the option of restoring the CMOS configuration when it
  6179.     changes. Once you  teach  TbMem which programs are TSRs and which are not
  6180.     on a PC, you can use TbSetup to set the permission flag of these files on
  6181.     other machines.
  6182.  
  6183.     TbMem also installs a hot key that you can use to escape from nearly all
  6184.     programs.
  6185.  
  6186.     TbMem is fully network compatible. It does not require you to reload the
  6187.     checker after logging onto a network.
  6188.  
  6189.  
  6190.     3.7.5 Working with TbMem
  6191.        
  6192.     Since TbMem is a memory resident program, you can execute and configure
  6193.     it from the command line or from within a batch file. It is more
  6194.     efficient, however, to load TbMem at boot up from either CONFIG.SYS or
  6195.     AUTOEXEC.BAT. See the "Introducing the TbMem, TbFile and TbDisk
  6196.     Utilities" section earlier in this chapter for details.
  6197.  
  6198.     CAUTION: 
  6199.          You must load TbDriver before you can load TbMem. TbMem will refuse
  6200.          to load without it.
  6201.  
  6202.           
  6203.  
  6204.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 112
  6205.  
  6206.  
  6207.  
  6208.  
  6209.     3.7.6 Maximizing TbMem
  6210.        
  6211.     You can maximize the performance of TbMem by using its command line
  6212.     options. The first four options in the table below are always available.
  6213.     The other options are available only if TbMem is not yet memory resident.
  6214.  
  6215.          option parameter   short explanation
  6216.          ------------------ ----- ----------------------------------------
  6217.          help                ?    display on-line help
  6218.          remove              r    remove TbMem from memory
  6219.          on                  e    enable checking
  6220.          off                 d    disable checking
  6221.          secure              s    do not execute unauthorized TSRs
  6222.          hotkey<=keycode>    k    specify keyboard scancode for the program
  6223.                                   cancel hotkey
  6224.          nocancel            n    do not install the cancel hotkey
  6225.          nocmos              m    do not protect CMOS memory
  6226.  
  6227.  
  6228.     The explanations in the above table serve as a quick reference, but the
  6229.     follow descriptions provide more information about each option.
  6230.  
  6231.     TIP: 
  6232.          Remember that you can display these options from the command line by
  6233.          entering TBMEM ?.
  6234.  
  6235.  
  6236.          help (?).  
  6237.  
  6238.          Specifying this option displays the brief help as shown above.
  6239.  
  6240.  
  6241.          remove (r). 
  6242.  
  6243.          This option disables TbMem and attempts to remove the resident part
  6244.          of its code from memory and return this memory space to the system.
  6245.          Unfortunately, this works only if you loaded TbMem last. An attempt
  6246.          to remove a TSR after you load another TSR leaves a useless gap in
  6247.          memory and could disrupt the interrupt chain. TbMem checks whether
  6248.          it is safe to remove its resident code; if not, it simply disables
  6249.          itself.
  6250.  
  6251.  
  6252.          on (e). 
  6253.  
  6254.  
  6255.           
  6256.  
  6257.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 113
  6258.  
  6259.  
  6260.  
  6261.          This option reactivates TbMem after you disable it using the OFF
  6262.          option.
  6263.  
  6264.  
  6265.          off (d). 
  6266.  
  6267.          Specifying this option disables TbMem but leaves it in memory.
  6268.  
  6269.  
  6270.          secure (s). 
  6271.  
  6272.          TbMem normally asks the user to continue or to cancel when a program
  6273.          tries to remain resident in memory. In some business environments,
  6274.          however, employees should not make this choice. If you use this
  6275.          option, it is no longer possible to execute new or unknown resident
  6276.          software. It is also no longer possible to use the REMOVE or OFF
  6277.          options.
  6278.  
  6279.  
  6280.          hotkey (k). 
  6281.  
  6282.          TbMem offers you a reliable way to escape from any program by
  6283.          pressing a special key combination. You can not only use this
  6284.          feature to escape from programs that "hang," but also from software
  6285.          that seems to be malicious (although we recommend powering down and
  6286.          rebooting from a write-protected system disk). Instead of the
  6287.          default combination (Ctrl+Alt+Insert), you can specify another
  6288.          keyboard combination using the HOTKEY=<KEYCODE> option. You must
  6289.          specify the scancode using a 4-digit hexadecimal number; the first
  6290.          two digits specify the shift-key mask, and the last two digits
  6291.          specify the keyboard scancode. Consult your PC manual for a list of
  6292.          "scan codes." For example, the default scan code is 0C52, but you
  6293.          can change this to another code, such as 0C01, the code for
  6294.          Ctrl+Alt+Esc.
  6295.  
  6296.  
  6297.          nocancel (n). 
  6298.  
  6299.          TbMem normally installs the program cancel hot key
  6300.          (Ctrl+Alt+Insert). If you do not want to use the program cancel hot
  6301.          key, specify this option, since this saves a few bytes of memory.
  6302.  
  6303.  
  6304.          nocmos (m). 
  6305.  
  6306.  
  6307.  
  6308.           
  6309.  
  6310.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 114
  6311.  
  6312.  
  6313.  
  6314.          TbMem normally protects the CMOS memory if available. If you do not
  6315.          want TbMem to do this, you can specify this option.
  6316.  
  6317.  
  6318.     The following command loads TbMem as a device driver in the CONFIG.SYS,
  6319.     configures the "program cancel hot key" as Ctrl+Alt+Esc, and cancels
  6320.     protection of CMOS memory:
  6321.  
  6322.             DEVICE=C:\TBAV\TBMEM.EXE HOTKEY=0C01 NOCMOS
  6323.  
  6324.     To achieve the same functionality, you could execute TbMem from the DOS
  6325.     command line rather then specifying the TbMem command line in the
  6326.     CONFIG.SYS by entering the following command at the DOS command line:
  6327.  
  6328.             C:\TBAV\TBMEM.EXE HOTKEY=0C01 NOCMOS
  6329.  
  6330.  
  6331.     3.7.7 Understanding TbMem's Operation
  6332.        
  6333.     If TbMem detects that a program tries to remain resident in memory, it
  6334.     displays a pop-up window displaying a message to that effect. You can
  6335.     either choose to continue, or to abort the program's loading. If you
  6336.     answer "NO" to the question "Remove program from memory?" the program
  6337.     continues undisturbed, and TbMem places a mark in the ANTI-VIR.DAT file
  6338.     about this program. Next time you invoke the same resident program, TbMem
  6339.     will not disturb you again.
  6340.  
  6341.     There are many programs that normally remain resident in memory, such as:
  6342.     disk caches, print spoolers, and others. How, then, does TbMem
  6343.     distinguish between these programs and viruses?
  6344.  
  6345.     TbMem uses the ANTI-VIR.DAT records generated by TbSetup to keep track of
  6346.     which files are normal TSRs and which are not. It marks most common
  6347.     resident software as being common so you don't have to worry about these
  6348.     files.
  6349.  
  6350.     If TbMem pops up with the message that a program tries to remain resident
  6351.     in memory, you have to consider the purpose of the program mentioned. For
  6352.     example, is the program supposed to continue to operate in the
  6353.     background? The answer is obviously yes if the program is a disk cache,
  6354.     print spooler, pop-up utility or system extension software.
  6355.  
  6356.     If, on the other hand, the message appears after you have exited your
  6357.     word processor, database, spreadsheet application, something is
  6358.     definitely wrong! You ought to terminate the program immediately and use
  6359.     a virus scanner to check the system. The same applies when software that
  6360.  
  6361.           
  6362.  
  6363.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 115
  6364.  
  6365.  
  6366.  
  6367.     operates normally without staying resident in memory suddenly changes its
  6368.     behavior and tries to remain resident in memory.
  6369.  
  6370.  
  6371.  
  6372.  
  6373.  
  6374.  
  6375.  
  6376.  
  6377.  
  6378.  
  6379.  
  6380.  
  6381.  
  6382.  
  6383.  
  6384.  
  6385.  
  6386.  
  6387.  
  6388.  
  6389.  
  6390.  
  6391.  
  6392.  
  6393.  
  6394.  
  6395.  
  6396.  
  6397.  
  6398.  
  6399.  
  6400.  
  6401.  
  6402.  
  6403.  
  6404.  
  6405.  
  6406.  
  6407.  
  6408.  
  6409.  
  6410.  
  6411.  
  6412.  
  6413.  
  6414.           
  6415.  
  6416.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 116
  6417.  
  6418.  
  6419.  
  6420.  
  6421.     3.8 Using TbFile
  6422.  
  6423.     This section concerns another resident TBAV utility, TbFile, which checks
  6424.     programs for virus infections as they begin to load.
  6425.  
  6426.  
  6427.     3.8.1 Understanding TbFile
  6428.       
  6429.     The two most dangerous virus categories are the boot sector and the file
  6430.     variants. File viruses all have a common purpose, namely, to infect
  6431.     programs. Infecting a program involves very unusual file manipulations
  6432.     that are quite dissimilar to normal file handling procedures, so in order
  6433.     to detect viral activity it is essential to keep an eye out for program
  6434.     file changes involving peculiar actions.
  6435.  
  6436.     TbFile monitors the system and detects attempts by programs to infect
  6437.     other programs. Unlike other file guards, TbFile monitors the system only
  6438.     for virus specific file modifications. TbFile doesn't generate an alarm
  6439.     when a program modifies itself for configuration purposes, nor does it
  6440.     bother you when you update a program or create one yourself. On an
  6441.     average system, configurations should never cause a false alarm. TbFile
  6442.     has a very sophisticated infection detector and will not give a false
  6443.     alarm when you perform standard file operations. In normal configurations
  6444.     you will never get a false alarm!
  6445.  
  6446.     TbFile not only detects attempts to infect programs, it also offers you
  6447.     the option of aborting the infection process and continuing a program's
  6448.     execution.
  6449.  
  6450.     TbFile also detects other suspicious activities, including setting the
  6451.     seconds value of time stamps to an illegal value.
  6452.  
  6453.     TIP: 
  6454.          As many users know, you can protect files against unwanted
  6455.          modifications by means of the read-only attribute. Without TbFile,
  6456.          however, someone can easily circumvent this standard DOS protection.
  6457.          TbFile detects any attempts to sabotage the read-only attribute.
  6458.          This gives you added security by enabling you to use this
  6459.          uncomplicated method to fully protect your files against
  6460.          destruction and infection.
  6461.  
  6462.     TbFile is fully network compatible. It does not require you to reload the
  6463.     checker after logging onto a network. In contrast, other resident
  6464.     anti-virus utilities force you to choose between protection BEFORE you
  6465.     start the network, or protection AFTER you start network, but not both.
  6466.  
  6467.           
  6468.  
  6469.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 117
  6470.  
  6471.  
  6472.  
  6473.  
  6474.     3.8.2 Working with TbFile
  6475.        
  6476.     Since TbFile is a memory resident program, you can execute and configure
  6477.     it from the command line or from within a batch file. It is more
  6478.     efficient, however, to load TbFile at boot up from either CONFIG.SYS or
  6479.     AUTOEXEC.BAT.  See the "Introducing the TbMem, TbFile and TbDisk
  6480.     Utilities" section earlier in this chapter for details.
  6481.  
  6482.     CAUTION: 
  6483.          You must load TbDriver before you can load TbFile. TbFile will
  6484.          refuse to load without it.
  6485.  
  6486.  
  6487.     3.8.3 Maximizing TbFile
  6488.        
  6489.     You can maximize the performance of TbFile by using its command line
  6490.     options. The first four options in the table below are always available.
  6491.     The other options are available only if TbFile is not yet memory
  6492.     resident.
  6493.  
  6494.          option parameter   short explanation
  6495.          ------------------ ----- ------------------------------
  6496.          help                ?    display on-line help
  6497.          remove              r    remove TbFile from memory
  6498.          on                  e    enable checking
  6499.          off                 d    disable checking
  6500.          secure              s    all permissions denied
  6501.          allattrib           a    readonly check on all files
  6502.          compat              c    allow CPM-style file I/O calls
  6503.  
  6504.     The explanations in the above table serve as a quick reference, but the
  6505.     following descriptions provide more information about each option.
  6506.  
  6507.     TIP: 
  6508.          Remember that you can display these options from the command line by
  6509.          entering TBFILE ?.
  6510.  
  6511.  
  6512.          help (?). 
  6513.  
  6514.          Specifying this option displays the brief help shown above.
  6515.  
  6516.  
  6517.          remove (r). 
  6518.  
  6519.  
  6520.           
  6521.  
  6522.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 118
  6523.  
  6524.  
  6525.  
  6526.          This option disables TbFile and attempts to remove the resident part
  6527.          of its code from memory and return this memory space to the system.
  6528.          Unfortunately, this works only if you loaded TbFile last. An attempt
  6529.          to remove a TSR after you load another TSR leaves a useless gap in
  6530.          memory and could disrupt the interrupt chain. TbFile checks whether
  6531.          it is safe to remove its resident code; if not, it simply disables
  6532.          itself.
  6533.  
  6534.  
  6535.          on (e). 
  6536.  
  6537.          This option reactivates TbFile after you disabled it using the OFF
  6538.          option.
  6539.  
  6540.  
  6541.          off (d). 
  6542.  
  6543.          Specifying this options disable TbFile, but leaves it in memory.
  6544.  
  6545.  
  6546.          secure (s). 
  6547.  
  6548.          TbFile normally asks you to continue or to cancel when a program
  6549.          tries to perform a suspicious operation. In some business
  6550.          environments, however, employees should not make this decision. If
  6551.          you use the SECURE option, it is no longer possible to allow
  6552.          suspicious operations. It is also no longer possible to use the OFF
  6553.          and REMOVE options.
  6554.  
  6555.  
  6556.          allattrib (a). 
  6557.  
  6558.          TbFile normally protects only the read-only attribute of executable
  6559.          files (program files with the extension COM and EXE). If you want to
  6560.          have the read-only check on all files, add this option. In this case
  6561.          you always get an alarm when something attempts to remove the
  6562.          read-only attribute of any file.
  6563.  
  6564.  
  6565.          compat (c). 
  6566.  
  6567.          DOS still contains some CPM (an earlier operating system) internal
  6568.          functions, even though DOS programs no longer use these functions.
  6569.          Some viruses, however, use these functions to bypass anti-virus
  6570.          software. TbFile closes these backdoors by default, but you can
  6571.          prevent this by specifying this option. 
  6572.  
  6573.           
  6574.  
  6575.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 119
  6576.  
  6577.  
  6578.  
  6579.  
  6580.     The following command loads as a device driver in CONFIG.SYS and it
  6581.     guards the read-only attribute of all files:
  6582.  
  6583.              DEVICE=C:\TBAV\TBFILE.EXE ALLATTRIB
  6584.  
  6585.     To achieve the same functionality, you could execute TbFile from the DOS
  6586.     command line rather then specifying the TbFile command line in the
  6587.     CONFIG.SYS by entering the following command at the command line:
  6588.  
  6589.              C:\TBAV\TBFILE.EXE ALLDRIVES
  6590.  
  6591.  
  6592.  
  6593.  
  6594.  
  6595.  
  6596.  
  6597.  
  6598.  
  6599.  
  6600.  
  6601.  
  6602.  
  6603.  
  6604.  
  6605.  
  6606.  
  6607.  
  6608.  
  6609.  
  6610.  
  6611.  
  6612.  
  6613.  
  6614.  
  6615.  
  6616.  
  6617.  
  6618.  
  6619.  
  6620.  
  6621.  
  6622.  
  6623.  
  6624.  
  6625.  
  6626.           
  6627.  
  6628.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 120
  6629.  
  6630.  
  6631.  
  6632.  
  6633.     3.9 Using TbDisk
  6634.  
  6635.     This section deals with TbDisk, which prevents viruses from damaging data
  6636.     on your hard disk.
  6637.  
  6638.  
  6639.     3.9.1 Understanding TbDisk
  6640.  
  6641.     Many viruses try to damage the data on disk. They accomplish this by 
  6642.     various actions, such as, formatting the disk, overwriting the FAT, and
  6643.     swapping disk sectors, among others. Almost anything is possible!
  6644.  
  6645.     Another category of malicious software, known as  boot sector virus
  6646.     droppers,  install a boot sector virus on the disk. The program itself is
  6647.     not a virus, so detection with virus scanners and other anti-viral
  6648.     software is very difficult. The only way to detect such a program is by
  6649.     monitoring its behavior.
  6650.  
  6651.     The main problem in all this lies in the way these programs manage to
  6652.     avoid the usual DOS procedures: they go directly to the BIOS (Basic
  6653.     Input/Output System). This is the reason you need TbDisk, to monitor the
  6654.     system and to ensure that no program can write directly to disk without
  6655.     permission. TbDisk draws attention to any software that attempts to write
  6656.     directly to disk, thereby reducing the likelihood of a virus remaining
  6657.     unnoticed. TbDisk prevents viruses from damaging data on your disk and
  6658.     stops boot sector virus droppers in their tracks.
  6659.  
  6660.     TbDisk not only informs you when a program tries to write directly to the
  6661.     disk, it also offers you the option to abort the program before it can
  6662.     cause any damage.
  6663.  
  6664.     TbDisk is able to detect  stealth  techniques, that is, attempts to
  6665.     single step through the BIOS software, and even monitors the use of
  6666.     undocumented calls that could cause disk damage. For example, TbDisk is
  6667.     able to distinguish whether DOS or an application makes direct write
  6668.     attempts via Int 13h (a system call implemented in the BIOS of your
  6669.     computer). Direct writes are perfectly legal for DOS, but unusual for
  6670.     application software.
  6671.  
  6672.     TbDisk does require a little maintenance. TbDisk uses the ANTI-VIR.DAT
  6673.     records to determine if it should allow a program (including popular disk
  6674.     utilities, which TbSetup recognizes) to write directly to the disk. In
  6675.     the absence of an ANTI-VIR.DAT record, TbDisk asks your permission first
  6676.     and, if granted it, updates the record accordingly to avoid repeated
  6677.     warnings about the same program.
  6678.  
  6679.           
  6680.  
  6681.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 121
  6682.  
  6683.  
  6684.  
  6685.     TbDisk is fully network compatible. It does not require you to reload the
  6686.     program after logging onto a network. Other resident anti-virus utilities
  6687.     force you to choose between either protection BEFORE the network is
  6688.     started, or protection AFTER it starts, but not both..
  6689.  
  6690.     TIP: 
  6691.          TbDisk also comes in handy if you ever need to write protect a hard
  6692.          disk. This bonus feature often helps when testing new software.
  6693.  
  6694.  
  6695.     3.9.2 Working with TbDisk
  6696.        
  6697.     Since TbDisk is a memory resident program, you can execute and configure
  6698.     it from the command line or from within a batch file. It is more
  6699.     efficient, however, to load TbFile at boot up from either CONFIG.SYS or
  6700.     AUTOEXEC.BAT.  See the "Introducing the TbMem, TbFile and TbDisk
  6701.     Utilities" section earlier in this chapter for details.
  6702.  
  6703.     CAUTION: 
  6704.          You must load TbDriver before you can load TbDisk. TbDisk will
  6705.          refuse to load without it.
  6706.  
  6707.     In addition to all this, there are several special considerations in
  6708.     using TbDisk.
  6709.  
  6710.  
  6711.     Loading TbDisk
  6712.  
  6713.     Improper installation of TbDisk can cause excessive false alarms! If you
  6714.     want to install TbDisk in your CONFIG.SYS or AUTOEXEC.BAT file, we 
  6715.     recommend that you use the INSTALL option of TbDisk first. If the system
  6716.     continues to behave normally and TbDisk does not give false alarms when
  6717.     you copy files on your hard disk, TbDisk is installed correctly and you
  6718.     can remove the INSTALL option from the command.
  6719.  
  6720.     WARNING: 
  6721.          Failure to use the Install option when you install TbDisk in
  6722.          CONFIG.SYS or AUTOEXEC.BAT file might cause loss of data! Please
  6723.          read on.
  6724.  
  6725.     While the INSTALL option instructs TbDisk to allow all disk accesses, it
  6726.     also displays a message as it would do in normal mode. If no false alarms
  6727.     occur when you copy files on your hard disk, TbDisk is installed
  6728.     correctly and you can remove the INSTALL option.
  6729.  
  6730.  
  6731.  
  6732.           
  6733.  
  6734.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 122
  6735.  
  6736.  
  6737.  
  6738.     If TbDisk causes false alarms, load TbDisk further ahead in your
  6739.     CONFIG.SYS or AUTOEXEC.BAT file until it works as it should.
  6740.  
  6741.     CAUTION: 
  6742.          Unlike the other TBAV utilities, we recommend that you load TbDisk
  6743.          after other resident software!  Failure to do so can cause  false
  6744.          alarms!
  6745.  
  6746.  
  6747.     TbDisk detects if Windows is running and automatically switches into
  6748.     multitasking mode if necessary. You can even disable TbDisk in one window
  6749.     without affecting the functionality in another. If you are using Windows 
  6750.     fast 32-bit disk access, you might need to use TbDisk's WIN32 option if
  6751.     Windows displays an error-message.
  6752.  
  6753.  
  6754.     3.9.3 Maximizing TbDisk
  6755.  
  6756.        You can maximize TbDisk's performance by using its command
  6757.        line options. The first four options are always available.
  6758.        The other options are available only if TbDisk is not yet
  6759.        memory resident.
  6760.  
  6761.          option parameter   short explanation
  6762.          ------------------ ----- -----------------------------------
  6763.          help                ?    display on-line help
  6764.          remove              r    remove TbDisk from memory
  6765.          on                  e    enable checking
  6766.          off                 d    disable checking
  6767.          wrprot              p    makes hard disk write protected
  6768.          nowrprot            n    allow writes to hard disk
  6769.          win32               w    allow Windows 32-bit disk access
  6770.          secure              s    deny access without asking first
  6771.          notunnel            t    do not detect tunneling
  6772.          nostealth           a    do not detect stealth disk access
  6773.          install             i    installation test mode
  6774.  
  6775.     The explanations in the above table serve as a quick reference, but the
  6776.     following descriptions provide more information about each option.
  6777.  
  6778.     TIP: 
  6779.          Remember that you can display these options from the command line by
  6780.          entering TBDISK ?.
  6781.  
  6782.          help (?). 
  6783.  
  6784.  
  6785.           
  6786.  
  6787.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 123
  6788.  
  6789.  
  6790.  
  6791.          Specifying this option displays the brief help as shown above. After
  6792.          loading TbDisk into memory, not all options appear.
  6793.  
  6794.  
  6795.          remove (r). 
  6796.  
  6797.          This option disables TbDisk and attempts to remove the resident part
  6798.          of its code from memory and return this memory space to the system.
  6799.          Unfortunately, this works only if you loaded TbDisk last. An attempt
  6800.          to remove a TSR after you load another TSR leaves a useless gap in
  6801.          memory and could disrupt the interrupt chain. TbDisk checks whether
  6802.          it is safe to remove its resident code; if not, it simply disables
  6803.          itself.
  6804.  
  6805.  
  6806.          on (e). 
  6807.  
  6808.          This option activates TbDisk after you disabled it using the OFF
  6809.          option.
  6810.  
  6811.  
  6812.          off (d). 
  6813.  
  6814.          Specifying this option disables TbDisk but leaves it in memory.
  6815.  
  6816.  
  6817.          wrprot (p). 
  6818.  
  6819.          Hard disks are more difficult to protect against writing than
  6820.          floppies, which adds considerable risk when doing such things as
  6821.          testing new software. Sometimes you might want to find out what this
  6822.          software does to your hard disk and how this could possibly affect
  6823.          your valuable data. Using the "WRPROT" option makes this safer to
  6824.          do. Whenever a program wishes to write to a protected disk, you will
  6825.          see a message such as:
  6826.  
  6827.           Write protect error writing drive C: A)bort, R)etry, I)gnore?
  6828.  
  6829.          You can then take the appropriate action.
  6830.  
  6831.          CAUTION: 
  6832.               Software write protection is not absolutely reliable. Some
  6833.               viruses can bypass this protection, but fortunately they are
  6834.               few and far between. Despite its shortcomings, this option can
  6835.               be a valuable shield against most malicious software.
  6836.  
  6837.  
  6838.           
  6839.  
  6840.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 124
  6841.  
  6842.  
  6843.  
  6844.          nowrprot (n). 
  6845.  
  6846.          Use this option to undo the WRPROT option.
  6847.  
  6848.  
  6849.          win32 (w). 
  6850.  
  6851.          Windows 386 Enhanced Mode uses some undocumented DOS calls to
  6852.          retrieve the original BIOS disk handler when you enable 32-bit disk
  6853.          access. Since TbDisk guards these calls, 32-bit disk access will no
  6854.          longer be possible, unless you specify the WIN32 option when you
  6855.          initialize TbDisk.
  6856.  
  6857.          CAUTION: 
  6858.               Use this option only in Windows 386 Enhanced Mode with fast
  6859.               32-bit disk access enabled as it reduces anti-viral security to
  6860.               some extent.
  6861.  
  6862.  
  6863.          secure (s). 
  6864.  
  6865.          TbDisk normally asks whether the user wants to continue or cancel
  6866.          when a program tries to perform direct disk access. In some business
  6867.          environments, however, employees should not make this decision. This
  6868.          option disables direct disk access permission to new or unknown
  6869.          software. It also disables the OFF and REMOVE options.
  6870.  
  6871.  
  6872.          notunnel (t).  
  6873.  
  6874.          "Tunneling" is a technique viruses apply to determine the location
  6875.          of the DOS system code in memory, and to use that address to
  6876.          communicate with DOS directly. This inactivates all TSR programs,
  6877.          including resident anti-virus software. TbDisk is able to detect
  6878.          these "tunneling" attempts, and informs you about it. Some other
  6879.          anti-virus products also rely on tunneling techniques to bypass
  6880.          resident viruses, thereby causing false alarms. If you are currently
  6881.          executing other anti-viral products, the NOTUNNEL option disables
  6882.          TbDisk's tunneling detection.
  6883.  
  6884.  
  6885.          nostealth (a). 
  6886.  
  6887.          TbDisk tries to detect direct calls into the BIOS. If such an 
  6888.          attempt occurs, TbDisk pops up with a message that something is
  6889.  
  6890.  
  6891.           
  6892.  
  6893.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 125
  6894.  
  6895.  
  6896.  
  6897.          accessing the disk in an unusual way. If this feature causes false
  6898.          alarms, you can use this option to turn it off.
  6899.  
  6900.  
  6901.          install (i). 
  6902.  
  6903.          Incorrect installation can result in a large number of false alarms.
  6904.          You should use this option when installing TbDisk because it reduces
  6905.          the risk of canceling a valid disk write operation as a result of
  6906.          false alarms.
  6907.  
  6908.  
  6909.     3.9.4 Understanding TbDisk's Operation
  6910.        
  6911.     What is Direct Disk Access? Programs usually access files through the
  6912.     operating system (DOS). Whenever a program wants to update a file, for
  6913.     example, it asks DOS to write the data to disk. It is also possible,
  6914.     however, to write to a disk without using DOS. This is called  direct
  6915.     disk access. 
  6916.  
  6917.     While normal programs do not write to the disk directly, there are some
  6918.     programs that need to do so, including:
  6919.  
  6920.          Format utilities. Direct disk access is the only way to format a
  6921.          disk.
  6922.  
  6923.          Disk diagnosis utilities (such as the Norton Disk Doctor, and DOS's
  6924.          CHKDSK command and ScanDisk utility).
  6925.  
  6926.          Disk optimizers and defragmenters (such as Norton SpeedDisk and
  6927.          DOS's Defrag utility).
  6928.  
  6929.     Since many viruses can perform direct disk access, it is essential to
  6930.     control this. TbDisk can distinguish between legitimate programs and a
  6931.     virus with the help of the ANTI-VIR.DAT records, which you can generate
  6932.     using TbSetup.
  6933.  
  6934.     Whenever TbDisk pops up a message that says a program accesses to the
  6935.     disk directly, consider its purpose carefully. While it is perfectly
  6936.     acceptable for a format utility or a disk optimizer to format or edit
  6937.     disk sectors, this is not acceptable for a word processor or database.
  6938.     When TbDisk warns you that a spreadsheet or some other  normal  program
  6939.     is about to format a sector, you can be sure that something is wrong.
  6940.     Terminate the program pronto! Then check things out with a virus scanner
  6941.     before the worst happens.
  6942.  
  6943.  
  6944.           
  6945.  
  6946.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 126
  6947.  
  6948.  
  6949.  
  6950.  
  6951.     3.10 Using TbUtil
  6952.  
  6953.     This section describes TbUtil, which is designed primarily to make a
  6954.     precautionary backup of clean partition tables and boot sectors.
  6955.  
  6956.  
  6957.     3.10.1 Understanding and using TbUtil
  6958.  
  6959.     TbUtil provides a defense against partition table and boot sector
  6960.     viruses. TbUtil can be used to:
  6961.  
  6962.          Copy the partition table, boot sector and CMOS data area into a
  6963.          file. You can use TbUtil on a regular basis to compare both the
  6964.          current and the  original versions of the partition table, boot
  6965.          sector and CMOS data area. After an accident virus, (virus or
  6966.          otherwise), you can restore the copy using the TbUtil program.
  6967.  
  6968.          Remove a partition table virus without having to low-level format
  6969.          the hard disk, even if there is no backup of the partition table.
  6970.  
  6971.          Remove boot sector viruses and creates a partition table that has
  6972.          some first-line virus defenses built-in.
  6973.  
  6974.          Replace the infected or clean boot sector with a safe TBAV boot
  6975.          sector.
  6976.  
  6977.     NOTE: 
  6978.          What is a partition table? A physical hard disk might consist of
  6979.          more than one "partition" (or division). Each partition is a logical
  6980.          disk drive and has it own ID, such as C:, D:, and E:. The  partition
  6981.          table,  then, contains the disk lay-out and the starting and ending
  6982.          cylinder of every partition. The partition table also contains
  6983.          information about the operating system of a partition and which
  6984.          partition should be used to boot. The partition table (also called
  6985.          the Master Boot Record, or MBR) always resides at the very first
  6986.          sector of the hard disk.
  6987.  
  6988.     Unlike most file viruses, partition table viruses are hard to remove. The
  6989.     only solution is to low-level format the hard disk and to make a new
  6990.     partition table, or to make use of  scantily documented DOS commands.
  6991.  
  6992.     TbUtil, however, makes a backup of the partition table and boot sector
  6993.     and uses this backup to compare and restore both the original partition
  6994.     table and boot sector once they become infected. You no longer have to
  6995.  
  6996.  
  6997.           
  6998.  
  6999.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 127
  7000.  
  7001.  
  7002.  
  7003.     format your disk to get rid of a partition table or boot sector virus.
  7004.     The program can also restore the CMOS configuration.
  7005.  
  7006.     Optionally, TbUtil replaces the partition table code with an immunized
  7007.     partition table containing facilities against viruses. The TbUtil
  7008.     partition code executes before the boot sector gains control, so it is
  7009.     able to check the boot sector in a clean environment. Once the boot
  7010.     sector executes, it is difficult to check it because the virus is already
  7011.     resident in memory and can deceive a protection scheme. Instead of
  7012.     booting from a clean DOS diskette just to inspect the boot sector, the
  7013.     TbUtil partition code performs a CRC calculation on the boot sector just
  7014.     before passing control to it.
  7015.  
  7016.     If TbUtil detects a change in the boot sector, the TbUtil partition code
  7017.     warns you about it. The TbUtil partition code also checks the RAM layout
  7018.     and informs you when it changes. TbUtil does all of this every time you
  7019.     boot from your hard disk.
  7020.  
  7021.     TbUtil can replace infected and clean diskette boot sectors with a new
  7022.     and specialized boot sector, which has several advantages over the
  7023.     standard boot sector:
  7024.  
  7025.          It has boot sector virus detection capabilities.
  7026.  
  7027.          It performs a sanity check.
  7028.  
  7029.          It offers you the possibility to redirect the boot process to the
  7030.          hard disk without opening the diskette drive door.
  7031.  
  7032.  
  7033.  
  7034.     3.10.2 Working with the TbUtil Menu
  7035.  
  7036.     The TbUtil module contains several programs, which you can execute from
  7037.     either the TbUtil Menu or, in case of an emergency, from a TbUtil recove-
  7038.     ry diskette using the DOS command line.  The menu, however, offers some
  7039.     additional menu options. Selecting the "TbUtil" option from the TBAV Main
  7040.     Menu displays the following menu:
  7041.  
  7042.  
  7043.  
  7044.  
  7045.  
  7046.  
  7047.  
  7048.  
  7049.  
  7050.           
  7051.  
  7052.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 128
  7053.  
  7054.  
  7055.  
  7056.              +------Main menu------+
  7057.              |  Confi+-----------TbUtil menu-----------+
  7058.              |  TbSet|  System maintenance menu       >|
  7059.              |  TbSca|  Immunize/clean bootsector A:   |
  7060.              |  TbUti|  Immunize/clean bootsector B:   |
  7061.              |  TbCLe|  Immunize/clean partition code  |
  7062.              |  Virus+---------------------------------+
  7063.              |  TBAV Monitor      >|                   
  7064.              |  Documentation     >|                   
  7065.              |  Register TBAV      |                   
  7066.              |  About              |                   
  7067.              |  Quit and save      |                   
  7068.              |  eXit (no save)     |                   
  7069.              +---------------------+
  7070.  
  7071.     We'll now explore these menu options.
  7072.  
  7073.     The "System Maintenance Menu" Option
  7074.  
  7075.     Selecting the "System maintenance menu" option displays the System
  7076.     Maintenance menu:
  7077.  
  7078.              +------Main menu------+
  7079.              |  Confi+-----------TbUtil menu-----------+
  7080.              |  TbSet|  Syste+-------System maintenance-------+
  7081.              |  TbSca|  Immun|  Execute TbUtil                |
  7082.              |  TbUti|  Immun|  Describe this machine         |
  7083.              |  TbCLe|  Immun|  Save system configuration     |
  7084.              |  Virus+-------|v Compare system configuration  |
  7085.              |  TBAV Monitor |  Restore system configuration  |
  7086.              |  Documentation|v process CMOS memory           |
  7087.              |  Register TBAV|v process Partition code        |
  7088.              |  About        |v process Bootsector            |
  7089.              |  Quit and save+--------------------------------+
  7090.              |  eXit (no save)     |
  7091.              +---------------------+
  7092.  
  7093.     This menu contains the actual TbUtil program. The program takes care of
  7094.     saving, restoring or comparing the system configuration of your PC. It
  7095.     stores the backup system configuration on a diskette in a file with
  7096.     either a default name or a name you can specify yourself.
  7097.  
  7098.     WARNING: 
  7099.          You can only restore a system configuration data file on the machine
  7100.          that created the data file. Restoring a configuration file from one
  7101.          PC to another makes the PC inaccessible!
  7102.  
  7103.           
  7104.  
  7105.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 129
  7106.  
  7107.  
  7108.  
  7109.     The "System Maintenance Menu" contains the following items:
  7110.  
  7111.          Execute TbUtil.  
  7112.  
  7113.          Before activating this option, you must select one of the optional
  7114.          functions: Save, Compare, or Restore the system configuration. Move
  7115.          to the desired option you want to activate and press ENTER. A check
  7116.          mark indicates that an option is active.
  7117.  
  7118.  
  7119.          Describe this machine.  
  7120.  
  7121.          Enter a meaningful description of the machine. Enter something like,
  7122.          "486DX4 @ 100MHz, 32Mb,  2 Gb SCSI disk, room 12, Mr. Smith." You do
  7123.          NOT have to remember this description; TbUtil displays it on the
  7124.          screen when comparing or restoring, which helps you to verify that
  7125.          the data file belongs to the machine.
  7126.  
  7127.  
  7128.          Save system configuration.  
  7129.  
  7130.          This option stores the partition table, boot sector and CMOS data
  7131.          area into the TbUtil data file.
  7132.  
  7133.  
  7134.     WARNING: 
  7135.          Since the PC is completely inaccessible to DOS if the partition
  7136.          table becomes damaged, we RECOMMEND that you store both the TbUtil
  7137.          data file AND the program TBUTIL.EXE itself on a "rescue"  diskette!
  7138.          If the partition table is damaged or destroyed, then the only
  7139.          solution to the problem may reside on the "rescue"
  7140.          diskette, since your hard drive may be inaccessible!
  7141.  
  7142.          When loading TbUtil from the command line you must specify a
  7143.          filename after the STORE option. In contrast, using the TBAV menu,
  7144.          you can use the default filename TBUTIL.DAT. If you own more than
  7145.          one PC, we recommend that you create one TbUtil diskette with all
  7146.          TbUtil data files of all your PC's on it. Use the extension of the
  7147.          file for PC identification, as in the following:
  7148.  
  7149.                  A:TBUTIL.<NUMBER>
  7150.  
  7151.          Compare system configuration.  
  7152.  
  7153.          This option enables you to check on a regular basis that everything
  7154.          is still okay. If you specify this option, TbUtil compares the
  7155.  
  7156.           
  7157.  
  7158.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 130
  7159.  
  7160.  
  7161.  
  7162.          information in the TbUtil data file against the partition table,
  7163.          boot sector, and CMOS data areas. It also  displays the comment
  7164.          stored in the data file. Using this option also guarantees that the
  7165.          TbUtil data file is still readable.
  7166.  
  7167.  
  7168.          Restore system configuration.   
  7169.  
  7170.          This option enables you to restore the partition table, boot sector,
  7171.          and CMOS data area. It asks you to confirm that the data file
  7172.          belongs to the current machine. Finally, it can restore the
  7173.          partition table, boot sector of the partition to be used to boot,
  7174.          and the CMOS data area.
  7175.  
  7176.  
  7177.          Process CMOS memory,    
  7178.          Process Partition code,  and
  7179.          Process Boot sector.  
  7180.  
  7181.          By default, TbUtil restores the partition code, boot sector, and
  7182.          CMOS if you specify the "Restore system configuration" option. If
  7183.          you use one of the above options in combination with the "Restore
  7184.          option," TbUtil restores only the items you specify.
  7185.  
  7186.  
  7187.     The "Immunize/Clean Boot sector A: [or] B:" Options
  7188.  
  7189.     You can use these options to clean diskettes infected by a boot sector
  7190.     virus or to replace the standard boot sector with a boot sector  that has
  7191.     advantages over the original one:
  7192.  
  7193.          The TBAV boot sector has virus detection capabilities. The TBAV boot
  7194.          sector checks that it resides on the correct place on the diskette,
  7195.          and that Int 13h and/or Int 40h still exist in system ROM. This
  7196.          makes it possible to detect even stealth and boot sector viruses.
  7197.  
  7198.          The TBAV boot sector can load the system files if they are available
  7199.          on the disk, but if the DOS system files are not on the disk, the
  7200.          TBAV boot sector displays a small menu offering you two
  7201.          possibilities: retry the boot operation with another diskette, or
  7202.          boot from the hard disk. If you select the latter, you don't have to 
  7203.          open the diskette drive door.
  7204.  
  7205.  
  7206.     The "Immunize/Clean Partition Code" Option
  7207.  
  7208.  
  7209.           
  7210.  
  7211.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 131
  7212.  
  7213.  
  7214.  
  7215.          This is an extremely powerful option, which you can use to clean an
  7216.          infected partition table if there is no TbUtil data file. It saves
  7217.          the original partition code in a file and replaces the existing
  7218.          partition table code with a new partition routine that contains some
  7219.          virus detection capabilities. You must execute TbUtil from a floppy
  7220.          drive or you have to specify the name of the file (the specified
  7221.          drive should be a diskette drive) to store the original partition
  7222.          code.
  7223.  
  7224.          If the original partition table becomes irreparably damaged and
  7225.          can't be used to build a new one, TbUtil scans the entire disk for
  7226.          information about the original disk layout. TbUtil also searches for
  7227.          TbUtil data files on the hard disk.
  7228.  
  7229.          CAUTION: 
  7230.               While it is a good idea to keep a copy of the data file on the
  7231.               hard disk, we recommend that you store the data file on a
  7232.               diskette. Just in case!
  7233.  
  7234.          If your system configuration changes, that is, you update your DOS
  7235.          version or change the amount of memory, you need to update the
  7236.          information stored in the immune partition as well. You can do this
  7237.          by using this option.
  7238.  
  7239.          In the unlikely event that the system does not boot properly, you
  7240.          can restore the original partition table using the TbUtil RESTORE
  7241.          option (refer to  The  "System Maintenance Menu  Option" section
  7242.          above) or by using the DOS version 5 or above FDISK /MBR command
  7243.          (which creates a new partition table).
  7244.  
  7245.          TIP: 
  7246.               If you have installed two hard drives in your computer, you can
  7247.               immunize the partition code of the second hard drive by
  7248.               specifying the physical drive number rather than the drive ID
  7249.               (i.e., execute the command TbUtil 2: )
  7250.  
  7251.          If the new partition code works properly, you should make a backup
  7252.          copy of it on a diskette using the TbUtil STORE option (refer to 
  7253.          The "System Maintenance Menu  Option" section above).
  7254.  
  7255.  
  7256.     3.10.3 Maximizing TbUtil
  7257.        
  7258.     This section describes how to fully maximize TbUtil in three ways: use
  7259.     command line option, use the anti-virus partition, use the TbUtil
  7260.     diskette.
  7261.  
  7262.           
  7263.  
  7264.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 132
  7265.  
  7266.  
  7267.  
  7268.     Now that you know how to use TbUtil's menus, you can more easily
  7269.     understand how to maximize its performance by using its command line
  7270.     options.
  7271.  
  7272.          option parameter   short explanation
  7273.          ------------------ ----- -------------------------------------
  7274.          immunize <drive>     im  Immunize/Clean boot sector or MBR of
  7275.                                   <drive>
  7276.          getboot <drive>      gb  Save boot sector/MBR into file
  7277.          store [<filename>]   st  Store system information
  7278.          restore [<filename>] re  Restore system information
  7279.          compare [<filename>] co  Compare system information
  7280.  
  7281.          Sub-options of  immunize  option:
  7282.          --------------------------------------------------------------
  7283.          norepeat             nr  Do not ask for next diskette
  7284.          nomem                nm  Do not check for amount of RAM
  7285.          batch                ba  Do not prompt to insert a disk
  7286.  
  7287.          Sub-options of  store  option:
  7288.          --------------------------------------------------------------
  7289.          description=<descr.> de  Add description to data file
  7290.  
  7291.          Sub-options of  restore  option:
  7292.          --------------------------------------------------------------
  7293.          part                 pt  Restore partition table
  7294.          boot                 bo  Restore boot sector of hard disk
  7295.          cmos                 cm  Restore CMOS data memory
  7296.  
  7297.     The explanations in the above table serve as a quick reference, but the
  7298.     following descriptions provide more information about each option.
  7299.  
  7300.  
  7301.          Immunize <floppy drive> (im).
  7302.  
  7303.          You can use this option to clean diskettes infected by a boot sector
  7304.          virus or to replace the standard boot sector by a boot sector that
  7305.          has advantages over the original one:
  7306.  
  7307.               The TBAV boot sector has virus detection capabilities. The boot
  7308.               sector checks that it still resides on the correct place on the
  7309.               diskette, and that Int 13h and/or Int 40h still exist in system
  7310.               ROM. This makes it possible to detect even  stealth  and boot
  7311.               sector viruses.
  7312.  
  7313.  
  7314.  
  7315.           
  7316.  
  7317.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 133
  7318.  
  7319.  
  7320.  
  7321.               The TBAV boot sector is able to load the system files if they
  7322.               are available on the disk, but if the DOS system files are not
  7323.               on the disk, the TBAV boot sector displays a small menu
  7324.               offering you two possibilities: retry the boot operation with
  7325.               another diskette, or boot from the hard disk. If you select the
  7326.               latter, you don't have to open the diskette drive door.
  7327.  
  7328.  
  7329.          Immunize c: (im c:). 
  7330.  
  7331.          This is an extremely powerful option, which you can use to clean an
  7332.          infected partition table if there is no TbUtil data file. It saves
  7333.          the original partition code in a file and replaces the existing
  7334.          partition table code with a new partition routine that contains some
  7335.          virus detection capabilities. You have to execute TbUtil from a
  7336.          floppy drive or you have to specify the name of the file (the
  7337.          specified drive should be a diskette drive) to store the original
  7338.          partition code.
  7339.  
  7340.          TIP: 
  7341.               If you have installed two hard drives in your computer, you can
  7342.               immunize the partition code of the second hard drive by
  7343.               specifying the physical drive number rather than the drive ID
  7344.               (i.e., execute the command TbUtil 2: )
  7345.  
  7346.          If the original partition table becomes irreparably damaged and
  7347.          consequently can't be used to build a new one, TbUtil scans the
  7348.          entire disk for information about the original disk layout. TbUtil
  7349.          also searches for TbUtil data files on the hard disk.
  7350.  
  7351.          CAUTION: 
  7352.               While it is a good idea to keep a copy of the data file on the
  7353.               hard disk, we recommend that you store the data file on a
  7354.               diskette. Just in case!
  7355.  
  7356.          If your system configuration changes, that is, you update your DOS
  7357.          version or change the amount of memory, you need to update the
  7358.          information stored in the immune partition as well. You can do this
  7359.          by using this option.
  7360.  
  7361.          In the unlikely event that the system does not boot properly, you
  7362.          can restore the original partition table using the TbUtil RESTORE
  7363.          option (refer to  The "System Maintenance Menu  Option" section
  7364.          above) or by using the DOS version 5 or above FDISK /MBR command
  7365.          (which creates a new partition table).
  7366.  
  7367.  
  7368.           
  7369.  
  7370.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 134
  7371.  
  7372.  
  7373.  
  7374.          getboot <drive> (gb). 
  7375.  
  7376.          With this option you can copy the boot sector of the specified drive
  7377.          into a file.
  7378.  
  7379.  
  7380.          store [<filename>] (st). 
  7381.  
  7382.          This option stores the partition table, boot sector and CMOS data
  7383.          area into the TbUtil data file.
  7384.  
  7385.          WARNING: 
  7386.               Since the PC is completely inaccessible to DOS if the partition
  7387.               table becomes damaged, we RECOMMEND that you store both the
  7388.               TbUtil data file AND the program TBUTIL.EXE itself on a  rescue 
  7389.               diskette!  If the partition table is damaged or destroyed, then
  7390.               the only solution to the problem may reside on the "rescue"
  7391.               diskette, since your hard drive may be inaccessible!
  7392.  
  7393.          When loading TbUtil from the command line you must specify a
  7394.          filename after the STORE option. In contrast, using the TBAV menu,
  7395.          you can use the default filename TBUTIL.DAT. If you own more than
  7396.          one PC, we recommend that you create one TbUtil diskette with all
  7397.          TbUtil data files of all your PC's on it. Use the extension of the
  7398.          file for PC identification, as in the following:
  7399.  
  7400.                  A:TBUTIL.<NUMBER>
  7401.  
  7402.  
  7403.          restore [<filename>] (re). 
  7404.  
  7405.          This option enables you to restore the partition table, boot sector,
  7406.          and CMOS data area. It asks you to confirm that the data file
  7407.          belongs to the current machine. Finally, it restores the partition
  7408.          table, boot sector of the partition to be used to boot, and the CMOS
  7409.          data area.
  7410.  
  7411.  
  7412.          compare [<filename>] (co). 
  7413.  
  7414.          This option enables you to check on a regular basis that everything
  7415.          is still okay. If you specify this option, TbUtil compares the
  7416.          information in the TbUtil data file against the partition table,
  7417.          boot sector, and CMOS data area. It also displays the comments
  7418.          stored in the data file. Using this option guarantees that the
  7419.          TbUtil data file is still readable.
  7420.  
  7421.           
  7422.  
  7423.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 135
  7424.  
  7425.  
  7426.  
  7427.          norepeat (nr). 
  7428.  
  7429.          By default, TbUtil prompts you for the next diskette after you have
  7430.          immunized a diskette. This option disables this function.
  7431.  
  7432.  
  7433.          nomem (nm). 
  7434.  
  7435.          If you specify this option when you are immunizing your partition
  7436.          code, the partition code skips the RAM check while booting. This is
  7437.          necessary for some systems that change the memory setup during the
  7438.          boot process.
  7439.  
  7440.  
  7441.          batch (ba). 
  7442.  
  7443.          If you specify this option, TbUtil will assume a disk has already
  7444.          been inserted in your disk drive. This option is particularly useful
  7445.          with batch files.
  7446.  
  7447.          description =<descr.> (de).   
  7448.  
  7449.          For <desc.> enter a meaningful description of the machine. Enter
  7450.          something like, "486DX4 @ 100MHz, 32 Mb, 2 Gb SCSI disk, room 12,
  7451.          Mr. Smith." You do NOT have to remember this description; TbUtil
  7452.          displays it on the screen when comparing or restoring, which helps
  7453.          you to verify that the data file belongs to the machine.
  7454.  
  7455.          part (pt) ,  
  7456.          boot (bo), and  
  7457.          cmos (cm). 
  7458.  
  7459.          By default, TbUtil restores the partition code, boot sector, and
  7460.          CMOS if you specify the RESTORE option. If you use one of these
  7461.          options in combination with the RESTORE option, however, TbUtil
  7462.          restores only the items you specify.
  7463.  
  7464.     In the following two examples TbUtil simply store system information
  7465.     gathered from the partition table and boot sectors of your fixed disk(s)
  7466.     and the CMOS data area into a file in the current directory called
  7467.     TBUTIL.DAT.
  7468.  
  7469.              TBUTIL STORE
  7470.              TBUTIL ST
  7471.  
  7472.  
  7473.  
  7474.           
  7475.  
  7476.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 136
  7477.  
  7478.  
  7479.  
  7480.     The following example does the same as the previous, except that TbUtil
  7481.     stores the information on a diskette instead of in the current directory.
  7482.  
  7483.              TBUTIL STORE A:TBUTIL.DAT
  7484.  
  7485.     It's a good idea to describe the machine from which you are saving
  7486.     information about the partition table, boot sectors and CMOS data. You
  7487.     can use the DESCRIPTION option to add a small, single-line description of
  7488.     the machine:
  7489.  
  7490.              TBUTIL STORE A:TBUTIL.DAT DESCRIPTION = "TEST MACHINE"
  7491.  
  7492.     You can always fall back on the information TbUtil stores if you suspect
  7493.     an infection by a boot sector virus. Suppose the information gathered
  7494.     earlier by TbUtil is stored in the file A:\TBUTIL.DAT. To compare the
  7495.     current system information with the information stored in the TbUtil data
  7496.     file, you could use this command:
  7497.  
  7498.              TBUTIL COMPARE A:TBUTIL.DAT
  7499.  
  7500.     Now suppose that TbUtil informs you that the current system information
  7501.     (that is, the partition table and the CMOS data area) does not match the
  7502.     information stored earlier. If you did not change the configuration of
  7503.     your computer, it is most likely that a virus is guilty of the change.
  7504.     You could restore the old system information using this command:
  7505.  
  7506.              TBUTIL RESTORE A:TBUTIL.DAT PART CMOS 
  7507.  
  7508.     In case of a boot sector virus infection, we recommend that you disinfect
  7509.     (clean) all diskettes. Using the following command, TbUtil cleans and
  7510.     immunizes the boot sector of the diskette in drive A: and then repeats
  7511.     the action after asking you to insert other (possibly) infected diskettes
  7512.     into the disk drive:
  7513.  
  7514.              TBUTIL IMMUNIZE A: 
  7515.  
  7516.     In case of a virus infection you should always make certain that the
  7517.     Master Boot Record of your fixed disk is not infected. The following
  7518.     command specifies an extra option, which you must use in case your
  7519.     computer changes its memory setup during the boot process:
  7520.  
  7521.              TBUTIL IMMUNIZE C: NOMEM 
  7522.  
  7523.     You can easily view the contents of a TBUTIL.DAT by using the DOS TYPE
  7524.     command:
  7525.  
  7526.  
  7527.           
  7528.  
  7529.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 137
  7530.  
  7531.  
  7532.  
  7533.              TYPE A:TBUTIL.DAT 
  7534.  
  7535.  
  7536.     3.10.4 Using the Anti-Virus Partition
  7537.  
  7538.     If you install the ThunderBYTE partition code (by using TbUtil's IMMUNIZE
  7539.     option), you will see the following when booting a clean system:
  7540.  
  7541.  
  7542.              Thunderbyte anti-virus partition (C)1993-95 Thunderbyte BV.
  7543.  
  7544.              Checking boot sector CRC -> OK!
  7545.              Checking available RAM -> OK!
  7546.              Checking INT 13h -> OK!
  7547.  
  7548.  
  7549.     In contrast, if there is a virus in the boot sector or partition table,
  7550.     you will see this message:
  7551.  
  7552.  
  7553.              Thunderbyte anti-virus partition (C)1993-95 Thunderbyte BV.
  7554.  
  7555.              Checking boot sector CRC -> OK!
  7556.              Checking available RAM -> Failed!
  7557.  
  7558.              System might be infected. Continue? (N/Y)
  7559.  
  7560.  
  7561.     Other messages that might appear are:
  7562.  
  7563.          "No system." This message means that there is no active partition on
  7564.          the disk.
  7565.  
  7566.          "Disk error." The meaning of this message is obvious.
  7567.  
  7568.  
  7569.  
  7570.     3.10.5 Using the TbUtil diskette
  7571.  
  7572.     To use the TbUtil diskette, follow these steps:
  7573.  
  7574.          1. Take a new diskette and format it as a bootable diskette (by
  7575.          using the DOS FORMAT /S command).
  7576.  
  7577.          2. Copy the TbUtil files onto the diskette using this command:
  7578.  
  7579.  
  7580.           
  7581.  
  7582.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 138
  7583.  
  7584.  
  7585.  
  7586.            COPY TBUTIL.* A:
  7587.  
  7588.          The TbUtil files you need are TBUTIL.EXE and TBUTIL.LNG.
  7589.  
  7590.          3. In case of an emergency (such as a damaged or infected partition
  7591.          table, for example), boot from the TbUtil diskette.
  7592.  
  7593.          4. Run the TbUtil program, using the IMMUNIZE option:
  7594.  
  7595.            A:\TBUTIL IMMUNIZE C:
  7596.  
  7597.          This cleans the partition table.
  7598.  
  7599.          5. You should now be able to boot from your hard disk normally.
  7600.  
  7601.  
  7602.  
  7603.  
  7604.  
  7605.  
  7606.  
  7607.  
  7608.  
  7609.  
  7610.  
  7611.  
  7612.  
  7613.  
  7614.  
  7615.  
  7616.  
  7617.  
  7618.  
  7619.  
  7620.  
  7621.  
  7622.  
  7623.  
  7624.  
  7625.  
  7626.  
  7627.  
  7628.  
  7629.  
  7630.  
  7631.  
  7632.  
  7633.           
  7634.  
  7635.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 139
  7636.  
  7637.  
  7638.  
  7639.  
  7640.     3.11 Using TbLog
  7641.  
  7642.     This section describes TbLog, which is designed primarily to create log
  7643.     files in response to various TBAV alert messages.
  7644.  
  7645.  
  7646.     3.11.1 Understanding and using TbLog
  7647.        
  7648.     TbLog is a memory resident TBAV utility that writes a record into a log
  7649.     file whenever one of the resident TBAV utilities pops up with an alert
  7650.     message. It also records when a virus is detected.
  7651.  
  7652.     This utility is primarily for network users. If all workstations have
  7653.     TbLog installed and configured to maintain the same log file, the
  7654.     supervisor can easily keep track of what's going on. When a virus enters
  7655.     the network he is able to determine which machine introduced the virus,
  7656.     and he can take action in time.
  7657.  
  7658.     A TbLog record provides three pieces of information:
  7659.  
  7660.          The time stamp of when the event took place.
  7661.  
  7662.          The name of the machine on which the event occurred.
  7663.  
  7664.          An informative message about what happened and which files were
  7665.          involved.
  7666.  
  7667.     This information is very comprehensive and takes only one line.
  7668.  
  7669.  
  7670.     3.11.2 Working with TbLog
  7671.  
  7672.     Since TbLog is a memory resident program, you can execute and configure
  7673.     it from the DOS command line or from within a batch file. You should,
  7674.     however, load TbLog automatically and when the computer boots, preferably
  7675.     during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
  7676.  
  7677.     You should install TbLog on every workstation. If you want to use all
  7678.     workstations to maintain the same log file, we recommend that you load
  7679.     TbLog after starting the network.
  7680.  
  7681.     By default, TbLog maintains a log file with the name TBLOG.LOG in the
  7682.     TBAV directory. If you want to use another filename or another disk
  7683.     and/or directory,  you can specify a filename (and path) on the TbLog
  7684.  
  7685.  
  7686.           
  7687.  
  7688.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 140
  7689.  
  7690.  
  7691.  
  7692.     command line. In a network environment, we recommend that you put the log
  7693.     file on a server disk.
  7694.  
  7695.     CAUTION: 
  7696.          Be sure to load TbDriver before trying to load TbLog. TbLog will
  7697.          refuse to load without it.
  7698.  
  7699.     There are three possible ways to load TbLog:
  7700.  
  7701.          1.From the DOS prompt or within the AUTOEXEC.BAT file:
  7702.  
  7703.             <PATH>TBLOG
  7704.  
  7705.          2.From CONFIG.SYS as a TSR (DOS 4 or above):
  7706.  
  7707.             INSTALL=<PATH>TBLOG.EXE
  7708.  
  7709.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  7710.  
  7711.          3.From CONFIG.SYS as a device driver:
  7712.  
  7713.             DEVICE=<PATH>TBLOG.EXE
  7714.  
  7715.     NOTE: 
  7716.          Executing TbLog as a device driver does not work in all OEM versions
  7717.          of DOS. If you encounter problems, use the INSTALL= command or make
  7718.          sure to load TbLog from the AUTOEXEC.BAT.  Also, unlike other
  7719.          anti-virus products, you can load the ThunderBYTE Anti-Virus
  7720.          utilities before starting a network without losing the protection
  7721.          after the network is started.
  7722.  
  7723.  
  7724.     In addition to the three loading possibilities, if you are using DOS
  7725.     version 5 or above, you can load TbLog into an available UMB (upper
  7726.     memory block) from AUTOEXEC.BAT using this command:
  7727.  
  7728.             LOADHIGH <PATH>TBLOG
  7729.  
  7730.     You can also load TbLog into high memory from within the CONFIG.SYS using
  7731.     this command:
  7732.  
  7733.             DEVICEHIGH=<PATH>TBLOG.EXE
  7734.  
  7735.     If you are using Microsoft Windows, you should load TbLog BEFORE starting
  7736.     Windows. When you do this, there is only one copy of TbLog in memory
  7737.     regardless of how many DOS windows you might open. Every DOS window (that
  7738.  
  7739.           
  7740.  
  7741.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 141
  7742.  
  7743.  
  7744.  
  7745.     is, every  virtual machine ) has a fully functional copy of TbLog running
  7746.     in it.
  7747.  
  7748.     TbLog automatically detects if Windows is running, and switches itself
  7749.     into multi-tasking mode if necessary. You can even disable TbLog in one
  7750.     window without affecting its functionality in another window.
  7751.  
  7752.  
  7753.     3.11.3 Maximizing TbLog
  7754.  
  7755.     You can maximize TbLog's performance by using its command line options.
  7756.     The first five options in the following table are always available. The
  7757.     other options are available only if TbLog is not yet memory resident.
  7758.  
  7759.          option parameter   short explanation
  7760.          ------------------ ----- ---------------------------------
  7761.          help                ?    Display some on-line help
  7762.          remove              r    Remove TbLog from memory
  7763.          on                  e    Enable TbLog
  7764.          off                 d    Disable TbLog
  7765.          test                t    Log test message
  7766.          machine=<descr.>    m    Description/name of your machine
  7767.          secure              s    Do not allow removal of TbLog
  7768.  
  7769.     The explanations in the above table serve as a quick reference, but the
  7770.     following descriptions provide more information about each option.
  7771.  
  7772.          help (?). 
  7773.  
  7774.          Specifying this option displays the brief help as shown above.
  7775.  
  7776.  
  7777.          remove (r). 
  7778.  
  7779.          This option disables TbLog and attempts to remove the resident part
  7780.          of its code from memory and return this memory space back to the
  7781.          system. Unfortunately, this works only if you loaded TbLog last. An
  7782.          attempt to remove a TSR after you load another TSR leaves a useless
  7783.          gap in memory and could disrupt the interrupt chain. TbLog checks
  7784.          whether it is safe to remove its resident code; if not, it simply
  7785.          disables itself.
  7786.  
  7787.  
  7788.          on (e). 
  7789.  
  7790.  
  7791.  
  7792.           
  7793.  
  7794.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 142
  7795.  
  7796.  
  7797.  
  7798.          This option reactivates TbLog after you disabled it using the OFF
  7799.          option.
  7800.  
  7801.  
  7802.          off (d). 
  7803.  
  7804.          Specifying this option disables TbLog but leaves it in memory.
  7805.  
  7806.  
  7807.          test (t). 
  7808.  
  7809.          Use this option to record a test message. If you use this option at
  7810.          the initial loading of TbLog, it records the time and machine name
  7811.          into the log file. If you use this option after the initial loading,
  7812.          it simply places a test message into the log file.
  7813.  
  7814.  
  7815.          machine (m). 
  7816.  
  7817.          Using this option, you can specify the name of the machine on which
  7818.          TbLog is running. This machine name appears in the log file. By
  7819.          default, TbLog uses the network machine name on NetBios compatible
  7820.          machines. On other networks, such as Novell, you must enter the
  7821.          network name on the TbLog command line.
  7822.  
  7823.  
  7824.          secure (s). 
  7825.  
  7826.          If you specify this option, it is not possible to use the OFF and
  7827.          REMOVE options.
  7828.  
  7829.     The following command loads TbLog, disables, the OFF and REMOVE options,
  7830.     specifies that the logfile reside in directory F:\SECURITY, and
  7831.     identifies the machine as DESK3:
  7832.  
  7833.             C:\TBAV\TBLOG F:\SECURITY\TBLOG.LOG SECURE MACHINE=DESK3
  7834.  
  7835.     The following CONFIG.SYS command loads TbLog, creates the logfile in
  7836.     directory X:\LOGS, and specifies that the first line of the log file
  7837.     contain a date/time stamp and the name of the computer:
  7838.  
  7839.             DEVICE=C:\TBAV\TBLOG X:\LOGS\TBLOG.LOG MACHINE=JOHN TEST
  7840.  
  7841.  
  7842.  
  7843.  
  7844.  
  7845.           
  7846.  
  7847.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 143
  7848.  
  7849.  
  7850.  
  7851.  
  7852.     3.12 Using TbNet
  7853.  
  7854.     TBAV for DOS can cooperate with TBAV for Networks, another ThunderBYTE
  7855.     product, via the program called TbNet. If you do not want to use the
  7856.     combination of TBAV for DOS and TBAV for Networks, you can skip this
  7857.     section.
  7858.  
  7859.     NOTE: 
  7860.          For more information about TBAV for Networks, please refer its
  7861.          documentation. If you did not purchase TBAV for Networks yet, your
  7862.          local dealer can inform you about this product.
  7863.  
  7864.  
  7865.     3.12.1 Understanding TbNet
  7866.  
  7867.     TbNet is a memory resident TBAV utility that implements the communication
  7868.     between TBAV for DOS and TBAV for Networks. TBAV for Networks has several
  7869.     options for controlling remote workstations. For Windows workstations,
  7870.     TBAV for Windows contains all logic needed to implement the communication
  7871.     between the workstation and TBAV for Networks. For DOS workstations you
  7872.     need TbNet for this communication.
  7873.  
  7874.  
  7875.     3.12.2 Working with TbNet
  7876.      
  7877.     Since TbNet is a memory resident program, you can execute and configure
  7878.     it from the DOS command line or from within a batch file. You should,
  7879.     however, load TbNet automatically when the computer boots, preferably
  7880.     during the execution of AUTOEXEC.BAT, or better yet, CONFIG.SYS.
  7881.  
  7882.     You should install TbNet on every workstation.
  7883.  
  7884.     CAUTION: 
  7885.          Since TbNet uses a public network directory for its communication
  7886.          with TBAV for Networks, you must load TbNet after starting the
  7887.          network.
  7888.  
  7889.     There are three possible ways to load TbNet:
  7890.  
  7891.          1. From the DOS prompt or within the AUTOEXEC.BAT file:
  7892.  
  7893.             <PATH>TBNET
  7894.  
  7895.          2. From CONFIG.SYS as a TSR (DOS 4 or above):
  7896.  
  7897.  
  7898.           
  7899.  
  7900.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 144
  7901.  
  7902.  
  7903.  
  7904.             INSTALL=<PATH>TBNET.EXE
  7905.  
  7906.          The INSTALL= CONFIG.SYS command is NOT available in DOS 3.xx.
  7907.  
  7908.          3. From CONFIG.SYS as a device driver:
  7909.  
  7910.             DEVICE=<PATH>TBNET.EXE
  7911.  
  7912.          NOTE: 
  7913.               Executing TbNet as a device driver does not work in all OEM
  7914.               versions of DOS. If it doesn't work, use the INSTALL= command
  7915.               or load TbNet from AUTOEXEC.BAT. TbNet should always work
  7916.               correctly if you load it from AUTOEXEC.BAT. Also, unlike other
  7917.               anti-virus products, you can load the ThunderBYTE Anti-Virus
  7918.               utilities before starting a network without losing the
  7919.               protection after the network is started.
  7920.  
  7921.     In addition to the three loading possibilities, if you are using DOS
  7922.     version 5 or above, you can load TbNet into an available UMB (upper
  7923.     memory block) from AUTOEXEC.BAT using this command:
  7924.  
  7925.             LOADHIGH <PATH>TBNET
  7926.  
  7927.     You can also load TbNet into high memory from within the CONFIG.SYS using
  7928.     this command:
  7929.  
  7930.             DEVICEHIGH=<PATH>TBNET.EXE
  7931.  
  7932.     We recommend that you do not use TbNet if you use MS-Windows, but use
  7933.     TBAV for Windows instead. TBAV for Windows has built-in functionality for
  7934.     communication with TBAV for Networks.
  7935.  
  7936.     If you do want to use TbNet with MS-Windows for some reason, you should
  7937.     load TbNet BEFORE starting Windows. When you do this, there is only one
  7938.     copy of TbNet in memory regardless of how many DOS windows you might
  7939.     open. Every DOS window (that is, every "virtual machine") has a fully
  7940.     functional copy of TbNet running in it.
  7941.  
  7942.     TbNet automatically detects if Windows is running, and switches itself
  7943.     into multi-tasking mode if necessary. You can even disable TbNet in one
  7944.     window without affecting the functionality in another window.
  7945.  
  7946.  
  7947.     3.12.3 Maximizing TbNet
  7948.  
  7949.  
  7950.  
  7951.           
  7952.  
  7953.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 145
  7954.  
  7955.  
  7956.  
  7957.     You can maximize TbNet's performance by using its command line options.
  7958.     The  help  and  remove  options in the following table are always
  7959.     available. The other options are available only if TbNet is not yet
  7960.     memory resident.
  7961.  
  7962.          option parameter   short explanation
  7963.          ------------------ ----- --------------------------------------
  7964.          help                ?    Display some on-line help
  7965.          remove              r    Remove TbNet from memory
  7966.          netname=<netname>   n    Netname of the workstation
  7967.          commdir=<path>      c    Communication directory used by workstation
  7968.          frequency=<seconds> f    Poll frequency (default is 30 seconds)
  7969.          buffers=<number>    b    Number of disk buffers (default is 2)
  7970.  
  7971.     The explanations in the above table serve as a quick reference, but the
  7972.     following descriptions provide more information about each option.
  7973.  
  7974.          help (?). 
  7975.  
  7976.          Specifying this option displays the brief help as shown above.
  7977.  
  7978.  
  7979.          remove (r). 
  7980.  
  7981.          This option disables TbNet and attempts to remove the resident part
  7982.          of its code from memory and return this memory space back to the
  7983.          system. Unfortunately, this works only if you loaded TbNet last. An
  7984.          attempt to remove a TSR after you load another TSR leaves a useless
  7985.          gap in memory and could disrupt the interrupt chain. TbNet checks
  7986.          whether it is safe to remove its resident code; if not, it simply
  7987.          disables itself
  7988.  
  7989.          netname (n). 
  7990.  
  7991.          TBAV for Networks distinguishes workstations by their unique
  7992.          netnames. These netnames are assigned by TBAV for Networks; the
  7993.          agents software running at the workstations (i.e., TbNet or TBAV for
  7994.          Windows) receive this netname upon registering the workstation with
  7995.          TBAV for Networks. You need to specify this netname for correct
  7996.          behavior of TbNet.
  7997.  
  7998.  
  7999.          commdir (c). 
  8000.  
  8001.          The communication between TBAV for Networks and the agent software
  8002.          running at the workstations (i.e., TbNet or TBAV for Windows) takes
  8003.  
  8004.           
  8005.  
  8006.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 146
  8007.  
  8008.  
  8009.  
  8010.          place via a special "communication directory," a directory that is
  8011.          public to all users. You must specify the path of this directory
  8012.          when loading TbNet.
  8013.  
  8014.  
  8015.          frequency (f). 
  8016.  
  8017.          TbNet checks the communication directory every once in a while, to
  8018.          see if messages originating from TBAV for Networks need to be
  8019.          processed. You can change the default period of 30 seconds by
  8020.          specifying the FREQUENCY option.
  8021.  
  8022.  
  8023.          buffers (b). 
  8024.  
  8025.          TbNet internally needs some buffers to speed up the communication
  8026.          with TBAV for Networks. The number of these disk buffers used by
  8027.          TbNet can be changed by using the BUFFERS option.
  8028.  
  8029.  
  8030.     The following command loads TbNet, for workstation 001AE3, making use of
  8031.     the communication directory J:\TBAVNW.NET.
  8032.  
  8033.             C:\TBAV\TBNET NETNAME=001AE3COMMDIR=J:\TBAVNW.NET
  8034.  
  8035.  
  8036.  
  8037.  
  8038.  
  8039.  
  8040.  
  8041.  
  8042.  
  8043.  
  8044.  
  8045.  
  8046.  
  8047.  
  8048.  
  8049.  
  8050.  
  8051.  
  8052.  
  8053.  
  8054.  
  8055.  
  8056.  
  8057.           
  8058.  
  8059.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 147
  8060.  
  8061.  
  8062.  
  8063.  
  8064.     4 Understanding Advanced User Information
  8065.  
  8066.     This chapter presents some advanced information on using memory, TbSetup,
  8067.     TbScan, and TbClean. It also introduces you to another TBAV utility,
  8068.     TbGenSig, signature file compiler. While some of this material is simply
  8069.     for a better understanding of the utilities and might not be of interest
  8070.     to you, we recommend that you at least look at the first section on
  8071.     memory considerations.
  8072.  
  8073.  
  8074.     4.1 Understanding Memory Considerations
  8075.  
  8076.     This section presents the memory requirements for each of the TBAV
  8077.     utilities and how you can reduce the requirements of each utility.
  8078.  
  8079.  
  8080.     4.1.1 Understanding Memory Requirements
  8081.  
  8082.     The following table lists the memory requirements for each of the TBAV
  8083.     utilities:
  8084.  
  8085.         TBAV Utility         Memory    Memory
  8086.                              needed    consumed
  8087.                              to load   after exiting
  8088.  
  8089.         TbScan  *            200 Kb    -
  8090.         TbScanX  **          10 Kb     800 bytes
  8091.         TbCheck              4 Kb      600 bytes
  8092.         TbUtil               64 Kb     -
  8093.         TbClean  ***         96 Kb     -
  8094.  
  8095.         TbMem                4 Kb      600 bytes
  8096.         TbFile               5 Kb      1 Kb
  8097.         TbDisk               4 Kb      800 bytes
  8098.         TbDriver             5 Kb      3 Kb
  8099.         TbLog                5 Kb      1 Kb
  8100.  
  8101.     *  If you decide to use a log file, TbScan requires an additional 16
  8102.     kilobytes of memory for the log file buffer. If TbScan uses its own
  8103.     built-in file system, it uses additional memory to keep the FAT in
  8104.     memory. Note that the memory requirements are independent of the number
  8105.     of signatures. The current memory requirements are adequate to manage at
  8106.     least 2500 signatures.
  8107.  
  8108.  
  8109.  
  8110.           
  8111.  
  8112.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 148
  8113.  
  8114.  
  8115.  
  8116.     **  The amount of memory TbScanX requires depends on the number of
  8117.     signatures. If you enable all features, TbScanX uses 30 kilobytes of
  8118.     memory when scanning for 1400 family signatures. If you enable swapping,
  8119.     TbScanX normally uses only one kilobyte of memory. You can swap to EMS
  8120.     and XMS memory. Naturally you can load the remaining kilobyte of TbScanX
  8121.     into upper memory.
  8122.  
  8123.     ***  In the heuristic cleaning mode TbClean requires much more memory,
  8124.     depending on the size of the infected file. TbClean can also use expanded
  8125.     memory (EMS).
  8126.  
  8127.  
  8128.     4.1.2 Reducing Memory Requirements
  8129.        
  8130.     Most PC users try to maintain as much free DOS memory as possible. The
  8131.     memory resident TBAV utilities (TbScanX, TbCheck, TbMem, TbFile, TbDisk,
  8132.     TbLog and TbDriver) use only a small amount of DOS memory. To decrease
  8133.     the memory requirements of these utilities even further, do the
  8134.     following:
  8135.  
  8136.          Load the programs from within the CONFIG.SYS file. When loaded as a
  8137.          device driver, a TBAV utility has no Program Segment Prefix (PSP, a
  8138.          DOS-internal memory area), which saves 256 bytes for each TBAV
  8139.          utility.
  8140.  
  8141.          If you load the TBAV utilities from within the AUTOEXEC.BAT file,
  8142.          load them before establishing environment variables. DOS maintains a
  8143.          list of environment variables for every resident program, so keep
  8144.          this list small while installing TSRs. Once you install all TSRs,
  8145.          you can then define all environment variables without affecting the
  8146.          memory requirements of the TSRs.
  8147.  
  8148.          Make use of memory swapping. If you use the EMS or XMS option,
  8149.          TbScanX swaps itself to non-DOS memory, leaving only one kilobyte of
  8150.          code in DOS memory. It is better to swap to expanded memory (EMS
  8151.          option) because it is faster.
  8152.  
  8153.          Use high memory if possible. If you have DOS 5 or higher, try to
  8154.          load the program into an upper memory block using the LOADHIGH or
  8155.          DEVICEHIGH commands. We recommend that you also enable swapping to
  8156.          limit the use of upper memory.
  8157.  
  8158.          Use one of the processor specific versions of the relevant TBAV
  8159.          utility. They all consume less memory than the generic versions.
  8160.          Processor optimized versions are available on any ThunderBYTE
  8161.          support BBS.
  8162.  
  8163.           
  8164.  
  8165.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 149
  8166.  
  8167.  
  8168.  
  8169.          Use memory-saving program options. Consider using TbDriver's NOSTACK
  8170.          option, TbMem's NOCANCEL option, and TbScanX's NOBOOT, EMS and XMS
  8171.          options.
  8172.  
  8173.  
  8174.  
  8175.  
  8176.  
  8177.  
  8178.  
  8179.  
  8180.  
  8181.  
  8182.  
  8183.  
  8184.  
  8185.  
  8186.  
  8187.  
  8188.  
  8189.  
  8190.  
  8191.  
  8192.  
  8193.  
  8194.  
  8195.  
  8196.  
  8197.  
  8198.  
  8199.  
  8200.  
  8201.  
  8202.  
  8203.  
  8204.  
  8205.  
  8206.  
  8207.  
  8208.  
  8209.  
  8210.  
  8211.  
  8212.  
  8213.  
  8214.  
  8215.  
  8216.           
  8217.  
  8218.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 150
  8219.  
  8220.  
  8221.  
  8222.  
  8223.     4.2 Understanding TbSetup
  8224.  
  8225.     This section presents advanced user information about TbSetup. It
  8226.     explains the design of ANTI-VIR data files, editing the TBSETUP.DAT file,
  8227.     and how to easily install TBAV on several machines.
  8228.  
  8229.  
  8230.     4.2.1 Understanding ANTI-VIR.DAT File Design
  8231.  
  8232.     Most ThunderBYTE Anti-Virus utilities expect every directory on your
  8233.     system with executable files to contain its own ANTI-VIR.DAT file. Some
  8234.     other anti-virus products maintain a somewhat similar  fingerprint  list
  8235.     of all executable files, but in one large file rather than a separate
  8236.     file in each  directory. TBAV's approach is superior for several reasons:
  8237.  
  8238.          One file in each directory is easy to maintain. If you want to
  8239.          remove the complete product, you can remove the accompanying ANTI-
  8240.          VIR.DAT file as well.
  8241.  
  8242.          It consumes less disk space because it is not necessary to store
  8243.          full path information in the information file.
  8244.  
  8245.          The TBAV utilities perform faster because they do not have to search
  8246.          through a huge file to locate the information for one specific file.
  8247.  
  8248.  
  8249.          Installation is easier and more reliable in network environments. On
  8250.          a network, it is not unusual that the same files have different
  8251.          drive ID's on different workstations. If there is only one
  8252.          information file, the drive-IDs should be stored as well, so every
  8253.          workstation should maintain its own list. The supervisor can quickly
  8254.          lose control in this type of situation.
  8255.  
  8256.  
  8257.     4.2.2 Editing the TBSETUP.DAT File
  8258.  
  8259.     Editing the TBSETUP.DAT file is useful to TBAV site installation (see the
  8260.     next section). Therefore, some information on the format of this file is
  8261.     necessary.
  8262.  
  8263.  
  8264.     Understanding the Format of TBSETUP.DAT
  8265.  
  8266.     The format of the TbSetup.Dat file is quite simple. You can either ignore
  8267.     empty lines, lines starting with a semi-colon (;), and lines starting
  8268.  
  8269.           
  8270.  
  8271.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 151
  8272.  
  8273.  
  8274.  
  8275.     with a percentage symbol (%), or you can treat them as comment lines. The
  8276.     lines with a preceding percentage symbol also appear in TbSetup's upper
  8277.     window.
  8278.  
  8279.     Each entry in the TBSETUP.DAT file has four items:
  8280.  
  8281.          1. The filename. The filename MUST appear in capital letters and
  8282.          without spaces.
  8283.  
  8284.          2. The length of the file in hexadecimal notation. This field might
  8285.          contain a single asterisk [*] if an exact file length match is not
  8286.          required.
  8287.  
  8288.          3. The file's 32-bit CRC in hexadecimal notation. You can use a
  8289.          single asterisk if an exact checksum match is not required.
  8290.  
  8291.          4. The hexadecimal number representing flags you want set when the
  8292.          listed file is found on the system.
  8293.  
  8294.     You can use the rest of the line for a brief comment.
  8295.  
  8296.     You can use the following flags. If several flags require setting for a
  8297.     file, you can combine them using the bitwise OR operation:
  8298.  
  8299.          bit 0:    (0001)    Do not perform heuristic analysis
  8300.          bit 1:    (0002)    Ignore CRC changes (self-modifying file)
  8301.          bit 2:    (0004)    Scan for all signatures (LAN remote boot file)
  8302.          bit 3:    (0008)    Do not change read-only attribute of this file
  8303.          bit 4:    (0010)    The program stays resident in memory
  8304.          bit 5:    (0020)    The program performs direct disk access
  8305.          bit 6:    (0040)    Program is allowed to remove read-only
  8306.                              attributes
  8307.          bit 15:   (8000)    Interrupt rehook required for TBDRIVER.EXE
  8308.  
  8309.     The following are a few example entries from a TBSETUP.DAT file:
  8310.  
  8311.          ; filename   Length 32-bit CRC Flags  Comment
  8312.  
  8313.          ; Files that trigger the heuristic alarm of TbScan:
  8314.          4DOS.COM     19FEA         *   0001    ;4Dos 4.0a
  8315.          AFD.COM      0FEFE  4B351A86   0001    ;AFD debugger
  8316.          ARGV0FIX.COM 001D8  431E70C0   0001    ;Argv[0]fix
  8317.          EXE2COM.EXE  00BEA  49276F89   0001    ;Exe to Com conv. util
  8318.          KILL.EXE     00632  74D41811   0001    ;PcTools 6.0 utility
  8319.          WATCH.COM    003E1  2353625D   0001    ;TSR monitoring util
  8320.  
  8321.  
  8322.           
  8323.  
  8324.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 152
  8325.  
  8326.  
  8327.  
  8328.          ; Files that need to be scanned completely, for ALL viruses:
  8329.          NET$DOS.SYS      *         *   0004    ;Disk-image Novell boot
  8330.  
  8331.          ; Files without fixed checksum due to internal config area's:
  8332.          Q.EXE            *         *   000A    ;Qedit (all versions)
  8333.          TBCONFIG.COM     *         *   000A    ;all versions
  8334.  
  8335.  
  8336.     Defining New Entries in TBSETUP.DAT
  8337.  
  8338.     If you have any files that we should include in TBSETUP.DAT, please let
  8339.     us know! We would like to receive a copy to enhance our products and keep
  8340.     TBSETUP.DAT up to date. Candidates for inclusion are any programs that
  8341.     trigger the heuristic analysis of TbScan.
  8342.  
  8343.     Whenever you choose "V)alidate program" in the TbScan message window, you
  8344.     will discover that on subsequent occasions TbSetup displays the value
  8345.     "0001" in the flags field. If your company has several files like this
  8346.     installed on multiple machines, you might want to include these files in
  8347.     the TBSETUP.DAT file yourself. To do this, execute TbSetup for the file
  8348.     in question and make a note of its file length and 32-bit CRC, as
  8349.     displayed on the screen. Then edit the TBSETUP.DAT file, entering the
  8350.     exact filename, the file length, and the CRC number, plus the number of
  8351.     any flags you wish to set for that file. If you now use TbSetup on
  8352.     another machine (using the updated TBSETUP.DAT file), it sets the
  8353.     appropriate flags automatically.
  8354.  
  8355.     TIP: 
  8356.          You can manually set or clear a flag field value when executing   
  8357.          TbSetup at the DOS prompt using the SET or RESET option as follows:  
  8358.           
  8359.                    TBSETUP TEST.EXE SET=0001.
  8360.  
  8361.  
  8362.     4.2.3 Simplifying Installation on Several Machines
  8363.  
  8364.     If you need to install the TBAV utilities on several machines in one
  8365.     company, it would be tedious, for example, to run every TSR and disk
  8366.     utility on each machine to "teach" TBAV which programs are valid and
  8367.     which are not. Fortunately, this is not necessary. We present here some
  8368.     examples of how to simplify installation on several machines.
  8369.  
  8370.     If a resident utility named, for example, TSRUTIL.EXE, is in use
  8371.     throughout the company, you can predefine permission by using TbSetup.
  8372.     First, use TbSetup to determine the length and CRC of the program.
  8373.  
  8374.  
  8375.           
  8376.  
  8377.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 153
  8378.  
  8379.  
  8380.  
  8381.     Second,  put the name of the program, along with its other information,
  8382.     in the TBSETUP.DAT file, and then assign the flag 0010 to it:
  8383.  
  8384.                    TSRUTIL.EXE  01286  E387AB21  0010  ;OUR TSR UTILITY
  8385.  
  8386.     If a disk utility named, for example, DISKUTIL.EXE, is in use throughout
  8387.     the company, you can predefine permission by using TbSetup. First, use
  8388.     TbSetup to determine the length and CRC of the program. Second, put the
  8389.     name of the program, along with its other information, in the TBSETUP.DAT
  8390.     file, and then assign the flag 0020 to it:
  8391.  
  8392.                    DISKUTIL.EXE 01286  E387AB21  0020  ;OUR DISK UTILITY
  8393.  
  8394.     If a utility named, for example, UTIL.EXE, causes TbScan to give false
  8395.     positives and is in use throughout the company, you can use TbSetup to
  8396.     "teach" TbScan to avoid heuristic scanning of the program. First, use
  8397.     TbSetup to determine the length and CRC of the program. Second, put the
  8398.     name of the program, along with its other information, in the TBSETUP.DAT
  8399.     file, and then assign the value 0001 to it:
  8400.  
  8401.                    UTIL.EXE     01286  E387AB21  0001  ;OUR UTILITY
  8402.  
  8403.     If you now run TbSetup on every machine (you have to do this anyway), it
  8404.     recognizes the utilities you added in the TBSETUP.DAT file. Additionally,
  8405.     all the TBAV utilities automatically adapt their behavior for those
  8406.     files.
  8407.  
  8408.     TIP: 
  8409.          Consult the TBSETUP.DAT file itself. It contains useful comments on
  8410.          this subject.
  8411.  
  8412.  
  8413.  
  8414.     4.3 Understanding TbScan
  8415.  
  8416.     This section offers advanced information about TbScan, including:
  8417.     heuristic scanning, integrity checking, program validation, algorithms,
  8418.     and the TBSCAN.LNG file.
  8419.  
  8420.  
  8421.     4.3.1 Understanding Heuristic Scanning
  8422.        
  8423.     What makes TbScan so unique is that it is not just a signature scanner,
  8424.     but it is also a disassembler. It disassembles files for the following
  8425.     purposes:
  8426.  
  8427.  
  8428.           
  8429.  
  8430.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 154
  8431.  
  8432.  
  8433.  
  8434.          By disassembling a file, the scanner restricts itself to the area of
  8435.          the file where the virus might reside, reducing false alarms and
  8436.          speeding up the process. Disassembling a file makes it possible to
  8437.          use the algorithmic detection method on encrypted viruses whose
  8438.          signatures would otherwise remain invisible to the scanner.
  8439.  
  8440.          Disassembling the file makes it possible to detect suspicious
  8441.          instruction sequences.
  8442.  
  8443.     This detection of suspicious instruction sequences is "heuristic
  8444.     scanning." This extremely powerful feature enables you to detect new or
  8445.     modified viruses and to verify the results of the signature scan. You no
  8446.     longer have to rely on the scanner's publisher having the same virus as
  8447.     you might have. In normal cases a scanner can find a virus only if the
  8448.     scanner's publisher had a sample of that virus and includes that virus's
  8449.     signature in a signature file. In contrast, heuristic scanning does not
  8450.     require signatures, enabling the scanner to detect yet unknown viruses by
  8451.     looking for the characteristics of a virus instead of a signature.
  8452.  
  8453.     Never underestimate the importance of heuristic scanning, since every
  8454.     month at least 50 new viruses are reported, and it is extremely unlikely
  8455.     that a publisher is the first one to get a new virus.
  8456.  
  8457.     TbScan distinguishes two heuristic levels. The following table describes
  8458.     the properties of these levels:
  8459.           
  8460.          Heuristic  Level 1       Heuristic Level 2
  8461.          -----------------------  ---------------------------------------
  8462.          always enabled           only enabled with command-line option 
  8463.                                   "heuristic", or TBAV menu option "High
  8464.                                   heuristic sensitivity," or after a virus
  8465.                                   has been found
  8466.  
  8467.          detects 50 % of (yet)    detects 90 % of (yet) unknown viruses
  8468.          unknown viruses
  8469.  
  8470.          almost never causes      might cause few false alarms
  8471.          false alarms
  8472.  
  8473.          displays "Probably       displays "Might be infected"
  8474.          infected"
  8475.  
  8476.     The following lines show the effect of scanning four files, each having
  8477.     its own characteristics. Please note the heuristic flags that appear next
  8478.     to the word "scanning." 
  8479.  
  8480.  
  8481.           
  8482.  
  8483.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 155
  8484.  
  8485.  
  8486.  
  8487.          FILE1.EXE   scanning...OK     (no flags)
  8488.          FILE2.EXE   scanning...ROK    (nothing serious)
  8489.          FILE3.EXE   scanning...FRM    might be infected by unknown virus
  8490.          FILE4.EXE   scanning...FRALM# probably infected by unknown virus
  8491.  
  8492.     It is obvious from these four examples that heuristic scanning (resulting
  8493.     in the heuristic flags) is very powerful for finding yet unknown viruses.
  8494.  
  8495.  
  8496.     4.3.2 Understanding How Heuristic Scanning Works
  8497.  
  8498.      
  8499.     Every program contains instructions for the computer's microprocessor. By
  8500.     looking into the file's contents and interpreting the instructions,
  8501.     TbScan is able to detect the purpose of these instructions. If the
  8502.     purpose appears to be formatting a disk, or infecting a file, TbScan
  8503.     issues a warning. There are many instruction sequences that are very
  8504.     common for viruses but are very uncommon for normal programs. TbScan,
  8505.     therefore, assigns every suspicious instruction sequence to a character
  8506.     called a  heuristic flag.  Every heuristic flag denotes a score. If the
  8507.     total score (that is, the sum of scores for each flag that triggered)
  8508.     exceeds a predefined limit, TbScan assumes the file contains a virus.
  8509.  
  8510.     There are actually two predefined limits. The first limit is quite
  8511.     sensitive and can be reached by some normal innocent programs. If the
  8512.     suspicious program reaches this limit, TbScan highlights the heuristic
  8513.     flags that appear on the screen and increases the suspicious item's
  8514.     counter. TbScan does not indicate the existence of a virus unless you
  8515.     specify the  heuristic  or  high heuristic sensitivity  option. If you do
  8516.     specify this option, TbScan informs you that the file  Might be infected
  8517.     by an unknown virus. 
  8518.  
  8519.     In contrast to the first option, many viruses trigger the second
  8520.     heuristic limit, while normal programs do not. If a suspicious program
  8521.     reaches this limit, TbScan informs you that the file is  Probably
  8522.     infected by an unknown virus. 
  8523.  
  8524.     NOTE: 
  8525.          TbScan performs heuristic analysis only near the entry-point of a
  8526.          file. Therefore, TbScan does not detect direct writes to disk by
  8527.          some disk utilities nor does it detect some programs as TSR
  8528.          programs. This is simply the result of a specific approach that
  8529.          minimizes false alarms. In case of a virus, the offending
  8530.          instructions are always near the entry-point (except when the virus
  8531.          is over 10Kb in size), so TbScan detects suspicious
  8532.          phenomena in these situations anyway.
  8533.  
  8534.           
  8535.  
  8536.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 156
  8537.  
  8538.  
  8539.  
  8540.  
  8541.     4.3.3 Understanding Integrity Checking
  8542.  
  8543.     TbScan performs integrity checking while scanning. For this purpose, you
  8544.     must use TbSetup to generate the ANTI-VIR.DAT files. Once these files
  8545.     exist on your system, TbScan verifies that every file being scanned
  8546.     matches the information maintained in the ANTI-VIR.DAT files. If a virus
  8547.     infects a file, the maintained information no longer matches the now
  8548.     changed file, and TbScan informs you of this.
  8549.  
  8550.     NOTE: 
  8551.          There are no command line options to enable this feature. TbScan
  8552.          performs integrity checking automatically if it detects the ANTI-
  8553.          VIR.DAT files.
  8554.  
  8555.     Note that TbScan reports only those file changes that could indicate a
  8556.     virus. While internal configuration areas of program files might also
  8557.     change, TbScan normally does not report these. If a file becomes infected
  8558.     with a known or unknown virus, however, the vital information does change
  8559.     and TbScan does indeed report it to you!
  8560.  
  8561.     In contrast, there might be files that change themselves frequently or
  8562.     change frequently due to another cause. In such a case you might want to
  8563.     exclude the program from integrity checking to avoid future false alarms.
  8564.     If TbScan detects such a change, it informs you of it. Additionally,
  8565.     TbScan offers the possibility to  Validate the program,  which is the
  8566.     subject of the next section.
  8567.  
  8568.     Understanding Program Validation This section applies only if you use
  8569.     TbSetup to generate the ANTI-VIR.DAT records. Without these records,
  8570.     program validation is not an option. 
  8571.  
  8572.     TbScan performs as intended on most programs. There are some programs,
  8573.     however, that require special attention in order to avoid false alarms.
  8574.     TbSetup recognizes most of these programs automatically. Nevertheless it
  8575.     is certainly possible your PC contains some program files that trigger
  8576.     the heuristic alarm of TbScan and/or programs files that change
  8577.     frequently.
  8578.  
  8579.     If TbScan finds an infection using heuristic analysis or integrity
  8580.     checking, and if there is an ANTI-VIR.DAT record available, it offers an
  8581.     additional option in its virus-alert window, namely,   V)alidate program.
  8582.  
  8583.  
  8584.  
  8585.  
  8586.  
  8587.           
  8588.  
  8589.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 157
  8590.  
  8591.  
  8592.  
  8593.     If you are sure that the indicated program does not contain a virus, you
  8594.     can press V to set a flag in the program s ANTI-VIR.DAT record. This
  8595.     avoids future false alarms.
  8596.  
  8597.     There are two validation modes. If TbScan alarms you to a file change,
  8598.     the validation applies to future file changes only. If the alarm is due
  8599.     to heuristic analysis, the validation applies only to heuristic results.
  8600.     If you exclude the file from heuristic analysis, TbScan still performs an
  8601.     integrity check. Conversely, if you exclude the file from integrity
  8602.     checking, TbScan still performs heuristic analysis.
  8603.  
  8604.     CAUTION:
  8605.          If you replaced a file (for example, because of a software upgrade)
  8606.          and you did not apply TbSetup to the changed files, TbScan pops up
  8607.          its virus alert window to inform you of the file change. Do not
  8608.          select the validation option in this case, because this would
  8609.          exclude the file from future integrity checking. You should abort
  8610.          TbScan and execute TbSetup on the changed file(s) instead.
  8611.  
  8612.  
  8613.     4.3.4 Understanding the Scan Algorithms
  8614.  
  8615.     When TbScan processes a file it displays one of the following messages:
  8616.  
  8617.          Looking.  
  8618.  
  8619.          "Looking" indicates that TbScan has successfully located the entry
  8620.          point of the program in one step; that is, it has identified the
  8621.          program code so it knows where to search without the need of
  8622.          additional analysis. TbScan uses "Looking" on most known software.
  8623.  
  8624.  
  8625.          Checking.  
  8626.  
  8627.          "Checking" indicates TbScan has successfully located the entry point
  8628.          of the program, and is scanning a frame of about two kilobytes
  8629.          around the entry point. If the file is infected, the virus signature
  8630.          appears in this area. "Checking" is a very fast and reliable scan
  8631.          algorithm, so TbScan applies it to most unknown software.
  8632.  
  8633.  
  8634.          Tracing.
  8635.  
  8636.          "Tracing" means that TbScan has successfully traced a chain of jumps
  8637.          or calls while locating the entry point of the program and is
  8638.          scanning a frame of about two kilobytes around this location. If the
  8639.  
  8640.           
  8641.  
  8642.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 158
  8643.  
  8644.  
  8645.  
  8646.          file has been infected, the signature of the virus appears in this
  8647.          area. "Tracing" is a fast and reliable scan algorithm. TbScan uses
  8648.          it primarily for memory resident COM programs. Most viruses force
  8649.          TbScan to use "Tracing."
  8650.  
  8651.  
  8652.          Scanning.  
  8653.  
  8654.          "Scanning" indicates that TbScan is scanning the entire file (except
  8655.          for the EXE-header that cannot contain any viral code). It uses this
  8656.          only if it can't safely use "Looking," "Checking,"  or "Tracing."
  8657.          Such is the case when the entry point of the program contains other
  8658.          jumps and calls to code located outside the scanning frame, or when
  8659.          the heuristic analyzer finds something that you should investigate
  8660.          more thoroughly. Because  Scanning  is a slow algorithm, it
  8661.          processes almost the entire file, including data areas, and it is
  8662.          more likely to trigger false alarms. TbScan uses this algorithm when
  8663.          scanning boot sectors, SYS files, and BIN files.
  8664.  
  8665.  
  8666.          Skipping.  
  8667.  
  8668.          "Skipping" occurs only with SYS and OVL files. It simply means that
  8669.          the file will not be scanned. As there are many SYS files (such as
  8670.          CONFIG.SYS) that contain no code at all, it makes absolutely no
  8671.          sense to scan these files for viruses. The same applies to .OV?
  8672.          files. Many overlay files do not deserve the name overlay because
  8673.          they lack an EXE-header. Such files cannot execute through DOS,
  8674.          which in-turn makes them just as invulnerable to direct virus
  8675.          attacks as .TXT files. If TbScan reports that a virus has infected
  8676.          an .OV? file, that file is one of the relatively few overlay files
  8677.          that does contain an EXE-header. In such a case, the infection was
  8678.          the result of the virus monitoring the DOS exec-call  (function 4Bh)
  8679.          and thereby infecting any program that executes that way, including
  8680.          real overlay files.
  8681.  
  8682.  
  8683.          Decrypting. 
  8684.  
  8685.          TbScan detected that the file is encrypted, and decrypts it to be
  8686.          able to "look inside." TbScan performs signature scanning and
  8687.          heuristic analysis on the decrypted code since that is very reliable
  8688.          and also reveals polymorphic viruses.
  8689.  
  8690.  
  8691.  
  8692.  
  8693.           
  8694.  
  8695.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 159
  8696.  
  8697.  
  8698.  
  8699.     4.3.5 Understanding the TBSCAN.LNG File
  8700.        
  8701.     The TBSCAN.LNG file contains all the text that TbScan displays. You can
  8702.     translate or customize the messages with any ASCII editor. A dollar sign
  8703.     [$] separates the messages.
  8704.  
  8705.     The first message displays our address and registration information. You
  8706.     can edit this message as you please, adding, for example, your company
  8707.     name and logo.
  8708.  
  8709.     CAUTION: 
  8710.          Take care in customizing messages so that you don't change the
  8711.          essence of the message.
  8712.  
  8713.     You can also add color codes to the TBSCAN.LNG file. You must precede a
  8714.     color code with the "pipe" [|] character. Each color code consists of a
  8715.     foreground (or highlight) color and a background color. The following
  8716.     table lists the available color codes (all numbers are in hexadecimal
  8717.     notation):
  8718.  
  8719.  
  8720.         Color      Foreground     Highlight      Background
  8721.          --------- -------------- -------------- ----------
  8722.         Black           00             08             00
  8723.         Blue            01             09             10
  8724.         Green           02             0A             20
  8725.         Cyan            03             0B             30
  8726.         Read            04             0C             40
  8727.         Magenta         05             0D             50
  8728.         Brown           06             0E (yellow)    60
  8729.         Gray            07             0F (white)     70
  8730.  
  8731.     To make characters blink, add 80 to the background color codes.
  8732.  
  8733.     Here are few examples of defining colors:
  8734.  
  8735.          To make a highlighted green character on a red background, use  the
  8736.          color code 0A+40=4A. To make the character blink, add 80h to the
  8737.          result (4A+80=CA). To display white characters on a blue background,
  8738.          use the color code 0F in combination with color code 10: 0F+10=1F.
  8739.  
  8740.          If you prefer a cyan background with a gray foreground, you should
  8741.          add 30 to 07 (30+07=37). If you want the characters to blink, the
  8742.          color code becomes 37+80=B7.
  8743.  
  8744.  
  8745.  
  8746.           
  8747.  
  8748.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 160
  8749.  
  8750.  
  8751.  
  8752.     4.3.6 Understanding the TBAV.MSG File
  8753.  
  8754.     The TBAV menu displays the contents of a file named TBAV.MSG,  if it
  8755.     exists in the ThunderBYTE directory. You can use this feature to display
  8756.     your company logo on the TBAV screen. As in the TbScan language file, you
  8757.     can embed color codes in this file. Consult the previous section for more
  8758.     information about color codes.
  8759.  
  8760.  
  8761.  
  8762.  
  8763.  
  8764.  
  8765.  
  8766.  
  8767.  
  8768.  
  8769.  
  8770.  
  8771.  
  8772.  
  8773.  
  8774.  
  8775.  
  8776.  
  8777.  
  8778.  
  8779.  
  8780.  
  8781.  
  8782.  
  8783.  
  8784.  
  8785.  
  8786.  
  8787.  
  8788.  
  8789.  
  8790.  
  8791.  
  8792.  
  8793.  
  8794.  
  8795.  
  8796.  
  8797.  
  8798.  
  8799.           
  8800.  
  8801.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 161
  8802.  
  8803.  
  8804.  
  8805.  
  8806.     4.4 Understanding TbClean
  8807.  
  8808.     This section takes a look at how TbClean works by explaining how a virus
  8809.     goes about infecting a file and the difference between conventional
  8810.     cleaners and generic cleaners.
  8811.  
  8812.  
  8813.     4.4.1 Understanding how a Virus infects a file
  8814.  
  8815.     To understand how a cleaning program works, try to imagine how a virus
  8816.     usually goes about infecting a program. The basic principle is really
  8817.     quite simple. A virus, which is simply another computer program, adds
  8818.     itself to the end of the program it infects. The additional viral code
  8819.     obviously increases the size of the program.
  8820.  
  8821.     Simply appending a viral program to another program, however, is not
  8822.     enough to do any real harm. To do damage, the viral code must first be
  8823.     executed. To accomplish this, the virus grabs the first few bytes at the
  8824.     start of the program and replaces them with a  jump  instruction to its
  8825.     own viral code. That way the virus is able to take control when the
  8826.     program starts. Chances are you will never even notice the momentary
  8827.     delay while the extra code executes and does whatever the virus has been
  8828.     programmed to do. The virus then restores the original instructions and
  8829.     restarts the program (jumps to the original start of the program). Your
  8830.     program, more often than not, works as usual, and of course, any virus
  8831.     worth its salt makes sure it doesn't draw undue attention to itself, at
  8832.     least not too soon.
  8833.  
  8834.     So, in order to purge a program, we must first restore the starting
  8835.     instruction bytes, which the virus replaced with the jump to its own
  8836.     code. The virus is going to need these bytes again later on, so it stores
  8837.     them somewhere in the viral code. The cleaner starts out to find those
  8838.     bytes, puts them back in their proper place, and trims the file to the
  8839.     original size.
  8840.  
  8841.     Cleaner programs basically come in two types: the conventional type, for
  8842.     specific types of viruses, and the far more advanced generic cleaner,
  8843.     which offers a much wider scope. Let's take a closer look at both cleaner
  8844.     types and find out where they differ.
  8845.  
  8846.  
  8847.     4.4.2 Understanding Conventional Cleaners
  8848.  
  8849.     A conventional cleaner has to know which virus to remove. Suppose one of
  8850.     your programs is infected with a Jerusalem/PLO virus. This means that the
  8851.  
  8852.           
  8853.  
  8854.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 162
  8855.  
  8856.  
  8857.  
  8858.     infected program has grown in size in comparison with the original
  8859.     program, and that the first few bytes have been replaced by a  "jump"
  8860.     instruction to the viral code. The following drawing ilustrates this
  8861.     process: 
  8862.  
  8863.          original program                 infected program
  8864.          +--------------+                 +--------------+
  8865.          |              |                 |              |
  8866.          | p            |         100:    |jump          |
  8867.          | r            |                 |to 2487       |
  8868.          | o            |                 | o            |
  8869.          | g            |                 | g            |
  8870.          | r            |                 | r            |
  8871.          | a            |                 | a            |
  8872.          | m            |                 | m            |
  8873.          |              |                 |              |
  8874.          | c            |                 | c            |
  8875.          | o            |                 | o            |
  8876.          | d            |                 | d            |
  8877.          | e            |                 | e            |
  8878.          |              |                 |              |
  8879.          +--------------+                 +--------------+
  8880.                                   2487:   |              |
  8881.                                           |  VIRUS!    p |
  8882.                                           |            r |
  8883.                                           |jmp 100       |
  8884.                                           +--------------+
  8885.     When you start a conventional cleaner, a procedure much like the
  8886.     following takes place:
  8887.  
  8888.          "Hey, the signature file tells me this file is infected with the
  8889.          Jerusalem/PLO virus. Okay, let's see, this virus tacks on 1873 bytes
  8890.          at the end and overwrites the first three bytes of the original
  8891.          program with a jump to itself. The original bytes are located at
  8892.          offset 483 in the viral code. So, I have to take those bytes, copy
  8893.          them to the beginning of the file, and then remove 1873 bytes of the
  8894.          file. That's it!"
  8895.                                                    
  8896.     But there are several pitfalls to worry about in a scenario like this.
  8897.     For one thing, the cleaner obviously must have some means to recognize
  8898.     the virus it should remove. A conventional cleaner cannot cope with a
  8899.     virus unless it knows exactly what to look for.
  8900.  
  8901.     To make matters worse, it's even more important to establish whether or
  8902.     not the virus is exactly the same one that the cleaner knows about.
  8903.     Imagine what would happen if the virus in our example had been modified
  8904.  
  8905.           
  8906.  
  8907.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 163
  8908.  
  8909.  
  8910.  
  8911.     and is now 1869 bytes in size instead of 1873. The cleaner would remove
  8912.     too much! This is not an exceptional case at all. On the contrary, there
  8913.     is a virtual epidemic of countless so-called  mutant strains.  The
  8914.     Jerusalem/PLO family, to name but one example, now has more than 100
  8915.     mutant members!
  8916.  
  8917.  
  8918.     4.4.3 Understanding Generic Cleaners
  8919.  
  8920.     A generic cleaner works on the principle that any kind of virus, whether
  8921.     or not it has made the signature "charts," is just plain bad news. That's
  8922.     why TbClean works with a completely different disinfection scheme that is
  8923.     effective with almost all viruses; it doesn't even need to recognize
  8924.     them. Actually, TbClean represents two cleaners in one: a "repair"
  8925.     cleaner and a "heuristic" cleaner.
  8926.  
  8927.  
  8928.     Repair cleaning
  8929.  
  8930.     Repair cleaning needs an ANTI-VIR.DAT file generated by TbSetup before
  8931.     the infection occurred. The ANTI-VIR.DAT file stores vital information
  8932.     about programs, including their original size, the first few instruction
  8933.     codes, and a cryptographic checksum. This information is usually all it
  8934.     takes to disinfect a file, no matter what virus, known or unknown, caused
  8935.     the infection. The cleaner simply restores the bytes at the beginning of
  8936.     the program, trims the file to its original size, and verifies the result
  8937.     using the original checksum. It's just that simple (and effective).
  8938.  
  8939.  
  8940.     Heuristic cleaning
  8941.  
  8942.     TbClean is the first cleaner in the world that has a heuristic cleaning
  8943.     mode. Like the repair cleaner, this mode does not need any information
  8944.     about viruses either, but it also has the added advantage that it doesn't
  8945.     even care about the original, uninfected state of a program. This
  8946.     cleaning mode is very effective if your system becomes infected with an
  8947.     unknown virus and you neglected to let TbSetup generate the ANTI-VIR.DAT
  8948.     files before infection.
  8949.  
  8950.     In heuristic mode, TbClean loads the infected file and starts emulating
  8951.     the program code. It uses a combination of disassembly, emulation and,
  8952.     sometimes, execution to trace the flow of the viral code, pretending to
  8953.     do more or less exactly what the virus would normally be doing. When the
  8954.     virus gets to the original program's instructions and jumps back to the
  8955.     original program code, TbClean stops the emulation process, with a
  8956.  
  8957.  
  8958.           
  8959.  
  8960.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 164
  8961.  
  8962.  
  8963.  
  8964.     tongue-in-check  thank you  to the virus for its  cooperation  in
  8965.     restoring the original bytes.
  8966.  
  8967.     The actual cleaning process involves almost the same three steps as with
  8968.     repair cleaning. First, TbClean repairs the program startup code and
  8969.     copies it back to the file. Second, it removes the now ineffective code
  8970.     for the sake of security. Third, it does a final analysis of the purged
  8971.     program file.
  8972.  
  8973.  
  8974.  
  8975.  
  8976.  
  8977.  
  8978.  
  8979.  
  8980.  
  8981.  
  8982.  
  8983.  
  8984.  
  8985.  
  8986.  
  8987.  
  8988.  
  8989.  
  8990.  
  8991.  
  8992.  
  8993.  
  8994.  
  8995.  
  8996.  
  8997.  
  8998.  
  8999.  
  9000.  
  9001.  
  9002.  
  9003.  
  9004.  
  9005.  
  9006.  
  9007.  
  9008.  
  9009.  
  9010.  
  9011.           
  9012.  
  9013.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 165
  9014.  
  9015.  
  9016.  
  9017.  
  9018.     4.5 Using TbGenSig
  9019.  
  9020.     This final section of Chapter 4 introduces you to TbGenSig, an advanced
  9021.     user utility that enables you to define your own virus signatures.
  9022.  
  9023.  
  9024.     4.5.1 Understanding and using TbGenSig
  9025.  
  9026.     TbGenSig is a signature file compiler. Since we distribute TBAV with an
  9027.     up to date, ready-to-use signature file, you do not really need the
  9028.     signature file compiler.
  9029.  
  9030.     If, however, you want to define your own virus signatures, you will need
  9031.     this utility. You can use either published signatures or define your own,
  9032.     if you are familiar with the structure of software.
  9033.  
  9034.     One way or another, you need to do this only in case of an emergency,
  9035.     such as in the unfortunate event that a yet unknown, and thus
  9036.     unrecognized, virus attacks your machine, or even your company. We
  9037.     recommend that you send a few samples of the virus to some of our
  9038.     researchers, to insure that they can be examined and the results included
  9039.     in one of the subsequent updates to our software.
  9040.  
  9041.     NOTE: 
  9042.          Since it's not possible to explain the whole subject of virus
  9043.          hunting in one manual, this section assumes you have enough
  9044.          experience and knowledge to create your own virus signatures.
  9045.  
  9046.     TbGenSig searches for the USERSIG.DAT file in the current directory. This
  9047.     file should contain the signatures you want to add to the TBAV signature
  9048.     file TBSCAN.SIG. TbGenSig checks the contents of the USERSIG.DAT file and
  9049.     applies it to the TBSCAN.SIG file.
  9050.  
  9051.     If you want to delete or modify your signatures, just edit or delete the
  9052.     USERSIG.DAT file and run TbGenSig again.
  9053.  
  9054.     TbGenSig lists all signatures in the TBSCAN.SIG file on screen as it
  9055.     runs.
  9056.  
  9057.  
  9058.     4.5.2 Working with TbGenSig
  9059.        
  9060.     This section describes how to use TbGenSig. It outlines how to format the
  9061.     text in the USERSIG.DAT file, add published signatures, define your own
  9062.     signatures, and other procedures.
  9063.  
  9064.           
  9065.  
  9066.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 166
  9067.  
  9068.  
  9069.  
  9070.  
  9071.     Formatting Text in USERSIG.DAT
  9072.  
  9073.     You can create and edit the USERSIG.DAT file using any DOS text editor
  9074.     (such as DOS 5+ EDIT program) that uses un-formatted (ASCII) text. All
  9075.     lines starting with a semicolon (;) are comment lines. TbGenSig ignores
  9076.     these lines. Lines starting with a percentage character (%) appear in the
  9077.     upper TbGenSig window.
  9078.  
  9079.     The first line should contain the name of a virus, the second line
  9080.     contains one or more keywords, and the third line contains the signature
  9081.     itself. We call this combination of three lines a  signature record.  A
  9082.     signature record should look like this:
  9083.  
  9084.               TEST VIRUS
  9085.               EXE COM INF
  9086.               ABCD21436587ABCD
  9087.  
  9088.     You can use spaces in the signature for your own convenience; TbGenSig
  9089.     will just ignore them.
  9090.  
  9091.  
  9092.     Adding a Published Signature
  9093.  
  9094.     As outlined above, adding an already published signature is simply a
  9095.     matter of editing or creating the USERSIG.DAT file to convert the
  9096.     signature to an acceptable format for TbGenSig.  Format the three lines
  9097.     to include the virus name, keywords, and the signature, as in the
  9098.     following:
  9099.  
  9100.               NEW VIRUS
  9101.               EXE COM BOOT INF
  9102.               1234ABCD5678EFAB
  9103.  
  9104.     After editing the file, execute TbGenSig.
  9105.  
  9106.  
  9107.     4.5.3 Defining a Signature with TbScan
  9108.  
  9109.     This section is for advanced users who have registered their copy of
  9110.     ThunderBYTE Anti-Virus.
  9111.  
  9112.     Although the TBSCAN.SIG file updates frequently, new viruses appear every
  9113.     day, outpacing the regular upgrading service of the TbScan signature
  9114.     file. It is possible for your system to become infected by a recently
  9115.     created virus not yet listed in the signature file. TbScan will not
  9116.  
  9117.           
  9118.  
  9119.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 167
  9120.  
  9121.  
  9122.  
  9123.     always detect the virus in such cases, not even with its heuristic
  9124.     analysis. If you are sure that your system has become infected without
  9125.     TbScan confirming this, this section will supply you with a valuable tool
  9126.     to detect unknown viruses. This section offers step-by-step assistance in
  9127.     creating an emergency signature that you can  (temporarily) add to your
  9128.     copy of TbScan.Sig
  9129.  
  9130.          1. Collect some infected files and copy them into a temporary
  9131.          directory.
  9132.  
  9133.          2. Boot from a clean write-protected diskette.
  9134.  
  9135.          WARNING: 
  9136.               Do NOT execute ANY program from the infected system, even
  9137.               though you expect this program to be clean.
  9138.  
  9139.          3. Execute TbScan from your write-protected TbScan diskette using
  9140.          the EXTRACT option.  Make sure that the temporary directory where
  9141.          you stored the infected files is TbScan's target directory. Using
  9142.          the EXTRACT option, TbScan will NOT scan the files but, instead,
  9143.          displays the first instructions that it finds at the entry-point of
  9144.          the infected programs.
  9145.  
  9146.          NOTE: 
  9147.               We recommend that you also set TbScan's LOG option to generate
  9148.               a log file.
  9149.  
  9150.  
  9151.          4. Compare the "signatures" extracted by TbScan. You should see
  9152.          something like this:
  9153.  
  9154.               NOVIRUS1.COM    2E67BCDEAB1290909 09090 ABCD123490CD
  9155.               NOVIRUS2.COM    N/A                     
  9156.               VIRUS1.COM      1234ABCD5678EFAB9 09090 ABCD123478FF
  9157.               VIRUS2.COM      1234ABCD5678EFAB9 01234 ABCD123478FF
  9158.               VIRUS3.COM      1234ABCD5678EFAB9 A5678 ABCD123478FF
  9159.  
  9160.          If the "signatures" of the files are completely different, the files
  9161.          are either probably not infected, or they have become infected by a
  9162.          polymorphic virus that requires an algorithmic detection module to
  9163.          detect it.
  9164.  
  9165.          5. If there are some differences in the "signatures," you can use
  9166.          the question mark wildcard (?). A signature to detect the  virus  in
  9167.          the example above could be:
  9168.  
  9169.  
  9170.           
  9171.  
  9172.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 168
  9173.  
  9174.  
  9175.  
  9176.               1234ABCD5678EFAB ?3 ABCD123478FF
  9177.  
  9178.          The "?3" means that there are three bytes at that position that
  9179.          should be skipped. Note that two digits in the signature represent a
  9180.          byte in your program.
  9181.  
  9182.          6. Add the signature to USERSIG.DAT. Give the virus a name in the
  9183.          first line of its entry, specify the COM, EXE, INF, and ATE in the
  9184.          second line, and enter the signature in the third, as in the
  9185.          following:
  9186.  
  9187.               NEW VIRUS
  9188.               EXE COM ATE INF
  9189.               1234ABCD5678EFAB?3ABCD123478FF
  9190.  
  9191.          7. Run TbGenSig. Make sure the resulting TbScan.Sig file is in the
  9192.          TBSCAN directory.
  9193.  
  9194.          8. Run TbScan again in the directory containing the infected files. 
  9195.          TbScan should now detect the virus.
  9196.  
  9197.          9. Send a couple of infected files to a recommended virus expert,
  9198.          preferably to the ThunderBYTE Corporation.
  9199.  
  9200.     Congratulations! You have defined a signature all by yourself! Now you
  9201.     can scan all your machines in search of the new virus.
  9202.  
  9203.     CAUTION: 
  9204.          Keep in mind that this method of extracting a signature is a 
  9205.          "quick-and-dirty" solution to viral problems. The extracted
  9206.          signature might not detect the presence of the virus in all cases.
  9207.          You can make a signature guaranteed to detect all instances of the
  9208.          virus only after complete disassembly of the new virus. For these
  9209.          reasons you should NEVER distribute your home-made "signature" to
  9210.          others. In most cases, the signature eventually assembled by
  9211.          experienced anti-virus researchers may be different from your
  9212.          homemade version.
  9213.  
  9214.  
  9215.  
  9216.     4.5.4 Understanding Keywords
  9217.  
  9218.     You can use keywords for several purposes. You can separate them by
  9219.     spaces, commas, or tabs and use a maximum line length of 80 characters.
  9220.     You also should specify at least one of the following flags: BOOT, COM,
  9221.     EXE, HIGH, LOW, SYS, or WIN.
  9222.  
  9223.           
  9224.  
  9225.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 169
  9226.  
  9227.  
  9228.  
  9229.     These seven flags fall into three categories: "Item Keywords,"   "Message
  9230.     Keywords," and "Position Keywords." 
  9231.  
  9232.  
  9233.     Using Item Keywords
  9234.  
  9235.     Item keywords tell the scanner where to search for viruses with those
  9236.     keywords. For example, the BOOT keyword tells the scanner that the
  9237.     accompanying virus signature can reside only in a boot sector or
  9238.     partition table. The Item keywords include the following:
  9239.  
  9240.          BOOT.     Specifies that the signature can be found in boot sectors
  9241.                    and/or partition tables.
  9242.  
  9243.          COM.      Specifies that the signature can be found in COM programs.
  9244.                    This flag instructs the scanner to search for this
  9245.                    signature in executable files that do not have an EXE
  9246.                    header or device header.
  9247.  
  9248.                    NOTE: Always keep in mind that the file content determines
  9249.                    the file type, not the filename extension!
  9250.  
  9251.          EXE.      Specifies that the signature can be found in EXE programs.
  9252.                    This flag instructs the scanner to search for this
  9253.                    signature in the load module of EXE type files. EXE files
  9254.                    are files that have an EXE header. (See the Note under the
  9255.                    COM keyword.)
  9256.  
  9257.          HIGH.     Specifies that the signature can be found in HIGH memory
  9258.                    (above program).This flag instructs the scanner to search
  9259.                    for this signature in memory above the memory allocated by
  9260.                    the scanner. This keyword is for resident viruses that
  9261.                    allocate memory at "system boot" or viruses that decrease
  9262.                    the size of the last MCB (Memory Control Block). Please
  9263.                    note that the flag HIGH does not mean that the signature
  9264.                    should be searched in UPPER memory.
  9265.  
  9266.          LOW.      Specifies that the signature can be found in LOW memory.
  9267.                    This flag instructs the scanner to search for this
  9268.                    signature in memory below the PSP (Program Segment Prefix)
  9269.                    of the scanner and in the UMBs (Upper Memory Blocks). This
  9270.                    keyword is for viruses that remain resident in memory,
  9271.                    using the normal DOS TSR (Terminate and Stay Resident)
  9272.                    function calls.
  9273.  
  9274.  
  9275.  
  9276.           
  9277.  
  9278.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 170
  9279.  
  9280.  
  9281.  
  9282.          SYS.      Specifies that the signature can be found in SYS programs,
  9283.                    such as device drivers.
  9284.  
  9285.          WIN.      Specifies that the signature can be found in Windows
  9286.                    programs.
  9287.  
  9288.  
  9289.     Message keywords
  9290.  
  9291.     Message keywords describe the type and behavior of the virus. For each
  9292.     keyword, this results in the scanner displaying a different message when
  9293.     it finds such a virus. These keywords include the following:
  9294.  
  9295.          DAM.      Message prefix:     damaged by.  
  9296.          DROP.     Message prefix:     dropper of. 
  9297.          FND.      Message prefix:     found the. 
  9298.          INF.      Message prefix:     infected by.  
  9299.                    Message suffix:     virus. 
  9300.          JOKE.     Message prefix:     joke named. 
  9301.          OVW.      Message prefix:     garbage: (not a virus). 
  9302.          PROB.     Message pre-prefix: probably. 
  9303.          TROJ.     Message prefix:     trojanized by. 
  9304.  
  9305.  
  9306.     Position keywords
  9307.  
  9308.     Position keywords indicate special file areas where the virus can be
  9309.     found. If you use a position keyword, the virus must reside at the
  9310.     specific position. TbGenSig can handle three position keywords:
  9311.  
  9312.          UATE.     Specifies that the signature starts directly at the
  9313.                    unresolved entry-point of the viral code. With some
  9314.                    polymorphic viruses, it might be possible to create a
  9315.                    signature from the degarbling routine, although it might
  9316.                    be either too short or give false positives with a global
  9317.                    search. An initial branch instruction  can be part of the
  9318.                    signature. The unresolved entry-point is defined for COM-,
  9319.                    EXE-, and Windows-type files:
  9320.  
  9321.                    COM type files:     top of file (IP 0100h).
  9322.  
  9323.                    EXE type files:     CS:IP as defined in the EXE-header.
  9324.  
  9325.                    WIN type files:     Non-DOS CS:IP of the new EXE-header.
  9326.  
  9327.                    NOTE: 
  9328.  
  9329.           
  9330.  
  9331.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 171
  9332.  
  9333.  
  9334.  
  9335.                         The UATE keyword is not allowed for BOOT, SYS, LOW,
  9336.                         HMA, or HIGH type signatures.
  9337.  
  9338.          ATE.      Specifies that the signature starts directly at the
  9339.                    entry-point of the viral code. With some polymorphic
  9340.                    viruses, it might be possible to create a signature from
  9341.                    the degarbling routine, although it might either be too
  9342.                    short or give false positives with a global search.
  9343.                    Therefore, use the ATE keyword to ensure that the scanners
  9344.                    do not scan the entire file for the signature, but only
  9345.                    look at the entry-point for the signature.
  9346.  
  9347.                    The first instruction that is not equal to either a "JUMP
  9348.                    SHORT," a "JUMP," or a "CALL NEAR" instruction defines the
  9349.                    entry point of a virus.
  9350.  
  9351.                    Let's examine the following code fragment:
  9352.  
  9353.                    Unresolved entry point:  1    JUMP SHORT 3
  9354.                                             2    ...
  9355.                                             3    JUMP 5
  9356.                                             4    ...
  9357.                                             5    CALL NEAR 7
  9358.                                             6    ...
  9359.                                             7    CALL NEAR 9
  9360.                                             8    ...
  9361.                    Resolved entry point:    9    POP <reg>
  9362.  
  9363.                    The entry-point of the above fragment is Line 9, as this
  9364.                    is the first instruction to execute that is not a "JUMP
  9365.                    SHORT," a "JUMP," or a "CALL NEAR." 
  9366.  
  9367.                    NOTE: You can determine the entry-point by a code analyzer
  9368.                    to cope with tricks such as coding an NOP or DEC just
  9369.                    before the branch instruction. Therefore test the results
  9370.                    of the scanner carefully. In case of trouble, use the
  9371.                    TbScan EXTRACT option to find out what TbScan considers to
  9372.                    be the entry point of the program. Also, the ATE flag is
  9373.                    not allowed for BOOT, SYS, LOW, HMA or HIGH type
  9374.                    signatures.
  9375.  
  9376.          XHD.      Specifies that the signature can be found at offset 2 of
  9377.                    the EXE header, but is rarely used. You should use it only
  9378.                    to detect the also very rare high-level language viruses,
  9379.                    viruses written in a programming language such as C or
  9380.                    Basic. These viruses normally contain standard setup
  9381.  
  9382.           
  9383.  
  9384.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 172
  9385.  
  9386.  
  9387.  
  9388.                    routines and library routines that are not suitable to
  9389.                    defining a signature. Use this keyword as a last resort to
  9390.                    detect such viruses.
  9391.  
  9392.                    NOTE: 
  9393.                         You can use this flag only for EXE or WIN type
  9394.                         signatures.
  9395.  
  9396.  
  9397.     Using Wildcards
  9398.  
  9399.     You can use wildcards characters in a virus signature to recognize so
  9400.     called  polymorphic  (self-modifying or self-mutating) virus code.
  9401.     TbGenSig distinguishes two wildcard categories: position wildcards and
  9402.     opcode wildcards (note that all numbers are in hexadecimal):
  9403.  
  9404.  
  9405.     Using Position Wildcards
  9406.  
  9407.     Position wildcard affect the position where the parts of the signature
  9408.     match.
  9409.  
  9410.          Skip fixed amount of bytes
  9411.  
  9412.               ?n    Skip n bytes and continue.(0h <= n <= Fh)
  9413.               ?@nn  Skip nn bytes and continue.(00h <= nn <= 7Fh)
  9414.  
  9415.          Skip variable amount of bytes
  9416.  
  9417.               *n    Skip up to n bytes and continue. (0h <= n <= Fh)
  9418.               *@nn  Skip up to nn bytes and continue. (00h <= nn <= 1Fh)
  9419.  
  9420.  
  9421.     Using Opcode wildcards
  9422.  
  9423.     The opcode wildcards detect instruction ranges.
  9424.  
  9425.          Low opcode
  9426.               nL    One of the interactions in the range of n0h to n7h.
  9427.  
  9428.          High opcode
  9429.  
  9430.               nH    One of the interactions in the range of n8h up to nFh.
  9431.  
  9432.     Since the opcode wildcards are rather difficult to understand, let's
  9433.     explore an example.
  9434.  
  9435.           
  9436.  
  9437.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 173
  9438.  
  9439.  
  9440.  
  9441.     Suppose a polymorphic virus puts a value in a word register (using a MOV
  9442.     WREG,VALUE instruction), increments a register (using an INC WREG
  9443.     instruction), and pops a word register from the stack (using a POP
  9444.     instruction). Both the registers and the value are variable. This means
  9445.     that the signature you are writing to detect this virus should be able to
  9446.     detect all code sequences for every value of the registers and the value,
  9447.     but this is far too much work. Now, consider that B8-BF are the opcodes
  9448.     for MOV WREG,VALUE, that 40-47 are the opcodes for INC WREG, and that
  9449.     58-5F are the opcodes for POP REG.
  9450.  
  9451.     By using the opcode wildcards, you can detect a sequence of these three
  9452.     instructions using the following signature fragment:
  9453.  
  9454.               bH4L5H
  9455.  
  9456.  
  9457.     4.5.5 Understanding a Sample Signature: Haifa.Mozkin
  9458.        
  9459.     To show the power of using the appropriate keywords and wildcards, here
  9460.     is the signature of the Haifa.Mozkin virus. This virus is highly
  9461.     polymorphic and encrypted. It contains a small variable decryptor to
  9462.     decrypt the virus.
  9463.  
  9464.     There are two problems here: most bytes are encrypted or variable, thus
  9465.     not suitable to be part of a signature, and the remainder is short and
  9466.     would cause dozens of false alarms.
  9467.  
  9468.     Using the appropriate keywords and wildcards, however, it s possible to
  9469.     define a reliable signature. TbScan actually uses the signature below to
  9470.     detect the Haifa.Mozkin virus.
  9471.  
  9472.               Haifa.Mozkin
  9473.               com exe ate inf
  9474.               bh?2bh?109?2*22e80?24l4h75fl
  9475.  
  9476.     Now let's analyze this signature. The first line describes the name of
  9477.     the virus. The second line tells the scanner to search for this signature
  9478.     in COM and EXE type files. It also tells the scanner that it should
  9479.     report the file as infected if the signature matches. The keyword ATE
  9480.     instructs the scanner to match this signature only at the resolved
  9481.     entry-point of the file. The virus starts, of course, by decrypting
  9482.     itself, so it is certain that the scanner will scan this location. The
  9483.     ATE instruction limits the scope of this signature to just one position
  9484.     in a file, so this significantly reduces the chances of false alarms. 
  9485.  
  9486.     The third line is the signature definition. Let's reverse engineer it:
  9487.  
  9488.           
  9489.  
  9490.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 174
  9491.  
  9492.  
  9493.  
  9494.          bh?2      Means a byte in the B8-BF range is followed by two
  9495.                    variable bytes. B8-BF is a MOV WREG,VALUE instruction.
  9496.                    From the register we only know it is a word register; the
  9497.                    value is unknown as well.
  9498.  
  9499.          bh?109    Means another MOV WREG,VALUE instruction. The register is
  9500.                    a word register, and from the value we know that it is in
  9501.                    the range 0900 to 09FF.
  9502.  
  9503.          ?2*2      Means skip two to four bytes. The virus inserts this
  9504.                    instruction to make it harder to define a signature.
  9505.  
  9506.          2e80?2    Means that the virus performs an arithmetic byte sized
  9507.                    operation with an immediate value (decrypts one byte) with
  9508.                    a CS: segment override. The exact operation, the memory
  9509.                    location, and the value are unknown.
  9510.  
  9511.          4l        Means a byte in the 40-47 range. This is an INC WREG
  9512.                    instruction. The virus increments the counter to the next
  9513.                    byte to be decrypted.
  9514.  
  9515.          4h        Means a byte in the 48-4F range. This is a DEC WREG
  9516.                    instruction. The virus decrements the iteration count.
  9517.  
  9518.          75fl      Opcode 75 is a JNZ instruction. If the decremented
  9519.                    register did not reach zero, the virus jumps back and
  9520.                    repeats the operation. How much does it jump? That tells
  9521.                    the fl part: somewhere between -16 (F0h) to -8 (F7h)
  9522.                    bytes.
  9523.  
  9524.     NOTE: 
  9525.          Although the signature language of TbGenSig is extremely powerful,
  9526.          there are viruses that are simply so highly polymorphic that they
  9527.          require even more sophisticated wildcards, keywords, or even special
  9528.          detection algorithms. The explanation of these wildcards, keywords,
  9529.          and algorithmic detection definitions, however, is beyond the scope
  9530.          of this user manual.
  9531.  
  9532.  
  9533.  
  9534.  
  9535.  
  9536.  
  9537.  
  9538.  
  9539.  
  9540.  
  9541.           
  9542.  
  9543.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 175
  9544.  
  9545.  
  9546.  
  9547.     Appendices
  9548.  
  9549.     Appendix A: TBAV messages
  9550.  
  9551.     The TBAV utilities might display various messages when run. Most messages
  9552.     are self-explanatory, but here is some additional information about
  9553.     specific messages.
  9554.  
  9555.  
  9556.     A.1 TbClean
  9557.  
  9558.     ANTI-VIR.DAT record found: information matches the currentstate of the
  9559.     file.
  9560.          The ANTI-VIR.DAT record has been found, but the information matches
  9561.          the current state of the file.
  9562.  
  9563.     The ANTI-VIR.DAT file was created after the infection. Trying
  9564.     emulation...
  9565.          The ANTI-VIR.DAT record was created after the file became infected,
  9566.          or the file is not changed at all. TbClean is going to emulate the
  9567.          file to clean it heuristically.
  9568.  
  9569.     ANTI-VIR.DAT record found: reconstructing original state...
  9570.          The ANTI-VIR.DAT record that belongs to the infected file has been
  9571.          found. The information will be used to reconstruct the file.
  9572.  
  9573.     ANTI-VIR.DAT record not found: original state unknown. Trying
  9574.     emulation...
  9575.          The ANTI-VIR.DAT file did not exist or did not contain information
  9576.          about the infected program, so the original state of the infected
  9577.          program is unknown to TbClean. TbClean switches to its heuristic
  9578.          mode to determine the state of the original file.
  9579.  
  9580.          NOTE: 
  9581.               To prevent this situation, use the TbSetup program to generate
  9582.               the ANTI-VIR.DAT records. These records are of great help to
  9583.               TbClean. After infection, it's too late to generate the
  9584.               ANTI-VIR.DAT records.
  9585.  
  9586.     Emulation terminated: <Reason>
  9587.          The emulation process terminated for the reason specified. TbClean
  9588.          now consults the collected information to see if it can disinfect
  9589.          the file. The reason for termination can be one of the following:
  9590.  
  9591.  
  9592.  
  9593.  
  9594.           
  9595.  
  9596.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 176
  9597.  
  9598.  
  9599.  
  9600.               Jump to BIOS code. The virus tried to perform a call or jump
  9601.               directly into BIOS code. TBAV cannot emulate this process, so
  9602.               aborts. The infected program probably cannot be disinfected. 
  9603.  
  9604.               Approached stack crash. The emulated program is approaching a
  9605.               crash. Something went wrong while emulating the program so it
  9606.               aborts. The infected program probably cannot be disinfected.
  9607.  
  9608.               Attempt to violate license agreements. TbClean will not
  9609.               disassemble this program for obvious reasons.
  9610.  
  9611.               Encountered keyboard input request. The emulated program tries
  9612.               to read the keyboard. This is very unusual for viruses, so the
  9613.               file is probably not infected at all.
  9614.               Encountered an invalid instruction. The emulator encountered an
  9615.               unknown instruction. For some reason the emulation failed. The
  9616.               infected program probably cannot be disinfected.
  9617.  
  9618.               DOS program-terminate request. The emulated program requests
  9619.               DOS to stop execution. The program is either not infected at
  9620.               all, or infected by an overwriting virus that does not pass
  9621.               control to its host program. The infected program cannot be
  9622.               disinfected.
  9623.  
  9624.               Jumped to original program entry point. The program jumped back
  9625.               to the start position. It is very likely infected, but can
  9626.               probably be disinfected.
  9627.  
  9628.               Undocumented DOS call with pointers to relocated code.  This is
  9629.               very common for viruses that add themselves in front of the COM
  9630.               type program. The program can probably be disinfected.
  9631.  
  9632.               Encountered an endless loop. TbClean encountered a situation in
  9633.               which the program is executing the same instruction sequences
  9634.               repeatedly for hundreds of thousands of times. It is unlikely
  9635.               that the program will ever escape from this loop, so the
  9636.               emulation aborts.
  9637.  
  9638.               Ctrl-break pressed. The user pressed <Ctrl>-<Break> so the
  9639.               clean attempt aborts.
  9640.  
  9641.               Emulation aborted for unknown reason. If this message appears,
  9642.               please send a copy of the file being emulated to the
  9643.               ThunderBYTE organization or one of the support BBS .
  9644.  
  9645.  
  9646.  
  9647.           
  9648.  
  9649.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 177
  9650.  
  9651.  
  9652.  
  9653.               Sorry, the collected information is not sufficient to clean
  9654.               file... The heuristic cleaning mode of TbClean aborts with
  9655.               success. The only option left is to restore the file from a
  9656.               backup or to re-install the program.
  9657.  
  9658.               Collected enough information to attempt a reliable clean
  9659.               operation... The emulation of the virus provided TbClean with
  9660.               all information needed to disinfect the file.
  9661.  
  9662.               Some DOS error occurred. TbClean aborted! Some DOS error
  9663.               occurred while trying to clean the file. Check that no files
  9664.               are read-only or located on a write protected disk, and make
  9665.               sure there is a reasonable amount of free disk space.
  9666.  
  9667.               The clean attempt seems to be successful. Test the file
  9668.               carefully!  TbClean thoroughly and reliably removed the virus
  9669.               from the file. However, take care and test the file carefully
  9670.               to see if it works as correctly.
  9671.  
  9672.               Reconstruction failed. Program might be overwritten. Trying
  9673.               emulation... TbClean tried to reconstruct the original file
  9674.               with the help of the ANTI-VIR.DAT record, but the attempt
  9675.               failed. TbClean is going to emulate the file to try to clean it
  9676.               heuristically.
  9677.  
  9678.               Reconstruction successfully completed. TbClean has
  9679.               reconstructed the file to its original state with the help of
  9680.               the information in the ANTI-VIR.DAT record. The CRC (checksum)
  9681.               of the original file and the cleaned file are completely equal,
  9682.               so it is almost certain that the cleaned file is equal to the
  9683.               original file.
  9684.  
  9685.               Starting clean attempt. Analyzing infected file... TbClean is
  9686.               analyzing the infected file and trying to locate the
  9687.               ANTI-VIR.DAT record.
  9688.  
  9689.  
  9690.     A.2 TbDriver
  9691.  
  9692.     Another version of TbDriver is already resident!
  9693.          You started a TBDRIVER.EXE with another version number or processor
  9694.          type than the TbDriver already in memory.
  9695.  
  9696.     Cannot remove TbDriver. Unload other TSRs first!
  9697.  
  9698.  
  9699.  
  9700.           
  9701.  
  9702.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 178
  9703.  
  9704.  
  9705.  
  9706.          You tried to remove TbDriver from memory, but other resident
  9707.          software was loaded after TbDriver. You can only remove resident
  9708.          programs from memory by unloading them in reverse order.
  9709.  
  9710.     LAN support was already installed.
  9711.          You tried to use the NET option a second time, or TbDriver already
  9712.          enabled network support automatically.
  9713.  
  9714.     TbDriver not active. Load TbDriver first!
  9715.          The resident TBAV utilities need TbDriver, so you need to load
  9716.          TbDriver first.
  9717.  
  9718.     TbDriver is not <version>.
  9719.          The version of TbDriver found in memory does not match the version
  9720.          number of this resident TBAV utility. Be sure you do not mix version
  9721.          numbers!
  9722.  
  9723.     This version of TbDriver requires a <typeID> processor.
  9724.          You are using a processor optimized version of TbDriver that the
  9725.          current processor cannot execute.
  9726.  
  9727.  
  9728.     A.3 TbScan
  9729.  
  9730.     Cannot create logfile.
  9731.          The specified log file path is illegal, the disk is full or write
  9732.          protected, or the file already exists and cannot be overwritten.
  9733.  
  9734.     [Cannot read datafile]
  9735.          TbScan needs access to its data file to be able to tell you the name
  9736.          of the virus. If it cannot access the data file, it displays this
  9737.          message instead of the virus.
  9738.  
  9739.     Command line error.
  9740.          You specified an invalid or illegal command line option.
  9741.  
  9742.     No matching executable files found.
  9743.          The specified path does not exist, is empty, or is not an executable
  9744.          file.
  9745.  
  9746.     Sanity check failed!
  9747.          TbScan detected that its internal checksum no longer matches. It is
  9748.          possible that TbScan is contaminated by a virus. Obtain a clean copy
  9749.          of TbScan, copy the program on a write protected system diskette,
  9750.          boot from that diskette, and try again.
  9751.  
  9752.  
  9753.           
  9754.  
  9755.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 179
  9756.  
  9757.  
  9758.  
  9759.     A.4 TbScanX
  9760.  
  9761.     Data file not found.
  9762.          TbScanX cannot locate the data file.
  9763.  
  9764.     Not enough memory.
  9765.          There is not enough free memory to process the data file. Try to
  9766.          enable swapping, or if you are already doing so, try another
  9767.          swapping mode. See also the Understanding Memory Considerations 
  9768.          section in Chapter 4.
  9769.  
  9770.  
  9771.  
  9772.  
  9773.  
  9774.  
  9775.  
  9776.  
  9777.  
  9778.  
  9779.  
  9780.  
  9781.  
  9782.  
  9783.  
  9784.  
  9785.  
  9786.  
  9787.  
  9788.  
  9789.  
  9790.  
  9791.  
  9792.  
  9793.  
  9794.  
  9795.  
  9796.  
  9797.  
  9798.  
  9799.  
  9800.  
  9801.  
  9802.  
  9803.  
  9804.  
  9805.  
  9806.           
  9807.  
  9808.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 180
  9809.  
  9810.  
  9811.  
  9812.  
  9813.     Appendix B: TbScan Heuristic Flag Descriptions
  9814.  
  9815.     This appendix describes TBAV's heuristic flags.
  9816.  
  9817.     # - Decryptor code found 
  9818.     The file possibly contains a self-decryption routine. Some copy-protected
  9819.     software is encrypted, so this warning might appear for some of your
  9820.     files. If, however, this warning appears in combination with, for
  9821.     example, the "T" warning, there could be a virus involved and TbScan
  9822.     assumes contamination. Many viruses encrypt themselves and trigger this
  9823.     warning.
  9824.  
  9825.     ! - Invalid program.
  9826.     Invalid opcode (non-8088 instructions) or out-of-range branch. The
  9827.     program has either an entry point that located outside the body of the
  9828.     file, or reveals a chain of  jumps  that can be traced to a location
  9829.     outside the program file. Another possibility is that the program
  9830.     contains invalid processor instructions. The program being checked is
  9831.     probably damaged and cannot execute in most cases. At any rate, TbScan
  9832.     avoids risk and uses the  scan  method to scan the file.
  9833.  
  9834.     1 - 80186+ instructions.
  9835.     The file contains instructions which cannot be executed by 8088
  9836.     processors, and require an 80186 or better processor.
  9837.  
  9838.     @ - Strange instructions 
  9839.     The file contains instructions which are not likely to be generated by an
  9840.     assembler, but by some code generator like a polymorphic virus instead.
  9841.  
  9842.     ? - Inconsistent header.
  9843.     The program being processed has an EXE-header that does not reflect the
  9844.     actual program lay-out. Many viruses do not update the EXE-header of an
  9845.     EXE file correctly after they infect the file, so if this warning pops up
  9846.     frequently, it appears you have a problem.
  9847.  
  9848.     c - No integrity check 
  9849.     This warning indicates that TBAV found no checksum/recovery information
  9850.     for the indicated file. We recommend you use TbSetup in this case to
  9851.     store the file's information. TBAV uses this information for integrity
  9852.     checking and to recover from virus infections. 
  9853.  
  9854.     h - Hidden or System file. 
  9855.     The file has the  Hidden  or the  System  file attribute set. This means
  9856.     that the file is not visible in a DOS directory display but TbScan scans
  9857.     it anyway. If you don t know the origin and/or purpose of this file, you
  9858.  
  9859.           
  9860.  
  9861.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 181
  9862.  
  9863.  
  9864.  
  9865.     might be dealing with a  Trojan Horse  or a  joke  virus program. Copy
  9866.     such a file onto a diskette, remove it from its program environment, and
  9867.     then check if the program concerned is missing the file. If a program
  9868.     does not miss it, you not only have freed some disk space, but you might
  9869.     also have prevented a future disaster.
  9870.  
  9871.     i - Internal overlay. 
  9872.     The program being processed has additional data or code behind the
  9873.     load-module as specified in the EXE-header of the file. The program might
  9874.     have internal overlay(s) or configuration or debug information appended
  9875.     behind the load-module of the EXE file.
  9876.  
  9877.     p - Packed or compressed file. 
  9878.     This means that the program is packed or compressed. There are some
  9879.     utilities that can compress program files, such as  EXEPACK and PKLITE.
  9880.     If the file became infected after compression, TbScan is able to detect
  9881.     the virus. However, if the file became infected before compression, the
  9882.     virus was also compressed in the process, and a virus scanner might no
  9883.     longer be able to recognize the virus. Fortunately, this does not happen
  9884.     very often, but you should still beware! A new program might look clean,
  9885.     but can turn out to be the carrier of a compressed virus. Other files in
  9886.     your system will become infected too, and it is these infections that
  9887.     will be clearly visible to virus scanners.
  9888.  
  9889.     w - Windows or OS/2 header.
  9890.     The program can be or is intended to run in a Windows (or OS/2)
  9891.     environment. TbScan offers a specialized scanning method for these files.
  9892.  
  9893.     A - Suspicious Memory Allocation
  9894.     The program uses a non-standard way to search for, and/or to allocate
  9895.     memory. Many viruses try to hide themselves in memory, so they use a
  9896.     non-standard way to allocate this memory. Some programs (such as
  9897.     high-loaders or diagnostic software) also use non-standard ways to search
  9898.     or allocate memory.
  9899.  
  9900.     B - Back to entry.
  9901.     The program seems to execute some code, and after that jumps back to the
  9902.     entry-point of the program. Normally this results in an endless loop,
  9903.     except when the program also modifies some of its instructions. This is
  9904.     quite common behavior for computer viruses. In combination with any other
  9905.     flag, TbScan reports a virus.
  9906.  
  9907.     C - File has been changed
  9908.     This warning appears only if you use TbSetup to generate the ANTI-VIR.DAT
  9909.     files and means the file has been changed. Upgrading the software would
  9910.  
  9911.  
  9912.           
  9913.  
  9914.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 182
  9915.  
  9916.  
  9917.  
  9918.     trigger this message. Otherwise, it is very likely that a virus infected
  9919.     the file!
  9920.     NOTE: 
  9921.          TbScan does not display this warning if only some internal
  9922.          configuration area of the file changes. This warning means that code
  9923.          at the program entry point, the entry-point itself, and/or the file
  9924.          size has been changed.
  9925.  
  9926.     D - Direct disk access 
  9927.     This flag appears if the program being processed has instructions near
  9928.     the entry-point to write to a disk directly. It is quite normal that some
  9929.     disk related utilities trigger this flag.  If several files that should
  9930.     not be  writing directly to the disk trigger this flag, your system might
  9931.     be infected by an unknown virus.
  9932.     NOTE: 
  9933.          A program that accesses the disk directly does not always have the
  9934.          "D" flag. Only when the direct disk instructions are near the
  9935.          program entry point does TbScan report it. If a virus is at fault,
  9936.          the harmful instructions are always near the entry point, so it is
  9937.          only there that TbScan looks for them.
  9938.  
  9939.     E - Flexible Entry-point 
  9940.     This flag indicates that the program starts with a routine that
  9941.     determines its location within the program file. This is rather
  9942.     suspicious because sound programs have a fixed entry-point so they do not
  9943.     have to determine this location. For viruses, however, this is quite
  9944.     common. Approximately 50% of the known viruses trigger this flag.
  9945.  
  9946.     F - Suspicious file access 
  9947.     TbScan has found instruction sequences common to infection schemes that
  9948.     viruses use. This flag appears with those programs that are able to
  9949.     create or modify existing files.
  9950.  
  9951.     G - Garbage instructions. 
  9952.     The program contains code that seems to have no purpose other than
  9953.     encryption or avoiding recognition by virus scanners. In most cases there
  9954.     won't be any other flag since the file is encrypted and the instructions
  9955.     are hidden.
  9956.     NOTE: 
  9957.          This flag appears occasionally on "normal" files. This simply
  9958.          indicates, however, that these are poorly designed, not infected..
  9959.  
  9960.     J - Suspicious jump construct. 
  9961.     The program did not start at the program entry point. The code has either
  9962.     jumped at least twice before reaching the final startup code, or the
  9963.     program jumped using an indirect operand. Sound programs should not
  9964.  
  9965.           
  9966.  
  9967.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 183
  9968.  
  9969.  
  9970.  
  9971.     display this kind of strange behavior. If several files trigger this
  9972.     flag, you should investigate your system thoroughly.
  9973.  
  9974.     K - Unusual stack. 
  9975.     The EXE file being processed has an odd (instead of even) stack offset or
  9976.     a suspicious stack segment. Many viruses are quite  buggy  by setting up
  9977.     an illegal stack value.
  9978.  
  9979.     L - Program load trap 
  9980.     The program might trap the execution of other software. If the file also
  9981.     triggers the "M" flag (memory resident code), it is very likely that the
  9982.     file is a resident program that determines when another program executes.
  9983.     Many viruses trap the program load and use it to infect the program. Some
  9984.     anti-virus utilities also trap the program load.
  9985.  
  9986.     M - Memory resident code. 
  9987.     TbScan has found instruction sequences that could cause the program to
  9988.     hook into important interrupts. Many TSR (Terminate and Stay Resident)
  9989.     programs trigger this flag because hooking into interrupts is part of
  9990.     their usual behavior. If several non-TSR programs trigger this warning
  9991.     flag, however, you should be suspicious. It is likely that a virus that
  9992.     remains resident in memory infected your files.
  9993.     NOTE: 
  9994.          This warning does not appear with all true TSR programs, nor can you
  9995.          always rely upon  TSR detection in non-TSR programs.
  9996.  
  9997.     N - Wrong name extension. 
  9998.     Indicates a name conflict; that is, the program carries the extension
  9999.     .EXE but appears to be an ordinary .COM file, or it has the extension
  10000.     .COM but the internal layout of an .EXE file. A wrong name extension
  10001.     might in some cases indicate a virus, but in most cases it does not.
  10002.  
  10003.     O - code Overwrite. 
  10004.     This flag appears if TbScan detects that the program overwrites some of
  10005.     its instructions. However, it does not seem to have a complete
  10006.     (de)cryptor routine.
  10007.  
  10008.     R - Suspicious relocator 
  10009.     Indicates a suspicious relocator. A relocator is a sequence of
  10010.     instructions that changes the proportion of CS:IP. Viruses often use
  10011.     this. Those viruses have to relocate the CS:IP proportion because they
  10012.     were compiled for a specific location in the executable file; a virus
  10013.     that infects another program can hardly ever use its original location in
  10014.     the file as it is appended to this file. Sound programs  know  their
  10015.     location in the executable file, so they don t have to relocate
  10016.  
  10017.  
  10018.           
  10019.  
  10020.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 184
  10021.  
  10022.  
  10023.  
  10024.     themselves. On systems that operate normally, only a small percentage of
  10025.     the programs should trigger this flag.
  10026.  
  10027.     S - Search for executables 
  10028.     The program searches for *.COM or *.EXE files. This by itself does not
  10029.     indicate a virus, but it is an ingredient of most viruses, since they
  10030.     have to search for suitable files to spread themselves. If accompanied by
  10031.     other flags, TbScan assumes the file is infected by a virus.
  10032.  
  10033.     T - Invalid timestamp. 
  10034.     The timestamp of the program is invalid; that is, the number of seconds
  10035.     in the time stamp is illegal, or the date is illegal or later than the
  10036.     year 2000. This is suspicious because many viruses set the time stamp to
  10037.     an illegal value (such as 62 seconds) to mark that they already infected
  10038.     the file so they won't infect a file a second time. It is possible that
  10039.     the program being checked is contaminated with a virus that is still
  10040.     unknown, especially if several files on your system have an invalid time
  10041.     stamp. If only very few programs have an invalid time stamp, you d better
  10042.     correct it and scan frequently to check that the time stamp of the files
  10043.     remains valid.
  10044.  
  10045.     U - Undocumented system call. 
  10046.     The program uses unknown DOS calls or interrupts. These unknown calls can
  10047.     be issued to invoke undocumented DOS features, or to communicate with an
  10048.     unknown driver in memory. Since many viruses use undocumented DOS
  10049.     features, or communicate with memory resident parts of a previously
  10050.     loaded instance of the virus, a program is suspicious if it performs
  10051.     unknown or undocumented communications. This does not necessarily
  10052.     indicate a virus, however, since some  tricky  programs also use
  10053.     undocumented features.
  10054.  
  10055.     V - Validated program 
  10056.     The program has been validated to avoid false alarms. The design of this
  10057.     program would normally cause a false alarm by the heuristic scan mode of
  10058.     TbScan, or this program might change frequently, and TbScan excludes the
  10059.     file from integrity checking. Either TbSetup (automatically) or by TbScan
  10060.     (manually) stores these exclusions in the ANTI-VIR.DAT.
  10061.  
  10062.     Y - Invalid boot sector. 
  10063.     The boot sector is not completely according to the IBM defined boot
  10064.     sector format. It is possible that the boot sector contains a virus or
  10065.     has been corrupted.
  10066.  
  10067.     Z - EXE/COM determinator. 
  10068.     The program seems to check whether a file is a COM or EXE type program.
  10069.     Infecting a COM file is a process that is not similar to infecting an EXE
  10070.  
  10071.           
  10072.  
  10073.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 185
  10074.  
  10075.  
  10076.  
  10077.     file, which implies that viruses able to infect both program types should
  10078.     also be able to distinguish between them. There are, of course, innocent
  10079.     programs that need to find out whether a file is a COM or EXE file.
  10080.     Executable file compressors, EXE2COM, converters, debuggers, and
  10081.     high-loaders are examples of programs that might contain a routine to
  10082.     distinguish between EXE and COM files.
  10083.  
  10084.  
  10085.  
  10086.  
  10087.  
  10088.  
  10089.  
  10090.  
  10091.  
  10092.  
  10093.  
  10094.  
  10095.  
  10096.  
  10097.  
  10098.  
  10099.  
  10100.  
  10101.  
  10102.  
  10103.  
  10104.  
  10105.  
  10106.  
  10107.  
  10108.  
  10109.  
  10110.  
  10111.  
  10112.  
  10113.  
  10114.  
  10115.  
  10116.  
  10117.  
  10118.  
  10119.  
  10120.  
  10121.  
  10122.  
  10123.  
  10124.           
  10125.  
  10126.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 186
  10127.  
  10128.  
  10129.  
  10130.     Appendix C: Solving Incompatibility Problems
  10131.  
  10132.     Although TBAV utilities cooperate very well with other resident software,
  10133.     other software might not behave so well. This can cause system errors or
  10134.     even more serious problems. This section describes some common problems
  10135.     and their solutions.
  10136.  
  10137.     PROBLEM: 
  10138.          If a TBAV utility tries to display a message, the text  message
  10139.          "file <filename> could not be opened" appears.
  10140.  
  10141.          Specify the FULL path and filename of the file to use as a message
  10142.          file after the TbDriver loading command. The default file name is
  10143.          TBDRIVER.LNG.
  10144.  
  10145.     PROBLEM: 
  10146.          One of your utilities is loading a TSR into memory without an
  10147.          executable filename extension, such as .EXE or .COM. Since TbSetup
  10148.          creates ANTI-VIR.DAT records only for files with an executable
  10149.          extension, there is no ANTI-VIR.DAT, so TbMem is not able to record
  10150.          the TSR permission information.
  10151.  
  10152.          Run TbSetup and specify the exact filename of the TSR. TbSetup
  10153.          creates an ANTI-VIR.DAT record, regardless of the filename
  10154.          extension, so TbMem can now record its information.
  10155.  
  10156.          Although the ANTI-VIR.DAT record exists, TbScan does not use it to
  10157.          check the CRC to avoid false alarms.
  10158.  
  10159.     PROBLEM: 
  10160.          You are running a network, and one of the following problems arises:
  10161.  
  10162.               1. TbScanX is installed, but does not display the *scanning* 
  10163.               message while accessing files. It also does not detect viruses.
  10164.  
  10165.               2. TbCheck is installed, but does not display the *checking* 
  10166.               message while accessing files. It also does not detect viruses.
  10167.               3. TbFile is installed, but does not detect anything.
  10168.               4. TbMem is installed, but does not detect TSRs.
  10169.  
  10170.          Use the "TbDriver net" command after the network loads.
  10171.  
  10172.     PROBLEM: 
  10173.          The system sometimes hangs when the message *scanning*  is on the
  10174.          screen.
  10175.  
  10176.  
  10177.           
  10178.  
  10179.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 187
  10180.  
  10181.  
  10182.  
  10183.          Try TbScanX without the EMS or XMS option. If TbScanX now works
  10184.          without any problems, add the EMS or XMS option again along with the
  10185.          COMPAT option. On some systems, you cannot use the TbScanX XMS
  10186.          option at all because these systems do not allow resident software
  10187.          to use extended memory.
  10188.  
  10189.          If the problem relates to the XMS option and still occurs when you
  10190.          use the COMPAT option, you can use the XMSSEG = <VALUE> option to
  10191.          change the XMS swap segment address. The value should be between
  10192.          2000 and 8000. The default value is 4000.
  10193.  
  10194.     PROBLEM: 
  10195.          After you have given permission for a program to remain resident in
  10196.          memory, TbMem asks the same question the next time.
  10197.  
  10198.          First, the SECURE option of TbDriver is in use. Remove this option,
  10199.          reboot and try again.
  10200.  
  10201.          Second, the program mentioned does not appear in the ANTI-VIR.DAT
  10202.          file and, therefore, TbMem cannot permanently store the permission
  10203.          flag. Use TbSetup first to generate this program's ANTI-VIR.DAT
  10204.          record.
  10205.  
  10206.          Third, for some reason it is not possible to write to the
  10207.          Anti-Vir.Dat file. The file might reside on a write protected
  10208.          diskette, on a network in a read-only directory, or the Anti-Vir.Dat
  10209.          file has the read-only  attribute set.
  10210.  
  10211.     PROBLEM: 
  10212.          The system sometimes hangs when you answer "YES" (abort program) to
  10213.          a TbMem message.
  10214.  
  10215.          A solution here is difficult. Some resident programs seriously
  10216.          interfere with the system, and once rejected from memory, the system
  10217.          becomes unstable.
  10218.  
  10219.     PROBLEM: 
  10220.          When you load TbDisk from the DOS command prompt, everything works
  10221.          fine. When you install TbDisk from within the CONFIG.SYS or
  10222.          AUTOEXEC.BAT file, however, it continually warns that programs write
  10223.          to disk directly.
  10224.  
  10225.          Load TbDisk at the end of your AUTOEXEC.BAT file.
  10226.  
  10227.     PROBLEM: 
  10228.  
  10229.  
  10230.           
  10231.  
  10232.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 188
  10233.  
  10234.  
  10235.  
  10236.          You formatted the hard disk using DOS FORMAT, but TbDisk did not
  10237.          display a message until the process was almost complete.
  10238.  
  10239.          This is not a problem. A high level format program such as DOS's
  10240.          FORMAT.COM does not actually format the disk (that is, divide the
  10241.          disk into tracks and sectors), rather it reads all tracks to locate
  10242.          possible bad spots and clears the FAT and directory structure. Only
  10243.          this last step implies a disk write, so it is the only one TbDisk
  10244.          detects.
  10245.  
  10246.     PROBLEM: 
  10247.          After you give permission for a program to perform direct disk
  10248.          access, TbDisk asks the same question the next time.
  10249.  
  10250.          First, the SECURE option of TbDriver is in use. Remove this option,
  10251.          reboot and try again.
  10252.  
  10253.          Second, the program mentioned does not appear in the ANTI-VIR.DAT
  10254.          file and therefore TbDisk can not permanently store the permission
  10255.          flag. Use TbSetup first to generate this program's ANTI-VIR.DAT
  10256.          record.
  10257.  
  10258.     PROBLEM: 
  10259.          If you try to use Windows fast 32-bit disk access, Windows displays
  10260.          an error message.
  10261.  
  10262.          Use the WIN32 option on the TbDisk command line.
  10263.  
  10264.  
  10265.  
  10266.  
  10267.  
  10268.  
  10269.  
  10270.  
  10271.  
  10272.  
  10273.  
  10274.  
  10275.  
  10276.  
  10277.  
  10278.  
  10279.  
  10280.  
  10281.  
  10282.  
  10283.           
  10284.  
  10285.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 189
  10286.  
  10287.  
  10288.  
  10289.     Appendix D: TBAV Exit Codes and Batch Files
  10290.  
  10291.     All TBAV utilities return to DOS with an error code that you can use with
  10292.     DOS's ERRORLEVEL command. The chief use of these error codes is in batch
  10293.     files. This appendix lists these error codes. Consult your DOS manual for
  10294.     information how to use error codes in batch files.
  10295.  
  10296.     D.1 TbScan Exit Codes
  10297.  
  10298.     TbScan terminates with one of the following exit codes:
  10299.  
  10300.          Errorlevel     Description
  10301.          ----------     -------------------------------------
  10302.               0         No viruses found/ No error occurred
  10303.               1         No files found
  10304.               2         An error occurred
  10305.               3         Files have changed
  10306.               4         Virus found using heuristic analysis
  10307.               5         Virus found using signature scanning
  10308.               255       Sanity check failed
  10309.  
  10310.  
  10311.     D.2 TbUtil Exit Codes
  10312.  
  10313.     TbUtil terminates with one of the following exit codes:
  10314.  
  10315.          Errorlevel     Description
  10316.          ----------     -------------------------------------
  10317.               0         No error occurred
  10318.               1         Option "compare" failed/An error occurred
  10319.  
  10320.  
  10321.     D.3  General Exit Codes
  10322.  
  10323.     All the TBAV utilities except TbScan and TbUtil (see above) exit with one
  10324.     of the following exit codes:
  10325.  
  10326.          Errorlevel     Description
  10327.          ----------     -------------------------------------
  10328.               0         No error occurred
  10329.               1         A error occurred
  10330.  
  10331.  
  10332.     D.4 Program Installation Check
  10333.  
  10334.  
  10335.  
  10336.           
  10337.  
  10338.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 190
  10339.  
  10340.  
  10341.  
  10342.     To detect within a batch file whether a resident TBAV utility loaded, you
  10343.     can check for the device names. All TBAV utilities install a device name,
  10344.     whether they load from CONFIG.SYS or AUTOEXEC.BAT.
  10345.  
  10346.     You can use the DOS IF EXIST batch file command to check for the device
  10347.     names. The following example, illustrating a part of a batch file, uses
  10348.     this construction to test whether TbScanX is loaded:
  10349.  
  10350.        @ECHO OFF
  10351.        IF NOT EXIST SCANX ECHO TBSCANX HAS NOT BEEN LOADED!
  10352.  
  10353.        You could also branch to a label by using the GOTO command:
  10354.  
  10355.        @ECHO OFF
  10356.        IF NOT EXIST SCANX GOTO NOSCANX
  10357.        ECHO TBSCANX EXISTS !
  10358.        GOTO END
  10359.        :NOSCANX
  10360.        ECHO TBSCANX DOES NOT EXIST !
  10361.        :END
  10362.  
  10363.     Finally, the following table lists the device names used by the TBAV
  10364.     utilities:
  10365.  
  10366.          TBAV program   Device name
  10367.          ------------   -------------------------------------
  10368.          TbScanX        SCANX
  10369.          TbCheck        TBCHKXXX
  10370.          TbMem          TBMEMXXX
  10371.          TbFile         TBFILXXX
  10372.          TbDisk         TBDSKXXX
  10373.          TbLog          TBLOGXXX
  10374.  
  10375.  
  10376.  
  10377.  
  10378.  
  10379.  
  10380.  
  10381.  
  10382.  
  10383.  
  10384.  
  10385.  
  10386.  
  10387.  
  10388.  
  10389.           
  10390.  
  10391.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.       Page 191
  10392.  
  10393.  
  10394.  
  10395.  
  10396.     Appendix E: Virus Detection and Naming
  10397.  
  10398.  
  10399.     E.1 How Many Viruses Does TbScan Detect?
  10400.  
  10401.     Most of the TbScan signatures are family signatures; that is, one
  10402.     signature detects an entire set of viruses. All these viruses relate to
  10403.     one another. The Jerusalem signature, for example, covers more than 100
  10404.     viruses. For this reason, there is no way of knowing how many viruses
  10405.     TbScan detects.
  10406.  
  10407.     Some competitive products treat each virus mutant as a separate virus,
  10408.     thus claiming to detect over 4000 viruses. TbScan, however, detects
  10409.     viruses using  only  2000 signatures. If you want to compare virus
  10410.     scanners, you have to rely on the tests frequently published in
  10411.     magazines.
  10412.  
  10413.  
  10414.     E.2 The Virus Naming Convention
  10415.  
  10416.     TbScan follows the CARO virus naming recommendations. CARO is an
  10417.     organization in which leading anti-virus researchers participate. The
  10418.     CARO approach groups viruses in a hierarchical tree, which indicates to
  10419.     which family viruses belong. TbScan shows the complete CARO name where
  10420.     possible.
  10421.  
  10422.     In contrast, however, many other anti-virus products simply indicate the
  10423.     family name or the member name. For example, many products might refer to
  10424.     the  Leprosy.Seneca.493  using the family name  Leprosy  or member name 
  10425.     Seneca,  or even by the variant name  493.   Worse yet, anti-virus
  10426.     products developed by non CARO members might even use a completely
  10427.     different name.
  10428.  
  10429.     TbScan, however, tries to display as much of the name as possible.
  10430.     Building on the previous example, if TbScan can t distinguish between the 
  10431.     Leprosy.Seneca.493  and  Leprosy.Seneca.517  viruses, it indicates both
  10432.     by the name  Leprosy.Seneca 
  10433.  
  10434.     Some viruses mutate themselves frequently. To detect all instances of
  10435.     such a virus, it is sometimes necessary to use multiple signatures.
  10436.     Although these signatures cover exactly the same virus, they do have a
  10437.     slightly different indication. Behind the name of the virus you will see
  10438.     a number in angle brackets. This number has nothing to do with the name
  10439.     of the virus, but is there just for maintenance reasons.
  10440.  
  10441.  
  10442.           
  10443.  
  10444.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.         Page i
  10445.  
  10446.  
  10447.  
  10448.     Index
  10449.  
  10450.     Algorithms  . . . . . . . . . . . . . . . . . . . . . . 74, 153, 157, 174
  10451.     ANTI-VIR.DAT   1-4, 10, 18, 20, 22, 33-38, 41-43, 45, 46, 53, 62, 64, 75,
  10452.                  80-82, 92, 94, 95, 96, 98-103, 105, 111, 114, 120, 125, 150,
  10453.                                    156, 157, 163, 175, 177, 181, 184, 186-188
  10454.     Cleaner . . . . . . . . . . . . . . . . . . . .  1, 98, 106, 107, 161-163
  10455.     Command line options  17, 40, 62, 79, 80, 86, 87, 94, 101, 102, 110, 112,
  10456.                                                       117, 132, 141, 145, 156
  10457.     Communication . . . . . . . . . . . . . . . . . . . . . . . . . . 143-146
  10458.     Configurations  . . . . . . . . . . . . . . . . . . . . . . . . . 49, 116
  10459.     Configuring TBAV  . . . . . . . . . . . . . . . . . .  14-16, 40, 62, 100
  10460.     Direct disk access  . . . . . . . . . . . 39, 40, 124, 125, 151, 182, 188
  10461.     Environment . . . . . . . . . . . . . .  3, 5, 24, 96, 127, 140, 148, 181
  10462.     Exit codes  . . . . . . . . . . . . . . . . . . . . . . . . . . .  6, 189
  10463.     Generic cleaner . . . . . . . . . . . . . . . . . . . . . . . .  161, 163
  10464.     Help  .  15, 16, 27, 33, 34, 41, 44, 45, 62-64, 80, 86, 87, 94, 102, 108,
  10465.                                   112, 117, 122, 123, 125, 141, 145, 175, 177
  10466.     Heuristic cleaner . . . . . . . . . . . . . . . . . . . . . . . . . .  98
  10467.     Heuristic flags . . . . . .  6, 60, 61, 69, 70, 73, 74, 76, 154, 155, 180
  10468.     Heuristic scanning  . . . . . . . . . . . . . . . . . 47, 65, 76, 153-155
  10469.     Immunized partition table . . . . . . . . . . . . . . . . . . . . . . 127
  10470.     Installation  . 8, 9, 11, 12, 18, 23, 25, 27, 44, 48, 121, 122, 125, 150,
  10471.                                                                      152, 189
  10472.     Integrity checking  . . . . . . . . . . 1, 2, 18, 153, 156, 157, 180, 184
  10473.     Interface . . . . . . . . . . . . . . . . . . . . . 5, 11, 12, 16, 86, 89
  10474.     Maintenance . . . . . . . . . . . . . .  20, 120, 128, 129, 131, 133, 191
  10475.     Memory requirements . . . . . . . . . . . . . . . . . . . .  88, 147, 148
  10476.     Menu interface  . . . . . . . . . . . . . . . . . . . . . . .  11, 12, 16
  10477.     Microsoft Windows . . . . . . . . . . . . . . . . . . 5, 85, 93, 110, 140
  10478.     Procedure . . . . . . . . . . . . . . . . .  3, 8, 9, 21, 23, 26, 48, 162
  10479.     Program validation  . . . . . . . . . . . . . . . . . . . 1, 18, 153, 156
  10480.     Recovery diskette . . . . . . . . . . . .  10, 20, 23, 25-27, 29, 31, 127
  10481.     Repair cleaner  . . . . . . . . . . . . . . . . . . . . . . . . . 98, 163
  10482.     Signature definition  . . . . . . . . . . . . . . . . . . . . . . . . 173
  10483.     Signature scanning  . . . . . . . . . . . . . . . . . . . .  75, 158, 189
  10484.     System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 8
  10485.     Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  50
  10486.     TBAV for DOS  . . . . . . . . . . . . . . . . . . . . . . 6, 84, 108, 143
  10487.     TBAV for Networks . . . . . . . . . . . . . . . . . . . .  8, 21, 143-146
  10488.     TBAV for Windows  . . . . . . . . . . . .  8, 21, 22, 50, 86, 93, 143-145
  10489.     TbCheck . . 1, 2, 5, 10, 11, 19, 26, 27, 30, 33, 34, 78, 92-97, 147, 148,
  10490.                                                                      186, 190
  10491.     TbClean            3, 16, 17, 26, 32-34, 47, 98-107, 147, 148, 161, 163, 164, 175-177
  10492.     TbDel . . . . . . . . . . . . . . . . . . . . . . . . . . . 4, 14, 16, 32
  10493.     TbDisk  .  1, 3-5, 19, 78, 108-111, 117, 120-125, 147, 148, 187, 188, 190
  10494.  
  10495.           
  10496.  
  10497.     TBAV User Manual. Copyright (C) 1989-1995 ThunderBYTE B.V.        Page ii
  10498.  
  10499.  
  10500.  
  10501.     TbDriver  . 1, 10, 11, 19, 26, 27, 40, 78-83, 85, 92, 109, 111, 117, 121,
  10502.                                    140, 147, 148, 149, 151, 177, 178, 186-188
  10503.     TbFile   1, 3-5, 10, 11, 19, 37, 43, 78, 108-111, 116-119, 121, 147, 148,
  10504.                                                                      186, 190
  10505.     TbGenSig  . . . . . . . . .  4, 57, 65, 147, 165, 166, 168, 170, 172, 174
  10506.     TbLoad  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21, 22
  10507.     TbMem         1, 3-5, 10, 11, 19, 78, 81, 108-114, 117, 121, 147-149, 186, 187, 190
  10508.     TbMon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
  10509.     TbNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143-146
  10510.     TbScan  1, 2, 6, 10-15, 17-22, 24, 26, 29, 30, 33, 40, 44, 46-76, 84, 91,
  10511.             106, 147, 151-160, 165-168, 171, 173, 178, 180-184, 186, 189, 191
  10512.     TBSCAN.SIG  . . . . . . . . . . . . . . . .  1, 6, 20-22, 26, 91, 165-168
  10513.     TbScanX . 1, 2, 5, 10, 11, 19, 78, 82, 84-91, 147-149, 179, 186, 187, 190
  10514.     TbSetup .  1-3, 10, 17-20, 22, 25, 27, 33-46, 92, 98, 111, 114, 120, 125,
  10515.           147, 150, 151, 152, 153, 156, 157, 163, 175, 180, 181, 184, 186-188
  10516.     TBSETUP.DAT . . . . . . . . . . . . . . . . . . . 40, 43, 45, 46, 150-153
  10517.     TbUtil  . . . . . . . . . . . . . 2, 3, 16, 26, 30, 31, 126-138, 147, 189
  10518.     Thanks  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 47
  10519.     Updates . . . . . . . . . . . . . . . . . . . . . . 20, 80, 120, 165, 166
  10520.     USERSIG.DAT . . . . . . . . . . . . . . . . . . . . . . . . 165, 166, 168
  10521.     Virus detection . . . . . . . . . . . . . . . . 33, 75, 127, 130-133, 191
  10522.     Virus infection . . . . . . . . . 1, 24, 25, 29, 31, 47, 69, 92, 108, 136
  10523.     Virus naming  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
  10524.     Virus protection  . . . . . . . . . . . . . . . . . . . . . . . . . .  84
  10525.     Windows .  5, 8, 21, 22, 44, 50, 52, 54, 57, 63, 68, 73, 85, 86, 93, 105,
  10526.                               110, 122, 124, 140, 141, 143-145, 170, 181, 188
  10527.     Workstation . . . . . . . . . . . . . . . . . 11, 139, 143, 145, 146, 150
  10528.  
  10529.  
  10530.  
  10531.  
  10532.  
  10533.  
  10534.  
  10535.  
  10536.  
  10537.  
  10538.  
  10539.  
  10540.  
  10541.  
  10542.  
  10543.  
  10544.  
  10545.  
  10546.  
  10547.  
  10548.