home *** CD-ROM | disk | FTP | other *** search
/ Shareware 1 2 the Maxx / sw_1.zip / sw_1 / VIRUS / TBSCAN33.ZIP / TBSCAN.DOC < prev    next >
Text File  |  1992-03-10  |  134KB  |  3,448 lines

  1.  
  2.  
  3.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  4.  
  5.  
  6.                                Table of Contents
  7.  
  8.     1. COPYRIGHT, LICENCES AND DISCLAIMER................ 2
  9.         1.1. Copyright................................... 2
  10.         1.2. Distribution and usage...................... 2
  11.         1.3. Disclaimer.................................. 3
  12.         1.4. Trademarks.................................. 3
  13.         1.5. Registration................................ 3
  14.         1.6. The registration key........................ 3
  15.  
  16.     2. INTRODUCTION...................................... 5
  17.         2.1. Purpose of TbScan........................... 5
  18.         2.2. A Quick start............................... 5
  19.         2.3. Historical overview......................... 5
  20.         2.4. Benefits.................................... 6
  21.             2.4.1. Speed................................. 6
  22.             2.4.2. Reliability........................... 7
  23.             2.4.3. Flexibility........................... 8
  24.             2.4.4. Smart scanning........................ 9
  25.         2.5. Limitations of scanners..................... 9
  26.         2.6. Who are we?................................ 10
  27.  
  28.     3. USAGE OF THE PROGRAM............................. 11
  29.         3.1. System requirements........................ 11
  30.         3.2. Program invokation......................... 11
  31.         3.3. While scanning............................. 12
  32.         3.4. Detecting viruses.......................... 13
  33.         3.5. The warning marks.......................... 13
  34.             3.5.1. R - Suspicious relocator............. 14
  35.             3.5.2. T - Invalid timestamp................ 15
  36.             3.5.3. ! - Branch out of code............... 15
  37.             3.5.4. # - Decryptor code found............. 15
  38.             3.5.5. D - Direct disk access............... 15
  39.             3.5.6. N - Wrong name extension............. 15
  40.             3.5.7. M - Memory resident code............. 16
  41.             3.5.8. F - Suspicious file access........... 16
  42.             3.5.9. ? - Inconsistent header.............. 16
  43.             3.5.10. E - Read or open error.............. 16
  44.             3.5.11. J - Multiple jumps.................. 16
  45.             3.5.12. p - Packed or compressed file....... 17
  46.             3.5.13. w - Windows or OS/2 header.......... 17
  47.             3.5.14. h - Hidden or System file........... 17
  48.             3.5.15. i - Internal overlay................ 17
  49.             3.5.16. s - Unusual stack................... 17
  50.         3.6. Command line options....................... 18
  51.             3.6.1. -help................................ 18
  52.             3.6.2. -info................................ 18
  53.             3.6.3. -quick............................... 19
  54.             3.6.4. -more................................ 19
  55.             3.6.5. -mutant.............................. 19
  56.             3.6.6. -direct.............................. 19
  57.             3.6.7. -analyze............................. 20
  58.  
  59.  
  60.  
  61.                                      Page i
  62.  
  63.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  64.  
  65.  
  66.             3.6.8. -extract............................. 21
  67.             3.6.9. -valid............................... 21
  68.             3.6.10. -once............................... 21
  69.             3.6.11. -compat............................. 21
  70.             3.6.12. -nosnow............................. 21
  71.             3.6.13. -noboot............................. 22
  72.             3.6.14. -sector............................. 22
  73.             3.6.15. -nomem.............................. 22
  74.             3.6.16. -allmem............................. 22
  75.             3.6.17. -hma................................ 22
  76.             3.6.18. -nohmem............................. 22
  77.             3.6.19. -nosub.............................. 23
  78.             3.6.20. -sub................................ 23
  79.             3.6.21. -noavr.............................. 23
  80.             3.6.22. -delete or -del..................... 23
  81.             3.6.23. -rename or -ren..................... 23
  82.             3.6.24. -batch.............................. 23
  83.             3.6.25. -repeat............................. 23
  84.             3.6.26. -log................................ 24
  85.             3.6.27. -session............................ 24
  86.             3.6.28. -loginfo............................ 24
  87.             3.6.29. -logall............................. 24
  88.             3.6.30. -data............................... 24
  89.         3.7. Examples:.................................. 25
  90.         3.8. Environment variable....................... 25
  91.         3.9. The configuration file..................... 26
  92.         3.10. The TbScan.Msg file....................... 27
  93.         3.11. Residence of the signature files.......... 27
  94.         3.12. Residence of the AVR modules.............. 27
  95.         3.13. Error messages............................ 27
  96.  
  97.     4. FORMAT OF THE DATA FILE.......................... 29
  98.         4.1. Format of a signature entry................ 29
  99.         4.2. Wildcards.................................. 29
  100.         4.3. Restrictions............................... 30
  101.         4.4. Defining new signatures.................... 30
  102.  
  103.     5. A VIRUS, NOW WHAT?............................... 33
  104.         5.2. Confirmation............................... 33
  105.         5.3. Identification............................. 34
  106.         5.4. No Panic!.................................. 34
  107.         5.5. Recovering................................. 34
  108.  
  109.     6. CONSIDERATIONS AND RECOMMENDATIONS............... 36
  110.         6.1. What should be scanned?.................... 36
  111.         6.2. The internals of TbScan.................... 37
  112.             6.2.1. How is that blazingly speed achieved? 37
  113.             6.2.2. The code interpreter................. 38
  114.             6.2.3. The algorithms....................... 39
  115.                 6.2.3.1. Checking....................... 39
  116.                 6.2.3.2. Tracing........................ 39
  117.  
  118.  
  119.  
  120.                                     Page ii
  121.  
  122.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  123.  
  124.  
  125.                 6.2.3.3. Analyzing...................... 40
  126.                 6.2.3.4. Browsing....................... 40
  127.                 6.2.3.5. Skipping....................... 40
  128.             6.2.4. The -compat option................... 40
  129.             6.2.5. Recursing through directories........ 41
  130.         6.3. The Sanity check........................... 42
  131.         6.4. How many viruses does it detect?........... 42
  132.         6.5. Testing the scanner........................ 42
  133.         6.6. Scan scheduling............................ 43
  134.         6.7. Extensions to the format of the data file.. 43
  135.         6.8. Compressed files........................... 44
  136.         6.9. Other products............................. 45
  137.  
  138.     7. MISCELLANOUS INFORMATION......................... 47
  139.         7.1. Distribution of the signature file......... 47
  140.         7.2. Notes...................................... 47
  141.         7.3. The TbScan.Sys driver...................... 47
  142.         7.4. Exit codes................................. 47
  143.         7.5. Updates.................................... 48
  144.         7.6. Thanks..................................... 48
  145.  
  146.     8. OUR OTHER PRODUCTS............................... 49
  147.         8.1. TbScanX.................................... 49
  148.         8.2. TbRescue................................... 49
  149.         8.3. Thunderbyte................................ 50
  150.  
  151.     9. NAMES AND ADDRESSES.............................. 53
  152.         9.1. Contacting the author...................... 53
  153.         9.2. ESaSS...................................... 53
  154.         9.3. Thunderbyte support BBS's.................. 53
  155.         9.4. Recommended magazines and organisations.... 53
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.                                     Page iii
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.                                      Page 1
  241.  
  242.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  243.  
  244.  
  245. 1.  COPYRIGHT, LICENCES AND DISCLAIMER
  246.  
  247.  
  248.   1.1.  Copyright
  249.  
  250.     TbScan is copyright 1989-1992 ESaSS B.V.. All rights reserved. The
  251.     diskettes provided with TbScan are not copy protected. This does not
  252.     mean that you can make unlimited copies of them. TbScan is protected
  253.     by the the copyright laws which pertain to computer software.
  254.  
  255.     No part of the printed manual accompanying TbScan may be reproduced,
  256.     transmitted, transcribed, stored in a retrieval system or translated
  257.     into any language, in any form or by any means, without the prior
  258.     written permission of ESaSS B.V..
  259.  
  260.  
  261.   1.2.  Distribution and usage
  262.  
  263.     Both TbScan and the accompanying documentation are SHARE-WARE.
  264.     You are hereby granted a license by ESaSS to distribute the
  265.     evaluation copy of TbScan and its documentation, subject to the
  266.     following conditions:
  267.  
  268.     1.   The evaluation package of TbScan may be distributed freely
  269.          without charge in evaluation form only.
  270.  
  271.     2.   The evaluation package of TbScan may not be sold, licensed, or
  272.          a fee charged for its use. If a fee is charged in connection
  273.          with TbScan, it must cover the cost of copying or dissemination
  274.          only. Such charges must be clearly identified as such by the
  275.          originating party. Under no circumstances may the purchaser be
  276.          given the impression that he is buying TbScan itself.
  277.  
  278.     3.   The evaluation package of TbScan must be presented as a
  279.          complete unit. It is not allowed to distribute the program or
  280.          the documentation separately.
  281.  
  282.     4.   Neither TbScan nor its documentation may be amended or altered
  283.          in any way.
  284.  
  285.     5.   By granting you the right to distribute the evaluation form of
  286.          TbScan, you do not become the owner of TbScan in any form.
  287.  
  288.     6.   ESaSS accepts no responsibility in case the program
  289.          malfunctions or does not function at all.
  290.  
  291.     7.   ESaSS can never be held responsible for damage, directly or
  292.          indirectly resulting from the use of TbScan.
  293.  
  294.     8.   Using TbScan means that you agree on these regulations.
  295.  
  296.     Any other use, distribution or representation of TbScan is
  297.  
  298.  
  299.  
  300.                                      Page 2
  301.  
  302.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  303.  
  304.  
  305.     expressly forbidden without the written consent of ESaSS.
  306.  
  307.  
  308.   1.3.  Disclaimer
  309.  
  310.     Neither ESaSS B.V. nor anyone else who has been involved in the
  311.     creation, production or delivery of TbScan or this manual makes any
  312.     warranties with respect to the contents of the software or this
  313.     manual and each specifically disclaims any implied warranties of
  314.     merchantability or fitness for any purpose. ESaSS B.V. reserves the
  315.     right to revise the software and the manual and to make changes from
  316.     time to time in the contents without obligation to notify any
  317.     person.
  318.  
  319.  
  320.   1.4.  Trademarks.
  321.  
  322.     TbScan, TbScanX and Thunderbyte PC Immunizer are registered
  323.     trademarks of ESaSS B.V.. All other product names mentioned are
  324.     ackowledged to be the marks of their producing companies.
  325.  
  326.  
  327.   1.5.  Registration.
  328.  
  329.     THIS IS NOT FREE SOFTWARE! If you paid a "public domain" vendor for
  330.     this program, you paid for the service of copying the program, and
  331.     not for the program itself. Rest assured that nothing ever gets to
  332.     the originators of this product from such a sale. You may evaluate
  333.     this product, but if you make use of it, you must register your
  334.     copy.
  335.  
  336.     To register: fill in the file REGISTER.DOC and return it to us.
  337.  
  338.     We offer several inducements to you for registering. First of all,
  339.     you receive the most up-to-date copy of the program that we have
  340.     (we do update the product on a regular basis). You also receive
  341.     support for TbScan, which can be quite valuable at times. You also
  342.     receive complete printed documentation for the product. A
  343.     "do-it-yourself" update service is offered to registered users
  344.     through our own support BBS. And finally, we include an evaluation
  345.     package of some of our other software products. This version of
  346.     TbScan is fully functional, except for option -extract, which can
  347.     be used to define your own signatures for yet unknown viruses.
  348.     This advanced option is available for registered users only.
  349.  
  350.     Once you registered TbScan all future upgrades are for free.
  351.  
  352.     Thunderbyte users are automatically licensed to use TbScan on the
  353.     machine where the Thunderbyte add-on card is installed.
  354.  
  355.  
  356.   1.6.  The registration key
  357.  
  358.  
  359.  
  360.                                      Page 3
  361.  
  362.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  363.  
  364.  
  365.     Registered users receive a key file named TbScan.KEY. The key file
  366.     contains some information like the license number and name of the
  367.     license holder.
  368.  
  369.     It is NOT allowed to sell or give away the key file TbScan.KEY.
  370.  
  371.     TbScan searches for the key file in the current directory. If it
  372.     does not find it it searches in the same directory as the program
  373.     file TBSCAN.EXE itself is located (only DOS 3+).
  374.  
  375.     If the key file is corrupted or invalid, TbScan continues without
  376.     error message, but in that case you are running a SHARE-WARE version
  377.     instead of the registered version. If your key is only valid for
  378.     TbScanX.Exe (the memory resident version), TbScan ignores it.
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.                                      Page 4
  421.  
  422.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  423.  
  424.  
  425. 2.  INTRODUCTION
  426.  
  427.  
  428.   2.1.  Purpose of TbScan
  429.  
  430.     TbScan is a program that was developed to trace viruses, Trojan
  431.     Horses and other threats to your valuable data. It is a so-called
  432.     virus scanner.
  433.  
  434.     A virus scanner is a program that is able to search a virus
  435.     signature that has been determined beforehand.  Most viruses
  436.     consist of a unique sequence of instructions, called a signature,
  437.     so by means of checking for the appearance of this signature in a
  438.     file we can see whether or not a program has been infected.
  439.  
  440.     By searching all your program files for the signatures of all
  441.     viruses already identified you can easily find whether your system
  442.     has been infected and, if that is the case, with which virus.
  443.  
  444.     Every PC owner should use a virus scanner frequently. It is the least
  445.     he or she can do to avoid possible damage caused by a virus.
  446.  
  447.  
  448.   2.2.  A Quick start
  449.  
  450.     Although we recommend to read this complete manual carefully, here are
  451.     already some directions how to use TbScan:
  452.  
  453.     Type "TbScan C:\". This will be sufficient for a standard scan session.
  454.     It is allowed to specify more drives: "TbScan C:\ D:\".
  455.  
  456.     The invokation syntaxis is:
  457.             TBSCAN [@][<path>][<filename>]... [<options>]...
  458.  
  459.     If you experience any problems using TbScan, specify the -compat
  460.     option: TbScan C:\ -compat
  461.  
  462.     For fast online help type "TbScan -?" or "TbScan -help". The latter
  463.     will provide a more detailed description of the command line
  464.     options.
  465.  
  466.  
  467.   2.3.  Historical overview
  468.  
  469.     Some years ago the community was confrontated with a new
  470.     phenomenon: Computer viruses. In the early days of computer viruses
  471.     people had to look into an infected file to determine whether it
  472.     has been infected by looking for a virus specific code pattern. It
  473.     doesn't take long before programmers created little programs that
  474.     were able to tell whether a specific program was infected or not.
  475.     Enhanced versions of these programs were able to search
  476.     automatically for all files. In a short time there were
  477.  
  478.  
  479.  
  480.                                      Page 5
  481.  
  482.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  483.  
  484.  
  485.     dedicated scanner programs for every known virus. When the number
  486.     of viruses increases, programmers started to combine several scan
  487.     programs into one, the multi-string scanner was born.
  488.  
  489.     These scanners worked fine, but the amount of viruses was growing,
  490.     and the need for frequent updates increased. The number of scanning
  491.     programs also increased, and scanning programs detected the
  492.     internal search patterns (signatures) of each other thinking they
  493.     had found a virus, and a lot of people get confused by these false
  494.     alarms.
  495.  
  496.     A solution to both of these problems was to separate the search
  497.     engine and the signatures. Signatures can be distributed more
  498.     quickly and via text media, and by separating the search patterns
  499.     from the executable file, other scanners were no longer triggered
  500.     by these search patterns.
  501.  
  502.     TbScan uses a file with the name Virscan.Dat, originally created
  503.     for a program called Virscan.Exe. When Virscan.Exe was developed,
  504.     the number of viruses was still little compared with the current
  505.     situation. When the number of viruses increased, Virscan slows down
  506.     for every signature added.
  507.  
  508.     At that time we developed the Thunderbyte add-on card, an universal
  509.     anti-virus device. Since Thunderbyte recognizes virus activities
  510.     rather than signatures, it can only tell whether a system is
  511.     infected, but it will never be able to tell you the name of the
  512.     virus. To overcome this, we decided to supply a virus scanner with
  513.     our product, and we developed TbScan.
  514.  
  515.     We introduced many very sophisticated idea's in the first version
  516.     of TbScan, and today, many competitive products have adapted some
  517.     of these new idea's. Some of these idea's are: the use of wildcards
  518.     in the signature, scanning the memory of the PC, scanning only
  519.     specific parts of a file rather than the complete file, etc.
  520.  
  521.  
  522.   2.4.  Benefits
  523.  
  524.     By now already lots of virus scanners have been developed.  However
  525.     TbScan has a number of important and unique characteristics. These
  526.     are:
  527.  
  528.     2.4.1.  Speed
  529.  
  530.         Most virus scanners do not operate very fast.  This is
  531.         nevertheless very important because you are surely one of those
  532.         people who do not like to stare at their display for a quarter
  533.         of an hour. When a program works slowly it is used less often,
  534.         that is a fact.  And even the best virus scanner is worthless
  535.         when it is not used. Our goal was to create a scanner even fast
  536.         enough to be invoked from within the autoexec.bat file every
  537.         morning.
  538.  
  539.  
  540.                                      Page 6
  541.  
  542.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  543.  
  544.  
  545.  
  546.  
  547.         The high speed is achived by many smart measures. For instance,
  548.         it is not required to scan a complete file to find a virus, and
  549.         TbScan will disassemble the file to locate the viral code. The
  550.         search routine itself is highly optimized, TbScan has an
  551.         internal scan-specific disk cacher, etc.  For more information
  552.         about the internals of TbScan read chapter 6.2.
  553.  
  554.         The speed depends on many system characteristics, so we will
  555.         not tell you how many times faster TbScan performs, but you can
  556.         easily test it by yourself. The speed of our program has been
  557.         increased with almost every new release, and the current
  558.         version is faster than every other scanner known to us. Try it
  559.         yourself!
  560.  
  561.         TbScan is designed to scan for a large amount of virus
  562.         signatures. The current version of TbScan is able to scan for
  563.         over 2500 signatures (without additional memory requirements).
  564.         Because of its design, TbScan will not slow down if the number
  565.         of signatures increases. It doesn't matter whether you scan an
  566.         item for 10 or 1000 signatures.
  567.  
  568.         TbScan carries some special routines to check a stack of
  569.         diskettes at a high speed.  You don't have to signal TbScan
  570.         via the keyboard that a diskette has been changed:  It
  571.         determines this completely automatically.
  572.  
  573.     2.4.2.  Reliability
  574.  
  575.         TbScan checks itself immediately after invokation. If it
  576.         detects that it is infected it aborts with an error. This
  577.         reduces the chance that TbScan transfers a virus to another
  578.         machine after being infected.
  579.  
  580.         TbScan can bypass viruses that are already active in memory.
  581.         This is possible through a built-in interrupt debugger!
  582.  
  583.         TbScan detects even unknown viruses, because the built-in
  584.         disassembler is able to detect suspicious instruction sequences
  585.         and abnormal program lay-outs.
  586.  
  587.         A lot of viruses are memory resident, which means they lodge
  588.         themselves in the memory of your computer. From there they can
  589.         easily influence all active programs you use. There are already
  590.         viruses that "desinfect" a program file, as soon an attempt is
  591.         made to read it. When such a virus is active, a virus scanner,
  592.         reading a program file in order to check it, finds that the
  593.         file is not infected (which is true at that moment).  But after
  594.         the program file has been read the file is immediately infected
  595.         again.  So the virus scanner reports that no virus has been
  596.         found, but in reality it is actually there.
  597.  
  598.  
  599.  
  600.                                      Page 7
  601.  
  602.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  603.  
  604.  
  605.         TbScan offers a unique solution for this problem: it contains
  606.         an automatic debugger that works its way through the chain of
  607.         interrupts "single stepping" until it reaches the DOS program
  608.         code. It saves the address which is then found and uses it for
  609.         the communication with DOS.  In this way most viruses will not
  610.         see anything of the operations of TbScan.
  611.  
  612.         TbScan is able to scan Upper Memory and the HMA.  Most of the
  613.         other scanners (still) don't recognize this memory.
  614.  
  615.         TbScan scans the video memory of your PC. Most anti-virus
  616.         products are not aware of the fact that it is possible to
  617.         install TSR's (and also viruses) in the unused video memory.
  618.         TbScanX (the resident version of TbScan) for instance even has
  619.         a special mode to store the signatures in unused video memory.
  620.         TbScan scans all memory, including the video memory, just to be
  621.         sure.
  622.  
  623.         TbScan is able to search a complete disk at sector level.  This
  624.         way no virus can remain undetected. Even already killed viruses
  625.         can be detected this way.
  626.  
  627.         TbScan is able to detect mutants of a virus. A mutant is a virus
  628.         that has been modified slightly and therefore does not match the
  629.         signature anymore. TbScan is able to detect such a mutant, even
  630.         if no wildcards are used in the virus signature.
  631.  
  632.         TbScan is able to detect droppers of bootsector viruses. A
  633.         dropper is a program that is not infected, but that is intended
  634.         to install the bootsector virus on your system.
  635.  
  636.     2.4.3.  Flexibility
  637.  
  638.         TbScan is fully programmable by means of a data file.
  639.  
  640.         Most of the time viruses spread quickly. After a new virus has
  641.         been found there is often no time to adapt your virus checker
  642.         in order to make it capable of recognizing this new virus.  That
  643.         is why TbScan uses a data file in which the signatures of the
  644.         viruses occur.  This file can quickly be adapted, possibly by
  645.         yourself, for example when you are informed of a new virus
  646.         through the media.  TbScan supports among other things the
  647.         format which is used in the file "Virscan.Dat".  This file is
  648.         regularly updated and can be obtained at a lot of data banks.
  649.  
  650.         TbScan supports wildcards in the signature. Many viruses are
  651.         adapted and converted to other viruses by the public. Such a
  652.         modified virus -a mutant- looks the same as the original virus,
  653.         but the part that contains the signature is often changed.
  654.         Scanners don't recognize the mutant anymore, and a new
  655.         signature must be extracted. TbScan is designed to approach
  656.         this problem different: by replacing the modified parts of the
  657.  
  658.  
  659.  
  660.                                      Page 8
  661.  
  662.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  663.  
  664.  
  665.         signature by wildcards TbScan can still recognize all instances
  666.         of a virus. That implies that all mutants of for instance the
  667.         Jerusalem/Plo virus are covered by just one signature rather
  668.         than 25 as some other scanners require. This also explains why
  669.         TbScan has "only" 300 signatures but still detects all 800
  670.         viruses.
  671.  
  672.         There are viruses that are so completely encrypted that it is
  673.         no longer possible to define any signature for them, even if
  674.         using wildcards. The "washburn" related viruses (like 1260 and
  675.         Casper) are such viruses. The only way to detect these viruses
  676.         is by doing an algorithmic recognition. TbScan is the first
  677.         scanner that implemented the use of so called AVR (Algorithmic
  678.         Virus Recognition) modules, which contain a dedicated routine
  679.         to detect a specific virus. An AVR-module is extremely
  680.         flexible, it can perform almost any operation necessary to
  681.         detect a specific virus.
  682.  
  683.         TbScan offers registered users to define their own signatures
  684.         by using the -extract option. You don't have to be an assembler
  685.         programmer to define a signature in an emergency situation!
  686.  
  687.     2.4.4.  Smart scanning
  688.  
  689.         TbScan is not just a scanner, it is a disassembling scanner.
  690.         This means that TbScan not only scans the file but also
  691.         interpretes the contents and adjust the scanning algorithm to
  692.         gain the highest reliability and speed. With reliability we
  693.         not only mean a low "false negative" ratio, but also a low
  694.         "false positive" ratio. The best scanner is not a scanner that
  695.         yells "virus!" for every file, but a scanner that only yells
  696.         "virus!" if there IS really a virus in the file.
  697.  
  698.         Besides the adjustment of the scanning algorithm, TbScan also
  699.         displays additional information about the file. It can detect
  700.         instruction sequences that are intended to write to disk
  701.         directly, to make code resident, to decrypt code, etc. TbScan
  702.         even flags files as being infected with an unknown virus if the
  703.         disassembly shows that the file contains a virus but a matching
  704.         signature can not be found. All this information is displayed
  705.         while scanning, and all in the same scan pass!
  706.  
  707.  
  708.   2.5.  Limitations of scanners
  709.  
  710.     Although TbScan is a very sophisticated scanner, it is a scanner,
  711.     and all scanners have some disadvantages in common:
  712.  
  713.     +   They cannot prevent infection.
  714.         Virus scanners can only tell you whether or not your system has
  715.         been infected and if so, whether any damage has already been
  716.         done. By then only a good (non-infected) backup can still save
  717.         you.
  718.  
  719.  
  720.                                      Page 9
  721.  
  722.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  723.  
  724.  
  725.  
  726.  
  727.     +   They can only recognize viruses that have already been
  728.         identified. When a new virus has been launched it will take a
  729.         while before someone discovers it. After that it will take some
  730.         time before a reliable signature is distilled from the virus
  731.         and it will also take a while for you to get hold of the newest
  732.         Virscan.Dat.  All this means that there is a real chance that
  733.         your system is infected at a moment virus scanners have not yet
  734.         recognized "your" virus!
  735.  
  736.     +   You will have to do an active operation in order to protect
  737.         your system:  namely executing the virus scanner. At least once
  738.         a week one should boot from a trusted and write-protected
  739.         diskette and execute the scanner, since some viruses can
  740.         perfectly hide themselves once resident in memory. It is an
  741.         illusion that employees perform this task correctly. For
  742.         company use we recommend additional protection, like a
  743.         permanently active immunizer such as the Thunderbyte add-on
  744.         card.
  745.  
  746.  
  747.   2.6.  Who are we?
  748.  
  749.     TbScan is developed by Frans Veldman, chief executive of the
  750.     ESaSS company. ESaSS is the company that developed the well known
  751.     Thunderbyte card, the first hardware PC immunizer, and has
  752.     therefore a lot of experience and knowledge of viruses and
  753.     assembler written system software. Of course we also have a large
  754.     collection of viruses to test our products.
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                     Page 10
  781.  
  782.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  783.  
  784.  
  785. 3.  USAGE OF THE PROGRAM
  786.  
  787.  
  788.   3.1.  System requirements
  789.  
  790.     TbScan runs perfectly on standard machines. "The limits are
  791.     limited".
  792.  
  793.     +   TbScan requires 184 Kb of free memory. If you use a log file
  794.         TbScan needs an additional 16 Kb of memory for the log file
  795.         buffer.  TbScan also allocates memory to keep all AVR modules
  796.         in memory.  If there is still memory left it will be used for
  797.         cache buffers to increase the scan speed. Note that the memory
  798.         requirements are independend from the amount of signatures. The
  799.         current memory requirements already incorporate memory to
  800.         manage at least 2500 signatures.
  801.  
  802.     +   DOS version 2.11 or later is sufficient to run TbScan. However,
  803.         Dos 3.3 or higher is recommended, since TbScan is optimized
  804.         and primary designed for use with these DOS versions.
  805.  
  806.     +   Directories may be nested up to 20 levels.
  807.  
  808.     +   The summed size of all AVR-modules should not exceed 64Kb.
  809.  
  810.  
  811.   3.2.  Program invokation
  812.  
  813.     TbScan is easy to use. The syntaxis is as follows:
  814.             TBSCAN [@][<path>][<filename>]... [<options>]...
  815.  
  816.     Drive and path show from where should be searched. To search the
  817.     disk C:\ and disk D:\ you have to enter:
  818.  
  819.             TBSCAN C:\ D:\
  820.  
  821.     When no filename has been specified but only a drive and/or path,
  822.     then the specified path will be used as top-level path.  All its
  823.     subdirectories will be processed too.
  824.  
  825.     When a filename has been specified then only the specified path
  826.     will be searched. Subdirectories will not be processed.
  827.  
  828.     Wildcards in the filename are allowed.  It is allowed to specify
  829.     "*.*".  All executable files will be processed.  If you want the
  830.     non-executables to be processed too, then you have to specify the
  831.     "-analyze" parameter in combination with the filename.
  832.     "TBSCAN TEST.DAT" will always cause that no file will be processed:
  833.     TEST.DAT is not an executable file.  In this case you have to
  834.     specify the -analyze parameter. (Since a .DAT file is not executable
  835.     TbScan should be prevented from disassembling such a file because the
  836.     results would not be reliable. The -analyze option prevents TbScan
  837.  
  838.  
  839.  
  840.                                     Page 11
  841.  
  842.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  843.  
  844.  
  845.     from disassembling the file).
  846.  
  847.     You can also specify a list file to TbScan. A list file is
  848.     a file that contains a list of paths/filenames to be scanned.
  849.     Preceed the file with the character '@' on the TbScan command line:
  850.             TBSCAN @TBSCAN.LST
  851.  
  852.  
  853.   3.3.  While scanning
  854.  
  855.     TbScan divides the screen in two windows: an information window and
  856.     a scanning window. The upper window is the information window and
  857.     it initially displays the comments of the data file.
  858.  
  859.     If TbScan detects infected files the names of the file and the
  860.     virus will be displayed in the upper window. The information
  861.     will stack up and scroll off the screen if it doesn't fit anymore.
  862.  
  863.     The divider line between the two windows displays the directory
  864.     containing the file being processed, the number of signatures
  865.     scanning for, and the disk cacher hit-rate.
  866.     The divider bar looks like this:
  867.  
  868.     C:\TEST\SUBDIR\                    Virus families: 356^  Cache hit 73%
  869.  
  870.     The caret (^) after the number of virus families indicates that
  871.     TbScan has linked in some AVR (Algorithmic Virus Recognition) modules.
  872.     The amount of AVR modules are added to the virus family counter.
  873.  
  874.     The cache hit indicator displayes the percentage of fat- or
  875.     directory information that has been retrieved from the cache
  876.     buffers, or with other words, the percentage of disk access saved.
  877.     Note that the cache hit only applies for the fat- and directory
  878.     sectors, the contents of files will never be cached and will not
  879.     be reflected in the cache hit indicator.
  880.  
  881.     The line directly below the dividor line is reserved for TbScan
  882.     comments. It contains the rotating "I am still alive" indicator,
  883.     and should normally display license information.
  884.  
  885.     The lower window displays the file being processed, the algorithm
  886.     in use, info- and warning characters, the progress, and finally an
  887.     OK-statement or the name of the virus detected.
  888.  
  889.     You will see one of the next five terms behind every file name:
  890.     "Checking", "Tracing", "Browsing", "Analyzing" and "Skipping". This
  891.     indicates the algorithm used to scan the file.
  892.  
  893.     Behind these terms TbScan can display some warning characters.
  894.     Consult chapter "Warnings" for individual meanings of these
  895.     characters.
  896.  
  897.  
  898.  
  899.  
  900.                                     Page 12
  901.  
  902.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  903.  
  904.  
  905.     Behind these terms you will see that, dependent on size, structure
  906.     and kind of file, a number of plus signs appear. These indicate the
  907.     amount of code chunks that have been processed. The current version
  908.     of TbScan processes data in chunks of 32 Kb.
  909.  
  910.     The process can be aborted by pressing Ctrl-Break.
  911.  
  912.  
  913.   3.4.  Detecting viruses
  914.  
  915.     As soon as an infected program is found, the name of the virus will
  916.     be displayed. If you did not specify one of the options -batch,
  917.     -rename or -delete, TbScan will prompt you to delete or rename the
  918.     infected file, or to continue. If you choose to rename the file,
  919.     the first character of the extension will be replaced by the
  920.     character "V". This prevents the file from being executed
  921.     accidentially until further investigation.
  922.  
  923.     When TbScan detects a file it will display:
  924.                 Infected by [name of virus]
  925.  
  926.     It is however possible that TbScan detects a bootsector virus
  927.     dropper. A dropper is a program that is not infected, but contains
  928.     a bootsector virus and is able to install it on your bootsector.
  929.     If TbScan detects a bootsector virus is some type of files it
  930.     displays:
  931.                 Dropper of [name of virus]
  932.  
  933.     If the -mutant option has been specified, and TbScan detects a
  934.     non-100% signature match it displays:
  935.                 Possibly infected by [name of virus]
  936.  
  937.     If the -mutant option has been specified and TbScan detects a
  938.     combination of suspicious facts it displays:
  939.                 Possibly infected by an unknown virus
  940.  
  941.     TbScan needs to access the data file to get the name of a virus. If
  942.     it can not access the data file it displays [Can not read datafile]
  943.     instead of the virus name.
  944.  
  945.  
  946.   3.5.  The warning marks
  947.  
  948.     TbScan is not just a scanner. It also disassembles the file being
  949.     processed. This serves three purposes, by disassembling the file
  950.     the scanner can restrict itself to the area of the file where the
  951.     virus might reside, it makes it possible to use algorithmic
  952.     detection on viruses that don't have a signature, and it makes it
  953.     possible to detect suspicious instruction sequences. If TbScan
  954.     detects suspicious instruction sequences it prints a warning mark
  955.     or message.
  956.  
  957.  
  958.  
  959.  
  960.                                     Page 13
  961.  
  962.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  963.  
  964.  
  965.     Warning marks consist of a single character that might be printed
  966.     behind the name of the file being processed. There are two levels
  967.     of warnings: the informative ones are printed in a lowercase
  968.     character, and the more serious warnings are printed in an uppercase
  969.     character. The "lowercase warnings" are intended to attent special
  970.     characteristics of the file being processed, and the "uppercase
  971.     warnings" may indicate a virus. If the -info option has been
  972.     specified the important warnings will not only appear as a warning
  973.     character, but there will also be a description printed in the
  974.     upper window.
  975.  
  976.     How should you treat the warnings? The less important warnings can
  977.     be considered as "information only". They indicate nothing special
  978.     but provide you information you might be interested in. The warning
  979.     marks printed in uppercase indicate more interesting information
  980.     that MIGHT indicate a virus. It is quiet normal that you have some
  981.     files on your system which trigger an uppercase warning. In fact,
  982.     DOS 5.0 comes with at least two files that trigger a serious
  983.     warning: FORMAT.COM and SORT.EXE. TbScan detects a "suspicious
  984.     relocator" in FORMAT.COM and an "inconsistent header" in SORT.EXE.
  985.     Both warnings are complete rightly. More about that later. Note
  986.     that viruses infect other programs; it is highly unlikely to find
  987.     only one of a very few infected files on a hard disk used
  988.     frequently.  You should ignore the warnings if only a few programs
  989.     trigger the same warning. But, if your system behaves "strange" and
  990.     many recently used programs cause TbScan to issue the same serious
  991.     warning (or even combinations of serious warnings), your system
  992.     might be infected by a (yet unknown) virus. Almost all viruses in
  993.     our collection cause one or more serious warnings to be displayed.
  994.     So, don't get upset if TbScan warns you about a few files on your
  995.     system. But get suspicious if many files cause the same serious
  996.     warning or combinations of serious warnings.
  997.  
  998.   3.5.1.  R - Suspicious relocator.
  999.  
  1000.     The character 'R' warns for a suspicious relocator. A relocator is
  1001.     a sequence of instructions that change the proportion of CS:IP. It
  1002.     is often used by viruses, especially COM type infectors. Those
  1003.     viruses have to relocate the CS:IP proportion because they are
  1004.     compiled for a specific location in the executable file, and a
  1005.     virus that infects another program can almost never use its
  1006.     original location in the file (it is appended to the file). Normal
  1007.     programs "know" their location in the executable file, so they
  1008.     don't have to relocate themselves. On normal systems only a few
  1009.     percent of the programs should cause this warning to be displayed.
  1010.     Tests on a large collection of viruses shows that TbScan issues
  1011.     this warning for about 65% of all viruses. The DOS FORMAT.COM
  1012.     program causes this warning to be displayed too. This is rightly,
  1013.     because Microsoft did some strange things with this program. It
  1014.     appears that the file was originally a .EXE file which has been
  1015.     converted into a .COM file by adding a sort of shell. (What is
  1016.     actually the difference between infecting a file and converting it
  1017.  
  1018.  
  1019.  
  1020.                                     Page 14
  1021.  
  1022.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1023.  
  1024.  
  1025.     this way?) Anyway, you should ignore this warning for the DOS
  1026.     FORMAT program.  TbScan uses the "analyze" or "browse" algorithm on
  1027.     programs which contain a suspicious relocator. Just for sure!
  1028.  
  1029.   3.5.2.  T - Invalid timestamp.
  1030.  
  1031.     The timestamp of the program is invalid. The seconds of the
  1032.     timestamp are illegal, or the date is illegal or later than the
  1033.     year 2000. This is suspicious because many viruses set the
  1034.     timestamp to an illegal value (like 62 seconds) to mark that they
  1035.     already infected the file, preventing themselves to infect a file
  1036.     for a second time. It is possible that the program being checked is
  1037.     contaminated with a virus that is still unknown, especially if many
  1038.     files on your system have an invalid timestamp.  If only a very few
  1039.     programs have an invalid timestamp you'd better correct it and scan
  1040.     frequently to check that the timestamp of the files remain
  1041.     correctly.
  1042.  
  1043.   3.5.3.  ! - Branch out of code.
  1044.  
  1045.     The program has an entry point that is located outside the file's
  1046.     body, or a chain of "jumps" traced to a location outside the
  1047.     program file. The program being checked is probably damaged, and
  1048.     can not be executed. Anyway, TbScan does not take any risk and uses
  1049.     the analyze or browse method to scan the file.
  1050.  
  1051.   3.5.4.  # - Decryptor code found.
  1052.  
  1053.     The file possibly contains a self-decryption routine. Some
  1054.     copy-protected software is encrypted so this warning may appear
  1055.     for some of your files. But if this warning appears a lot, or in
  1056.     combination with by example the T-warning, there could be a virus
  1057.     involved! Many viruses encrypt themself and cause this warning to
  1058.     be displayed.
  1059.  
  1060.   3.5.5.  D - Direct disk access.
  1061.  
  1062.     This warning is displayed if the program being processed has
  1063.     instructions near the entry-point to write to a disk directly. It
  1064.     is normal that some disk related utilities cause this warning to be
  1065.     displayed (like Undelete.Exe). As usual, if many of your files
  1066.     (which have nothing to do with the disk) cause this warning to be
  1067.     displayed your system might be infected by an unknown virus.
  1068.  
  1069.     Note that a program that accesses the disk directly should not
  1070.     always be reported with the D-indicator. Only when the direct disk
  1071.     instructions are near the program entry point it will be reported.
  1072.     In case of a virus the offending instructions are always near the
  1073.     entry point and so they will always be reported.
  1074.  
  1075.   3.5.6.  N - Wrong name extension.
  1076.  
  1077.  
  1078.  
  1079.  
  1080.                                     Page 15
  1081.  
  1082.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1083.  
  1084.  
  1085.     Name conflict. The program carries the extension .EXE but appears
  1086.     to be an ordinary .COM file, or it has the extension .COM but the
  1087.     internal layout of an .EXE file. TbScan does not take any risk in
  1088.     this situation, but scans the file for both EXE and COM type
  1089.     signatures.
  1090.  
  1091.   3.5.7.  M - Memory resident code.
  1092.  
  1093.     TbScan has found instruction sequences which could make the program
  1094.     to remain resident in memory or to hook into important interrupts.
  1095.     Almost all TSR (Terminate and Stay Resident) programs will trigger
  1096.     this warning, because hooking into interrupts or remaining
  1097.     resident belong to their normal behaviour. However if a lot of
  1098.     normal programs (not intended to be a TSR) have this warning mark
  1099.     it is suspicious. It is possible that the files are infected by a
  1100.     virus that remains resident in memory. Note that this warning does
  1101.     not appear for all TSR-programs, nor does it always mean that when
  1102.     this warning appears the program is a TSR program.  With other
  1103.     words, the TSR detection is not 100% proof.
  1104.  
  1105.   3.5.8.  F - Suspicious file access.
  1106.  
  1107.     TbScan has found instruction sequences common to infection schemes
  1108.     used by viruses. This warning will appear for a few programs that
  1109.     are able to create or modify existing files. However, if this
  1110.     warning appears a lot, the files might be infected, especially if
  1111.     the warning is accompanied by other serious warnings.
  1112.  
  1113.   3.5.9.  ? - Inconsistent header.
  1114.  
  1115.     The program being processed has an exe-header that does not reflect
  1116.     the actual program layout. The DOS SORT.EXE program will cause this
  1117.     warning to be displayed, because the actual size of the program
  1118.     file is less than reported in the "size-of-load-module" field in
  1119.     the exe-header! Many viruses do not update the exe-header of an EXE
  1120.     file correctly after they have infected the file, so if this
  1121.     warning appears a lot it seems you have a problem. You should
  1122.     ignore this warning for the DOS SORT.EXE program. (Hopefully will
  1123.     MicroSoft correct the problem before the next release of DOS).
  1124.  
  1125.   3.5.10.  E - Read or open error.
  1126.  
  1127.     The file could not be opened or read. This can be the result of an
  1128.     error on the disk(ette), but the file could also be in use by
  1129.     another task (multitasking) or network user. The file has not been
  1130.     scanned.
  1131.  
  1132.   3.5.11.  J - Multiple jumps.
  1133.  
  1134.     The program did not start at the program entry point, but the code
  1135.     has jumped at least two times before reaching the final startup
  1136.     code, or the program jumped using a memory operand. This is rather
  1137.  
  1138.  
  1139.  
  1140.                                     Page 16
  1141.  
  1142.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1143.  
  1144.  
  1145.     strange for normal programs. If many files cause this warning to be
  1146.     displayed you should investigate your system thorougly.
  1147.  
  1148.   3.5.12.  p - Packed or compressed file.
  1149.  
  1150.     The program is packed or compressed. There are some utilities that
  1151.     are able to compress a program file, like EXEPACK or PKLITE. If the
  1152.     file is infected after the file has been compressed, TbScan will
  1153.     be able to detect the virus. However, if the file has been infected
  1154.     before it was compressed, the virus is also compressed, and a virus
  1155.     scanner might not be able to recognize the virus anymore.
  1156.     Fortunately, this does not happen a lot, but you are warned! A new
  1157.     program might look clean, but can turn out to be the carrier of a
  1158.     compressed virus. Other files on your system will be infected in
  1159.     that case, but these infections will be normally visible for virus
  1160.     scanners.
  1161.  
  1162.     By the way, TbScan does not recognize specific compression
  1163.     utilities, but uses an universal way to detect any compression
  1164.     program. Probably TbScan does not require any modifications as soon
  1165.     as a new compression program pops up.
  1166.  
  1167.   3.5.13.  w - Windows or OS/2 header.
  1168.  
  1169.     The program can be or is intended to be used with Windows (or OS/2).
  1170.     TbScan does nothing special with these files, but that might be
  1171.     changed in the future as soon as Windows or OS/2 specific virusses
  1172.     occur.
  1173.  
  1174.   3.5.14.  h - Hidden or System file.
  1175.  
  1176.     The file has the "Hidden" or the "System" file attribute set.  This
  1177.     means that the file is not visible at a normal directory display
  1178.     but will be scanned anyway. if you don't know the source and
  1179.     purpose of this file it might be a Trojan or "joke" program. Copy
  1180.     it on a diskette, remove it from your hard disk and check if some
  1181.     program is missing the file. If no program is missing it, well, you
  1182.     have freed some diskspace, and maybe your system saved for a
  1183.     future disaster.
  1184.  
  1185.   3.5.15.  i - Internal overlay.
  1186.  
  1187.     The program being processed has additional data or code behind the
  1188.     load-module as specified in the exe-header of the file. The
  1189.     program might have internal overlay(s) or configuration information
  1190.     appended behind the load-module of the EXE file.
  1191.  
  1192.   3.5.16.  s - Unusual stack.
  1193.  
  1194.     The EXE file being processed has an odd (instead of even) stack
  1195.     offset or no stack at all. Many viruses do not setup a legal stack.
  1196.  
  1197.  
  1198.  
  1199.  
  1200.                                     Page 17
  1201.  
  1202.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1203.  
  1204.  
  1205.   3.6.  Command line options
  1206.  
  1207.     It is possible to specify so-called options on the command line.
  1208.     Tbscan recognizes option-characters and option-words. The words are
  1209.     more easy to remember, and they will be used in this manual for
  1210.     convenience.
  1211.  
  1212.     -help,    -h  =help (-? = short help)
  1213.     -info,    -i  =display disassembly information
  1214.     -quick,   -q  =quick scan
  1215.     -more,    -m  =enable "More" prompt
  1216.     -mutant,  -y  =enable fuzzy search
  1217.     -direct,  -d  =direct calls into DOS/BIOS
  1218.     -analyze, -a  =force analyze/all files
  1219.     -extract, +a  =extract signature
  1220.     -valid,   -u  =force authorization
  1221.     -once,    -o  =only once a day
  1222.     -compat,  -c  =maximum-compatibility mode
  1223.     -nosnow,  -t  =avoid snow on CGA monitors
  1224.     -noboot,  -s  =skip bootsector
  1225.     -sector,  +s  =scan all disk sectors
  1226.     -nomem,   -r  =don't scan memory
  1227.     -allmem,  +r  =scan for all viruses in memory
  1228.     -hma,     +e  =scan HMA too
  1229.     -nohmem,  -e  =don't scan UMB/HMA
  1230.     -nosub,   -n  =don't scan in sub directories
  1231.     -sub,     +n  =process sub directories
  1232.     -noavr,   -j  =do not search for AVR modules
  1233.     -del[ete] -z  =delete infected files
  1234.     -batch,   -b  =don't ask keyboard input
  1235.     -repeat,  -x  =scan multiple diskettes
  1236.     -loginfo, -w  =log files with a lowercase warning too
  1237.     -logall,  +w  =log all files unconditionally
  1238.     -log      [<filename>],  +l [<filename>]  =append to log file
  1239.     -session  [<filename>],  -l [<filename>]  =create session log file
  1240.     -data     <filename>     -f <filename>    =data file to be used
  1241.     -ren[ame] [<ext mask>],  +z [<ext mask>]  =rename infected files
  1242.  
  1243.    3.6.1.  -help
  1244.  
  1245.     If you specify this option TbScan displays the contents of the of
  1246.     the TbScan.HLP file if it is available in the home directory of
  1247.     TbScan. If you specify the -? option you will get the option
  1248.     summary as listed above.
  1249.  
  1250.    3.6.2.  -info
  1251.  
  1252.     If you are an experienced user we recommend you to use this option.
  1253.     If you do so, TbScan will display the most important warnings
  1254.     with the complete pathname of the concerned file in the upper
  1255.     window.
  1256.  
  1257.  
  1258.  
  1259.  
  1260.                                     Page 18
  1261.  
  1262.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1263.  
  1264.  
  1265.    3.6.3.  -quick
  1266.  
  1267.     This option enables you to quickly scan the system. It is intended
  1268.     to be used in the "afternoon scan" of the system. It is recommended
  1269.     to invoke TbScan once a day without this option because this option
  1270.     does not offer you the highest security. .OVL, .BIN and .SYS files
  1271.     are skipped entirely since it is not likely that these files are
  1272.     infected, memory scan is skipped, the scan frame is reduced to
  1273.     2Kb instead of 4Kb, and TbScan does not fall back to the analyze
  1274.     routine as often as usual. However, TbScan still detects 95% of the
  1275.     viruses if this option is specified.
  1276.  
  1277.    3.6.4.  -more
  1278.  
  1279.     When you enter the parameter -more TbScan will stop after it has
  1280.     checked the contents of one window.  This gives you the
  1281.     possibility to examine the results without using a log file.
  1282.  
  1283.    3.6.5.  -mutant
  1284.  
  1285.     TbScan is able to detect mutants of viruses while performing a
  1286.     normal (default) scan, since many of the signatures contain
  1287.     wildcards. However, if you use the -mutant option TbScan does not
  1288.     restrict itself to the wildcard specification, but allows up to two
  1289.     extra changes anywhere in the signature. Needless to say, if you
  1290.     use this option false alarms may occur. Therefore this option is
  1291.     not recommended to be used in a normal scan session. However, you
  1292.     can use this option if you expect the system is infected but TbScan
  1293.     does not detect a virus. If you scan again and specify the -mutant
  1294.     option, and TbScan now reports many files to be "possibly infected"
  1295.     with one virus, it might be possible that the files are infected by
  1296.     an unknown variant of the virus. It is recommended to supply one
  1297.     such a possibly infected file to a virus expert before invoking a
  1298.     clean up operation.
  1299.  
  1300.    3.6.6.  -direct
  1301.  
  1302.     TbScan communicates with DOS through interrupt 21h. To prevent this
  1303.     from being "monitored" by viruses, option -direct can be entered.
  1304.     TbScan will use its built-in debugger to trace through the
  1305.     chain of interrupts until it has reached the DOS entry point.  This
  1306.     address is shown on the display and after that moment it will be
  1307.     used for the communication with DOS.  The same applies to the
  1308.     communications with the disk system:  TbScan first searches for the
  1309.     entry point of the BIOS, and performs direct calls into it.
  1310.     Resident programs, such as viruses, are then excluded from taking
  1311.     part in the virus scan process.
  1312.  
  1313.     This implies however that the regular resident programs remain
  1314.     ignorant too with regard to the file access by TbScan.  That is why
  1315.     it is not recommended to use this option when you use a multitasker
  1316.     or when you are connected to a local area network.
  1317.  
  1318.  
  1319.  
  1320.                                     Page 19
  1321.  
  1322.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1323.  
  1324.  
  1325.     Also note that many protection software packages will be fooled by
  1326.     TbScan when using the -direct option.  Don't be surprised when
  1327.     TbScan scans files you don't actually have any access to...
  1328.  
  1329.     When you use this option do not popup resident programs while
  1330.     TbScan is active!  This is because resident programs do not know
  1331.     that some foreground program performs file access and a machine
  1332.     hang might occur.
  1333.  
  1334.     When you have installed the Thunderbyte card in your PC, TbScan
  1335.     will not search for the DOS entry point, but for the entry point of
  1336.     Thunderbyte.  Otherwise Thunderbyte should warn you (correctly)
  1337.     that a program performs direct calls into DOS and the BIOS.  So
  1338.     only Thunderbyte remains between TbScan and DOS/BIOS. Since no
  1339.     viruses can be inserted between Thunderbyte and DOS/BIOS, this is
  1340.     completely safe.
  1341.  
  1342.    3.6.7.  -analyze
  1343.  
  1344.     Normally TbScan only uses the analysis method when the program to
  1345.     be checked is too complicated for the builtin interpreter.  But
  1346.     through option -analyze you can force TbScan to use the analysis
  1347.     or browse method always. Keep in mind though that the program will
  1348.     perform more slowly and that false alarms may occur. Therefore it
  1349.     is recommended to refrain from this option while performing a
  1350.     normal scan session. Since this option also disables the internal
  1351.     disassembler of TbScan, most warning marks will not occur,
  1352.     bootsector virus droppers will not be detected, and the AVR
  1353.     modules will not be executed.
  1354.  
  1355.     The -analyze option can not be used if the -mutant option has been
  1356.     specified too. It would cause too many false alarms. If you expect
  1357.     a virus and TbScan does not find a virus, you'd better use the
  1358.     -mutant option rather than -analyze. The -analyze option does
  1359.     not increase the hit rate like the -mutant option.
  1360.  
  1361.     If you have the odd feeling that you have to increase the hit rate
  1362.     of TbScan you'd better use the -mutant option rather than the
  1363.     -analyze option.  The -mutant option already detected some new
  1364.     unknown viruses, while the -analyze option did not and caused only
  1365.     false alarms.
  1366.  
  1367.     Without this option TbScan processes only executable files, even if
  1368.     a (wildcarded) filename has been specified. However, if you want to
  1369.     scan non-executable files you have to use the -analyze option.
  1370.     TbScan can only scan non-executable files if the -analyze option
  1371.     has been specified because non-executable files can not be
  1372.     disassembled. Since there are no specific signatures for
  1373.     non-executable files TbScan scans for all signatures in all files
  1374.     just to be able to find anything at all.
  1375.  
  1376.     So, if you use the -analyze option in combination with an explicite
  1377.  
  1378.  
  1379.  
  1380.                                     Page 20
  1381.  
  1382.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1383.  
  1384.  
  1385.     filename specification, TbScan scans ALL matching files for ALL
  1386.     signatures. Needless to say that this combination is NOT
  1387.     recommended due to its low performance and exessive amount of
  1388.     false alarms.  It is only provided to gain some compatibility with
  1389.     other scanners.
  1390.  
  1391.    3.6.8.  -extract
  1392.  
  1393.     This option is available for registered users only. See chapter
  1394.     "defining a signature" for usage of option -extract.
  1395.  
  1396.    3.6.9.  -valid
  1397.  
  1398.     TbScan checks the signature file for modifications.  If you change
  1399.     the contents of that file TbScan will issue a warning.  If you
  1400.     don't want the warning to be displayed, use the -valid option.
  1401.  
  1402.    3.6.10.  -once
  1403.  
  1404.     If you specify this option TbScan "remembers" that is has been used
  1405.     that day, and it will not run anymore a next time on that day if
  1406.     you specify this option again. This option is very powerfull if you
  1407.     use it in your autoexec.bat file in combination with a list file
  1408.     like:
  1409.  
  1410.                 TbScan @Everyday.Lst -once -rename
  1411.  
  1412.     TbScan now scans every day the first time being invoked the list of
  1413.     files and/or paths specified in the file "Everyday.Lst". All other
  1414.     times the machine will boot that day, TbScan will return to DOS
  1415.     immediately. This option does not interfere with the normal use of
  1416.     TbScan:  If you invoke TbScan without the -once option it will
  1417.     always run, regardless of a previous invokation with the -once
  1418.     option.  The opposite is also true: if you use the option -once
  1419.     after TbScan has been executed before that day without the -once
  1420.     option, TbScan will still execute.
  1421.  
  1422.     Note that if TbScan can not write to TbScan.Exe because it is
  1423.     read-only or located on a write protected diskette, the -once option
  1424.     will fail and start the scanner always.
  1425.  
  1426.    3.6.11.  -compat
  1427.  
  1428.     If you specify this option, TbScan tries to behave somewhat more
  1429.     compatible. Use this option if the program does not behave as
  1430.     expected or hangs the machine. This option will slow down the scan
  1431.     process so it should only be used when necessary. Note that option
  1432.     -compat does not affect the results of a scan.
  1433.  
  1434.    3.6.12.  -nosnow
  1435.  
  1436.     If you use TbScan on a machine with a CGA video system TbScan
  1437.  
  1438.  
  1439.  
  1440.                                     Page 21
  1441.  
  1442.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1443.  
  1444.  
  1445.     can cause "snow" on the screen. Option -nosnow can be used to
  1446.     eliminate the snow. TbScan will perform a little slower in that
  1447.     case.
  1448.  
  1449.    3.6.13.  -noboot
  1450.  
  1451.     If you specify this option TbScan will not scan the bootsector.
  1452.  
  1453.    3.6.14.  -sector
  1454.  
  1455.     This option is experimental.  This option enables the feature to
  1456.     scan a disk at sector level.  This way you can trace viruses that
  1457.     reside outside the files and bootsector and difficult stealth
  1458.     viruses. This option might also tell you that a virus ever
  1459.     resided on the machine in the past.  If this option detects a
  1460.     signature it does not mean that the virus should be still active.
  1461.     Even if TbScan deleted the virus this option is still able to
  1462.     detect the signature for a while.  This option is NOT recommended
  1463.     for a normal search. Note that TbScan is not able to detect
  1464.     suspicious facts anymore; it can not disassemble files with this
  1465.     mode. False alarms may occur frequently since everything is being
  1466.     searched for, and search is even performed in unused disk space
  1467.     containing garbage.
  1468.  
  1469.    3.6.15.  -nomem
  1470.  
  1471.     If you specify this option TbScan will not scan the memory of the
  1472.     PC for viruses.
  1473.  
  1474.    3.6.16.  -allmem
  1475.  
  1476.     If you specify this option TbScan will search for all viruses of
  1477.     the signature file in the memory of your PC, regardless of the
  1478.     virus type. This option is not recommended since many viruses have
  1479.     a different signature after they install themself in memory and a
  1480.     scan for non-memory specific viruses in memory makes no sense at
  1481.     all. It may cause a lot of false alarms. It is provided to maintain
  1482.     some compatibility with other scanners.
  1483.  
  1484.    3.6.17.  -hma
  1485.  
  1486.     TbScan detects the presence of a XMS-driver, and scans the HMA
  1487.     automatically. If you have a HMA-driver not compatible with the
  1488.     XMS standard you can use the -hma option to force TbScan to scan
  1489.     the HMA.
  1490.  
  1491.    3.6.18.  -nohmem
  1492.  
  1493.     By default TbScan searches for RAM above the DOS limit and scans
  1494.     that too. This means that even video memory and the current EMS
  1495.     pages are scanned. You can use the -nohmem option to disable the
  1496.     scanning of memory above the DOS limit.
  1497.  
  1498.  
  1499.  
  1500.                                     Page 22
  1501.  
  1502.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1503.  
  1504.  
  1505.    3.6.19.  -nosub
  1506.  
  1507.     TbScan will default search in subdirectories for executable files,
  1508.     except when a filename (or wildcards) are specified.  If you use
  1509.     this option TbScan will never search in subdirectories.
  1510.  
  1511.    3.6.20.  -sub
  1512.  
  1513.     If you use this option TbScan will always search in subdirectories,
  1514.     even when you specify a filename or wildcards.  Only subdirectories
  1515.     matching the filename mask will be scanned too.
  1516.  
  1517.    3.6.21.  -noavr
  1518.  
  1519.     If you specify this option TbScan will not search for AVR modules
  1520.     (Algorithmic Virus Recognition modules; .AVR files) at startup and
  1521.     will not perform any algorithmic searches on files.
  1522.  
  1523.    3.6.22.  -delete or -del
  1524.  
  1525.     If TbScan detects a virus in a file it prompts the user to delete
  1526.     or rename the infected file, or to continue.  If you specify the
  1527.     -delete option, TbScan will not ask the user what to do but it just
  1528.     deletes the infected file.  Use this option only if you already
  1529.     found out that your system is infected, and if you have a trusted
  1530.     backup, and wants to get rid of all infected files at once.
  1531.  
  1532.    3.6.23.  -rename or -ren
  1533.  
  1534.     If TbScan detects a file virus it prompts the user to delete
  1535.     or rename the infected file, or to continue.  If you specify the
  1536.     -rename option, TbScan will not ask the user what to do but it just
  1537.     renames the infected file. By default, the first character of the
  1538.     file's extension will be replace by the character "V". A .EXE file
  1539.     will be renamed to .VXE, and a .COM file to .VOM. This prevents the
  1540.     infected programs from being executed, but the program can still be
  1541.     examined or repaired at a later time. You can also add a parameter
  1542.     to this option specifying the target extension.  The parameter
  1543.     should always contain 3 characters, question marks are allowed. The
  1544.     default target extension is "V??".
  1545.  
  1546.    3.6.24.  -batch
  1547.  
  1548.     If TbScan detects a file virus it prompts the user to delete or
  1549.     rename the infected file, or to continue. If you specify the -batch
  1550.     option TbScan will always continue. This option is intended to be
  1551.     used in a batch file that would be executed unattended. It is
  1552.     highly recommended to use a log file in this situation, otherwise
  1553.     the scanning does not make very much sense.
  1554.  
  1555.    3.6.25.  -repeat
  1556.  
  1557.  
  1558.  
  1559.  
  1560.                                     Page 23
  1561.  
  1562.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1563.  
  1564.  
  1565.     The option is very powerfull if you want to check a large amount of
  1566.     diskettes. TbScan does not return to DOS after checking a disk, but
  1567.     it waits until you inserted another disk in the drive. You don't
  1568.     have to press a key on the keyboard when ready, TbScan detects
  1569.     automatically when the drive is ready to be accessed. This way you
  1570.     can check a large amount of diskettes without touching the
  1571.     keyboard. One thing you will notice however is that the motor of
  1572.     the disk drive keeps spinning, and the light keeps burning.  This
  1573.     does not harm your drive in any way, you can safely open and close
  1574.     the drive-door while the motor still runs. Many backup programs
  1575.     handle the drives the same way as TbScan does.
  1576.  
  1577.    3.6.26.  -log
  1578.  
  1579.     When you use this parameter, TbScan creates a LOG-file.  The
  1580.     default filename is TBSCAN.LOG and it will be created in the current
  1581.     directory.  You may optionally specify a path and filename.  In the
  1582.     LOG-file all infected program files are listed.  The filenames are
  1583.     specified including the complete path name. If the log file already
  1584.     exists the information will not be overwritten but instead appended
  1585.     to the file. If you use this option often it is recommended to
  1586.     delete or truncate the log file every month to avoid unlimited
  1587.     growth.
  1588.  
  1589.    3.6.27.  -session
  1590.  
  1591.     This option is the same as the -log option, except that if there
  1592.     already exists a log file the log information will be overwritten
  1593.     instead of appended. A log file created by the -session option only
  1594.     contains information of a single scanning session.
  1595.  
  1596.    3.6.28.  -loginfo
  1597.  
  1598.     If you use a log file and wants to log files with lowercase
  1599.     (informative) warnings too you should specify this option.
  1600.  
  1601.    3.6.29.  -logall
  1602.  
  1603.     If you use a log file and wants to get all files listed in the log
  1604.     file unconditionally you can use this option.
  1605.  
  1606.    3.6.30.  -data
  1607.  
  1608.     You can override the default path en name of the signature file by
  1609.     using this option.
  1610.  
  1611.     TbScan normally tries to locate a data file by itself. See chapter
  1612.     3.10 for information how TbScan searches for a data file.
  1613.  
  1614.     If TbScan does not succeed in recognizing or locating the
  1615.     appropriate data file by default, or you want to override the
  1616.     default data search, you should use the -data option.
  1617.  
  1618.  
  1619.  
  1620.                                     Page 24
  1621.  
  1622.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1623.  
  1624.  
  1625.  
  1626.   3.7.  Examples:
  1627.  
  1628.         TbScan \ -data c:\TbScan.Dat -noboot
  1629.             Process all executable files in the root directory and its
  1630.             sub directories.  Skip the bootsector scan.  Use the
  1631.             signature file "c:\TbScan.Dat".
  1632.  
  1633.         TbScan \*.*
  1634.             Process all executable files in the root directory. Don't
  1635.             process sub directories.
  1636.  
  1637.         TbScan Test.Dat -log c:\test.log
  1638.             No file will be processed. TEST.DAT is not an executable.  A
  1639.             LOG file with the name c:\test.log will be created.
  1640.  
  1641.         TbScan Test.Dat Test.Tmp -analyze
  1642.             Search Test.Dat and testp for ALL viruses using the
  1643.             analyze method.
  1644.  
  1645.         TbScan c:\ -analyze -rename vi?
  1646.             Process all executable files in the root directory and
  1647.             its sub directories.  Use the analysis method.  Rename
  1648.             infected files to a file by replacing the first two
  1649.             characters of the extension by "VI". The last character
  1650.             remains the same.
  1651.  
  1652.         TbScan c:\*.* -analyze
  1653.             Process ALL files in the root directory. Search for ALL
  1654.             viruses in ALL files.  The analysis-method will be used. Sub
  1655.             directories will not be processed.
  1656.  
  1657.  
  1658.     The last two examples shows the difference in behaviour of the
  1659.     -analyze parameter when a filename and when no filename has been
  1660.     specified.
  1661.  
  1662.  
  1663.   3.8.  Environment variable
  1664.  
  1665.     If you want to use certain options always, it can be handy to use
  1666.     the environment variable "TBSCAN" for this.  For instance, if you
  1667.     always use the option -noboot and always specifies the signature
  1668.     file to be used, you can insert the following line into your
  1669.     autoexec.bat file:
  1670.  
  1671.                 SET TBSCAN=-LOG -DATA C:\TBSCAN.DAT -NOBOOT
  1672.  
  1673.     TbScan now always acts like you specified the -noboot and -log
  1674.     option on the command line!
  1675.  
  1676.     Another good item to include in the environment variable is the
  1677.  
  1678.  
  1679.  
  1680.                                     Page 25
  1681.  
  1682.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1683.  
  1684.  
  1685.     option -data, to specify which data file should be used by default.
  1686.  
  1687.  
  1688.   3.9.  The configuration file
  1689.  
  1690.     For people that like the use of configuration files: TbScan can
  1691.     be configured with a configuration file. The configuration file
  1692.     should be in the same directory as the file TbScan.Exe, and the
  1693.     name of the configuration file should be TBS.BAT (surprise,
  1694.     surprise). The format of this configuration file is as follows:
  1695.  
  1696.       tbscan %1 %2 %3 %4 %5 %6 %7 %8 %9 [<default options...>]
  1697.  
  1698.     Example:
  1699.  
  1700.       tbscan %1 %2 %3 %4 %5 %6 %7 %8 %9 -direct -data c:\virus\Virscan.Dat
  1701.  
  1702.     To use this configuration file you have to type "TBS C:\" on the DOS
  1703.     prompt. If you want to override the default options specified in
  1704.     the TBS.BAT file just type "TBSCAN".
  1705.  
  1706.     This configuration file is very powerfull. You can even define
  1707.     mnemonics like "DAILY" and "WEEKLY" to invoke a predefined scan session.
  1708.     However, it is still possible to specify additional options on the
  1709.     command line. If TbScan detects a virus the file Virus.Txt will be
  1710.     printed on the screen. The file should contain information like the
  1711.     phone number of the company helpdesk and the phone number of the
  1712.     security officer.
  1713.  
  1714.     An example:
  1715.       @echo off
  1716.       if '%1'=='daily' goto daily
  1717.       if '%1'=='weekly' goto weekly
  1718.       :help
  1719.       echo Type "TBS weekly" or "TBS daily" to start a scan event
  1720.       goto end
  1721.       :daily
  1722.       tbscan c:\system d:\ -quick %2 %3 %4
  1723.       if errorlevel 2 goto help
  1724.       if errorlevel 1 goto virus
  1725.       goto end
  1726.       :weekly
  1727.       tbscan c:\ d:\ e:\ -log c:\logs\tbscan.log %2 %3 %4
  1728.       if errorlevel 2 goto help
  1729.       if errorlevel 1 goto virus
  1730.       goto end
  1731.       :virus
  1732.       type virus.txt
  1733.       :end
  1734.  
  1735.     For more information about this kind of powerfull "configuration"
  1736.     files consult the DOS manual and search for the keyword "batch
  1737.  
  1738.  
  1739.  
  1740.                                     Page 26
  1741.  
  1742.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1743.  
  1744.  
  1745.     files".
  1746.  
  1747.     Most people overlook the power of the DOS batch file features. But,
  1748.     why learning yet another configuration file language if a DOS
  1749.     batch file will suit your needs perfectly? You can predefine scan
  1750.     sessions, define default options, and branch to a specific routine
  1751.     if TbScan detects a virus.
  1752.  
  1753.     On the TbScan diskette you will find an example BATCH file with the
  1754.     name TBS.BAT. You can edit it to suit your needs.
  1755.  
  1756.  
  1757.   3.10.  The TbScan.Msg file
  1758.  
  1759.     TbScan prints the TbScan.Msg file on the screen after 15 seconds
  1760.     or when it finished scanning and it has not detected a virus. The
  1761.     file TbScan.Msg as supplied by us contains our address and
  1762.     registration information. However, you can edit this file as you
  1763.     like, it is possible to define your company logo in this file.
  1764.  
  1765.  
  1766.   3.11.  Residence of the signature files
  1767.  
  1768.     TbScan looks for the data file in this order:
  1769.     1)  If the -data option is used it will use the specified file.
  1770.     2)  It searches in the active directory for a file with the
  1771.         name TBSCAN.DAT.
  1772.     3)  It searches for TBSCAN.DAT in the same directory as the
  1773.         program file TBSCAN.EXE itself is located (only DOS 3+).
  1774.     4)  It searches in the active directory for a file with the
  1775.         name VIRSCAN.DAT.
  1776.     5)  It searches for VIRSCAN.DAT in the same directory as the
  1777.         program file TBSCAN.EXE itself is located (only DOS 3+).
  1778.  
  1779.     TbScan also looks for a datafile containing emergency update
  1780.     signatures. The file should be named ADDNSIGS.DAT. It should be
  1781.     either in the current directory or in the TbScan home directory.
  1782.  
  1783.  
  1784.   3.12.  Residence of the AVR modules
  1785.  
  1786.     The AVR modules are only searched in the directory where the
  1787.     program TBSCAN.EXE itself resides.
  1788.  
  1789.  
  1790.   3.13.  Error messages
  1791.  
  1792.     Errormessages that might be displayed:
  1793.  
  1794.     +   Error in data file at line <number>.
  1795.         There is an error in the specified line of the data file.
  1796.  
  1797.  
  1798.  
  1799.  
  1800.                                     Page 27
  1801.  
  1802.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1803.  
  1804.  
  1805.     +   Failed to locate DOS entry point.
  1806.         TbScan has not been able to locate the DOS entry point, but
  1807.         continues as if option -direct has not been specified.
  1808.  
  1809.     +   Limit exceeded.
  1810.         The total amount of internal signature information exceeded
  1811.         64Kb. This message will be displayed if the number of
  1812.         signatures reaches 2500. You can either reduce the number of
  1813.         signatures or make them shorter.
  1814.  
  1815.     +   Data file not found.
  1816.         TbScan has not been able to locate the data file.
  1817.  
  1818.     +   Command line error.
  1819.         An invalid or illegal command line or environment option has
  1820.         been specified.
  1821.  
  1822.     +   Can not combine -mutant with -analyze.
  1823.         It is not allowed to combine the options mentioned, it would
  1824.         cause too many false alarms, and does not make sense at all.
  1825.  
  1826.     +   No matching files found.
  1827.         The path specified does not exist, is empty, or the specified
  1828.         file does not exist.
  1829.  
  1830.     +   No matching executable files found.
  1831.         The path specified does not exist, is empty, or the specified
  1832.         file does not exist or is not an executable file.
  1833.  
  1834.     +   Can not create logfile.
  1835.         The optional specified log file path is illegal, the disk is
  1836.         full or write protected, or the file already exists and can not
  1837.         be overwritten.
  1838.  
  1839.     +   Sanity check failed!
  1840.         TbScan detected that its internal checksum does not match
  1841.         anymore. TbScan is possibly contaminated by a virus.
  1842.         Obtain a clean copy of TbScan, put it on a WRITE PROTECTED
  1843.         bootable diskette, boot from that diskette, and try again!
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.                                     Page 28
  1861.  
  1862.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1863.  
  1864.  
  1865. 4.  FORMAT OF THE DATA FILE
  1866.  
  1867.  
  1868.   4.1.  Format of a signature entry
  1869.  
  1870.     The data file (called TBSCAN.DAT or VIRSCAN.DAT) can be read and/or
  1871.     modified with every DOS-text editor.
  1872.  
  1873.     All lines starting with ";" are comment lines. TbScan ignores these
  1874.     lines. When the ";" character is followed by a percent-sign the
  1875.     remaining part of the line will be displayed on the screen.  A
  1876.     maximum of 8 lines can be printed on the screen.
  1877.  
  1878.     In the first line the name of a virus is expected. The second line
  1879.     contains one or more of the next words:
  1880.             BOOT SYS EXE COM HIGH LOW
  1881.  
  1882.     These words may be separated by spaces, tabs or commas.
  1883.  
  1884.     BOOT means that the virus is a bootsector virus. SYS, EXE and COM
  1885.     indicate the virus can occur in files with these extensions.
  1886.     Overlay files (with the extension OV?) will be searched for EXE
  1887.     viruses. BIN files will be searched for SYS viruses. HIGH means
  1888.     that the virus can occur in the memory of your PC located above the
  1889.     TbScan program itself. LOW means that the virus can occur in the
  1890.     memory of your PC located below the TbScan program itself.
  1891.  
  1892.     In the third line the signature is expected in ASCII-HEX.  Every
  1893.     virus character is described by means of two characters.
  1894.  
  1895.     One entry in the signature file should look like:
  1896.         ;
  1897.         Test virus
  1898.         EXE COM
  1899.         ABCD21436587ABCD
  1900.         ;
  1901.  
  1902.     It is allowed to use spaces in the ASCII-HEX signature to increase
  1903.     the readability.
  1904.  
  1905.     The sequence of three lines should be repeated for every virus.
  1906.     Between all lines comment lines may occur.
  1907.  
  1908.  
  1909.   4.2.  Wildcards
  1910.  
  1911.     TbScan allows you to use wildcards in a signature. Wildcards can be
  1912.     used to define one signature that recognizes a couple of related
  1913.     viruses.
  1914.  
  1915.     -   The ? wildcard.
  1916.  
  1917.  
  1918.  
  1919.  
  1920.                                     Page 29
  1921.  
  1922.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1923.  
  1924.  
  1925.         The question mark specifies a wildcard nibble, which means that
  1926.         the corresponding half of the byte may have any value.
  1927.  
  1928.         Example:
  1929.                 A5E623CB??CD21?883FF3E
  1930.  
  1931.     -   The * wildcard.
  1932.  
  1933.         You can use the asterisk followed by an ASCII-HEX character to
  1934.         skip a fixed amount of bytes in the signature. The ASCII-HEX
  1935.         character specifies the amount of bytes that should be skipped.
  1936.  
  1937.         Example:
  1938.                 A5E623CB*3CD2155??83FF3E?BCD
  1939.         This sequence of bytes will be recognised as a virus:
  1940.             A5E623CB142434CD21554583FF3E3BCD
  1941.  
  1942.     -   The % wildcard.
  1943.  
  1944.         A percent sign (%) followed by an ASCII-HEX character indicates
  1945.         that the remaining part of the signature could be located a
  1946.         number of bytes away.  The ASCII-HEX character specifies the
  1947.         maximum distance the remaining part should occur.
  1948.  
  1949.     -   The ** wildcard.
  1950.  
  1951.         You can use the "**" -wildcard to skip an unlimited variable
  1952.         amount of bytes in the signature.
  1953.  
  1954.  
  1955.   4.3.  Restrictions.
  1956.  
  1957.     +   The name of a virus may contain up to 30 characters.
  1958.  
  1959.     +   The ASCII-HEX signature may contain up to 132 characters.
  1960.  
  1961.     +   A signature must contain at least one sequence of two
  1962.         non-wildcard bytes. A sequence of four however is recommended.
  1963.  
  1964.     +   The signature should start with one non-wildcard byte.
  1965.  
  1966.     +   The %-wildcard should not be followed by any other wildcard.
  1967.  
  1968.     Examine the VIRSCAN.DAT or TBSCAN.DAT file for a "live" example of
  1969.     the format of the signature file.
  1970.  
  1971.  
  1972.   4.4.  Defining new signatures.
  1973.  
  1974.     This chapter is intended for advanced users only. You need to be
  1975.     registered (owning a TbScan.Key file or a Thunderbyte add-on card)
  1976.     to be able to use the following guideline.
  1977.  
  1978.  
  1979.  
  1980.                                     Page 30
  1981.  
  1982.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  1983.  
  1984.  
  1985.     Although the supplied data file is updated frequently it might
  1986.     happen that your system is infected by a yet unknown virus. Next
  1987.     chapter indicates how to determine this is the case. If you are
  1988.     completely sure the system is infected by a virus, and TbScan does
  1989.     not detect it, it fails even with the -mutant option, TbScan can be
  1990.     used to define a temporary signature.
  1991.  
  1992.     -   Collect some infected files and copy them into a temporary
  1993.         directory.
  1994.  
  1995.     -   Boot from a clean write-protected diskette. The next steps you
  1996.         should NOT execute ANY program from the infected system, even
  1997.         when you expect the program to be clean.
  1998.  
  1999.     -   Execute TbScan with the -extract option in the directory
  2000.         containing the infected files. TbScan will NOT scan but instead
  2001.         display the first instructions at the entry-point of the
  2002.         infected programs.  It is recommended to use the -session
  2003.         option of TbScan.
  2004.  
  2005.     -   Compare the "signatures" produced by TbScan. You should see
  2006.         something like this:
  2007.                 VIRUS1.COM      1234ABCD5678EFAB909090ABCD123478FF
  2008.                 VIRUS2.COM      1234ABCD5678EFAB901234ABCD123478FF
  2009.                 VIRUS3.COM      1234ABCD5678EFAB9A5678ABCD123478FF
  2010.         If the "signatures" are completely different, the files are
  2011.         possibly not infected, or they are infected by a virus that
  2012.         requires an AVR module to detect it.
  2013.  
  2014.     -   Replace all differences in the "signatures" by question marks
  2015.         ("?"). A signature to detect the "virus" in the example above
  2016.         could be:       1234ABCD5678EFAB9?????ABCD123478FF
  2017.  
  2018.     -   Add the signature to the data file of TbScan. Give the virus a
  2019.         name and specify the EXE and COM keywords.
  2020.  
  2021.     -   Run TbScan again in the directory containing the infected
  2022.         files. TbScan should now detect the virus.
  2023.  
  2024.     -   Send a couple of infected files to a recommended anti-virus
  2025.         researcher, preferrable to us.
  2026.  
  2027.     Congratulations! You have defined a "do-it-yourself" signature! Now
  2028.     you can scan all your machines to search for the new virus.
  2029.     However, keep in mind that the signature is a "quick-and-dirty"
  2030.     solution. Some instances of the virus might not be recognised, and
  2031.     some innocent programs might be suspected from a virus. A signature
  2032.     that is guaranteed to detect all instances of the virus can be
  2033.     achieved only after complete disassembly of the new virus.  For
  2034.     these reasons you should NOT distribute the "signature" to others.
  2035.     The final signature assembled by experienced anti-virus researchers
  2036.     will be completely different in most cases!
  2037.  
  2038.  
  2039.  
  2040.                                     Page 31
  2041.  
  2042.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.                                     Page 32
  2101.  
  2102.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2103.  
  2104.  
  2105.     -   The size of one or more programs has increased.
  2106.     -   The screen behaves strangely, or you will find unusual
  2107.         information displayed here.
  2108.   5.1.  Prevention    -   ChkDsk detects many errors.
  2109.  
  2110.     Prevention is always better than cure. You can prevent an infection
  2111.     by using reliable software only, that is software of which the  5.2.  Confirmation
  2112.     origins are known.
  2113.     Once you think your system may have a virus, try to get
  2114.     MAKE SURE YOU HAVE AN UNINFECTED WRITE-PROTECTED BOOTABLE DOS DISK    confirmation. You can get confirmation by using a virus scanner, or
  2115.     STORED IN A SAFE PLACE. The disk will be needed in case of    by booting from the uninfected write protected DOS diskette and
  2116.     infection. Without an uninfected bootable disk you will never be    comparing the files on the hard disk to the known uninfected
  2117.     able to get rid of any virus! The disk should be write protected to    original copies. DO NOT RUN ANY PROGRAM ON THE HARD DISK WHILE
  2118.     make sure it will remain uninfected. This is very important.    AND BEFORE PERFORMING THIS TEST TO PREVENT THE VIRUS GOING RESIDENT
  2119.     IN MEMORY. If the files have not been changed there is no file
  2120.     Only boot from your hard disk or from your original DOS diskette.    virus.  If they all get changed in the same way, it is very likely
  2121.     NEVER use someone's else's disk for booting. Should you have a hard    the files are infected by a virus. The bootsector is more difficult
  2122.     disk make certain that you have opened your floppy drive before    to test. Use the DOS SYS command to replace the bootsector in case
  2123.     resetting or booting your PC.    of doubt.
  2124.  
  2125.     Use the DOS program ChkDsk frequently (without the /F switch).
  2126.  
  2127.  
  2128.                                     Page 33
  2129.  
  2130.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2131.     its cause. Some highly suspicious alterations are:
  2132.  
  2133.     Note that file viruses infect other programs. It is very unlikely
  2134.     -   Programs do not operate as they used to, or cause the computer    to find only one or a very few infected programs on a hard disk
  2135.         to "hang" or reboot after some time.    used frequently. If TbScan reports a virus in only 1% of the files
  2136.     -   Data disappears or gets damaged.    on your hard disk, you should treat it as a false alarm.
  2137.  
  2138.     If you did not expect to find a virus but used the -analyze option
  2139.     of TbScan which detected a "virus", forget about it. The -analyze
  2140.     option has never caused a virus to be detected that remains
  2141.     undetected in normal scan sessions. It causes many false alarms
  2142.     instead.
  2143.  
  2144.     If you find a virus, do NOT use "your" TbScan to check other
  2145.     machines, except when you have copied it to a write protected
  2146.     diskette before the system became infected. Although TbScan
  2147.     performs a sanity check immediately after the invokation, there are
  2148.     some viruses that are able to fool every self-check, and TbScan
  2149.     migh carry such a virus without detecting it.
  2150.  
  2151.  
  2152.   5.3.  Identification
  2153.  
  2154.     Indentify the virus. Why is this so important? Because if you know
  2155.     which virus caused you the trouble you know what the virus has
  2156.     exactly done, and whether your data files are still reliable or
  2157.     damaged. You can use a virus scanner to identify a virus. Once you
  2158.     know the name of the virus you have to obtain additional
  2159.     information about the virus. You can log on to our support BBS,
  2160.     consult professional literature, or consult a virus expert. If the
  2161.     virus only infects executable files you have only to replace the
  2162.     executable files. But if the virus swaps some bytes on a random
  2163.     location of your hard disk everytime you execute a program, you
  2164.     have to replace your data files too, even when you didn't see any
  2165.     changes in your data files.
  2166.  
  2167.  
  2168.   5.4.  No Panic!
  2169.  
  2170.     The most important thing to do is NOT PANIC! Panicking doesn't help
  2171.     you, as you need to be calm to deal with the situation properly.
  2172.     In most cases of virus infections in the past, most of the damage
  2173.     has been done by the operator of the system, not by the virus. Do
  2174.     nothing at all except for identifying the virus and obtaining
  2175.     information about the virus. Reformatting the hard disks
  2176.     immediately is the worst you can do. Once after you know exactly
  2177.     what the virus does, you can work out a strategy to recover.
  2178.     DO NOT MAKE A NEW BACKUP OF YOUR SYSTEM UNLESS YOU DON'T OVERWRITE
  2179.     AN ALREADY EXISTING BACKUP. In this case label the backup as being
  2180.     infected and unreliable.
  2181.  
  2182.  
  2183.   5.5.  Recovering
  2184.  
  2185.  
  2186.  
  2187.  
  2188.                                     Page 34
  2189.  
  2190.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2191.  
  2192.  
  2193.     For all recovery activities it is important to boot from your
  2194.     uninfected write-protected DOS diskette. Do NOT run any program
  2195.     from your hard disk! The virus must stay out of your memory while
  2196.     cleaning the system.
  2197.  
  2198.     Restore the DOS system and bootsector by using the DOS SYS command.
  2199.  
  2200.     In case of a file virus, restore all executables. A virus removal
  2201.     utility is not recommended unless you don't have a backup of the
  2202.     uninfected executable files. Depending on the virus it might also
  2203.     be necessary to replace all data files.
  2204.  
  2205.     If the system has been infected by a virus that modifies the
  2206.     partition table it might be necessary to perform a low level
  2207.     reformat of your hard disks. If you used an utility to backup the
  2208.     partition table (like TbRescue) it isn't necessary to reformat the
  2209.     disks, just restore the partition table.
  2210.  
  2211.     Once the system has been cleaned, check all diskettes, backups,
  2212.     etc. One infected diskette can cause you the same trouble again.
  2213.     It is highly recommended to protect your system against
  2214.     re-infections, since it is possible that you forgot to clean one
  2215.     floppy. Use a virus scanner frequently, install a resident scanner
  2216.     (like TbScanX), or better, install the Thunderbyte PC Immunizer.
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.                                     Page 35
  2249.  
  2250.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2251.  
  2252.  
  2253. 6.  CONSIDERATIONS AND RECOMMENDATIONS
  2254.  
  2255.  
  2256.   6.1.  What should be scanned?
  2257.  
  2258.     In the early days of viruses, virus scanners just scanned
  2259.     everything. Today we know that this approach has serious
  2260.     disadvantages: the number of false alarmes is very high, the scan
  2261.     speed is very very slow, etc.
  2262.  
  2263.     Before we proceed, let's first establish some facts about viruses.
  2264.     A virus is just a program. Like any other program, if you don't
  2265.     execute it it will not do anything except for occupying disk space.
  2266.     This means that data files like text files can never spread a
  2267.     virus. Of course, it is possible to copy a virus into a .TXT file,
  2268.     but since the text file will never be executed, the virus will
  2269.     never be able to do anything. It is just a stream of bytes, like
  2270.     the text in the text file. A program and a boot sector however will
  2271.     be executed, and if they contain a virus the virus will gain
  2272.     control and perform its nasty operations.
  2273.  
  2274.     We now know that it doesn't make sense to scan non-executable
  2275.     files. Note that a batch file (.BAT) is just a text file, it can be
  2276.     "executed" in some way, buy it is not possible to make a virus in
  2277.     the batch file language. What we need to scan are files with the
  2278.     extensions EXE COM OV? SYS and BIN.
  2279.  
  2280.     What do these programs contain? Of course they contain program
  2281.     code, but they also contain data. The texts that will be displayed
  2282.     on the screen by that program are just data. They will never be
  2283.     "executed". The exe-header of an exe file does not contain any
  2284.     code, only data. The exe-header is only used by DOS to load the
  2285.     program, and it is thrown away before DOS passes control to the
  2286.     program. We don't have to scan it, that's easy enough. The same
  2287.     applies to the bytes after the so called load-module of the file.
  2288.     This area of a file will not be loaded in memory at first instance,
  2289.     so we can skip it also.
  2290.  
  2291.     Unfortunately, the remaining part of the executable file is most
  2292.     of the time the largest. The code-data ratio differs for each
  2293.     program, but on the avarage we can state that about one third of a
  2294.     program consists of data. However, it is hardly possible to divide
  2295.     a program into code and data. Even the operating system is not able
  2296.     to do this, only the program itself. What happens when you execute
  2297.     a program is that the operating system passes control to the file
  2298.     at a fixed location. The location is the first byte in case of a
  2299.     .COM file, or a location specified in the exe-header of a .EXE
  2300.     file.  This location is referred to as ENTRY-POINT in this manual.
  2301.     This location is the only location in a file from which we can be
  2302.     100% sure it contains code. For other locations we can only guess.
  2303.  
  2304.     How does a virus work?
  2305.  
  2306.  
  2307.  
  2308.                                     Page 36
  2309.  
  2310.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2311.  
  2312.  
  2313.     A virus that wants to infect a file can not just throw its viral
  2314.     code at a random location in that file, it won't work. The virus
  2315.     has to be sure that its code will be executed before the host
  2316.     program gains control. Why?  Because if the contaminated program
  2317.     finds itself altered it will behave unexpected. The program
  2318.     accesses internal resources that are overwritten by the virus and
  2319.     the program crashes. Besides, how does the virus know whether that
  2320.     random location will be ever executed?  There is only ONE location
  2321.     that will always be executed, and that is the entry-point of the
  2322.     program. To infect a file the virus has to link itself onto the
  2323.     entry-point and store the original instructions of the program at
  2324.     another place. The virus is now sure it will gain control instead
  2325.     of the host program, and the virus has the possibility to restore
  2326.     the original instructions before passing control to the host
  2327.     program. There has never been any virus reported that does not link
  2328.     itself to the entry-point of a program.
  2329.  
  2330.     This brings us to a very important fact: if we scan the location
  2331.     where we can find the first instructions of the program we are sure
  2332.     we are scanning the area where the virus would reside. TbScan uses
  2333.     this knowledge and normally scans a window of about 4Kb around the
  2334.     program's entry point. This is called "Checking". If you want to
  2335.     know more about this process consult chapter "The internals of
  2336.     TbScan".
  2337.  
  2338.     Note that it is not "unsafe" to restrict the area where we search
  2339.     for viruses. If the signatures are assembled according to this
  2340.     knowledge it is always possible to detect the virus in the scanning
  2341.     area. This tackle has been adopted by many other competitive virus
  2342.     scanners. If TbScan is not completely sure about the entry-point of
  2343.     the file it just scans all the program code of the file using the
  2344.     "browse" or "analyze" algorithm.
  2345.  
  2346.  
  2347.   6.2.  The internals of TbScan
  2348.  
  2349.     6.2.1.  How is that blazingly speed achieved?
  2350.  
  2351.         The speed of TbScan is achieved by many measures.
  2352.  
  2353.         To avoid false alarms, TbScan already scans restricted areas of
  2354.         the file, and of course, this approach also affects the speed
  2355.         in a positive way. Disk access is minimized, and not much data
  2356.         has to be searched.
  2357.  
  2358.         TbScan is entirely written in assembly language. High-level
  2359.         languages like Pascal and Basic have an enormous overhead which
  2360.         not only affects the size of the program but also reduces the
  2361.         execution speed.
  2362.  
  2363.         The search routine is highly optimized. Every byte to be
  2364.         scanned is only accessed once, regardless of the number of
  2365.  
  2366.  
  2367.  
  2368.                                     Page 37
  2369.  
  2370.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2371.  
  2372.  
  2373.         signatures. Execution time will hardly increase when it has to
  2374.         search for 3000 signatures instead of 300. The search algorithm
  2375.         used can be described as "rotating semi-double 16-bits hashing".
  2376.  
  2377.         The number of DOS function calls has been minimized. DOS is
  2378.         relatively slow, and access should be avoided as much as
  2379.         possible.  For this reason TbScan walks just once through a
  2380.         directory instead of first processing the files and secondly
  2381.         the subdirectories or vice versa.
  2382.  
  2383.         TbScan writes directly to the screen instead of using DOS or
  2384.         the BIOS to do this. Although TbScan has a scrolling window,
  2385.         screen access is minimized as much as possible without
  2386.         affecting the visual appearance of the program.
  2387.  
  2388.         TbScan has a built-in disk cacher. A disk cacher is
  2389.         already installed on many machines, but a normal disk cacher
  2390.         slows down the scan speed of a virus scanner instead of
  2391.         increasing it! This slow down is caused by the disk cacher, that
  2392.         tries to make assumptions on what the program will read next,
  2393.         but fails doing so. The disk cacher fails because it doesn't
  2394.         know that every file is accessed just once, and it also doesn't
  2395.         know that the remaining part of a partial scanned file will not
  2396.         be accessed at all. The cacher wastes many clock cycles by
  2397.         reading ahead and maintaining megabytes of data which will not
  2398.         be accessed anymore by the scanner. On the other hand, the
  2399.         directories and the FAT are accessed a lot, and a disk cacher
  2400.         could increase the performace a lot if it would restrict itself
  2401.         to these areas.  The solution is to disable the standard disk
  2402.         cacher and installing one that "knows" which data will be
  2403.         re-used and which not. TbScan disables any disk cacher and
  2404.         installs its own one.  Depending on the hardware specifications
  2405.         of a machine, disabling the original cacher increases the
  2406.         scanning speed with about 10% and installing its own one with
  2407.         another 10%.
  2408.  
  2409.         TbScan dynamically optimizes the lookahead buffers of DOS (the
  2410.         Y parameter of the "BUFFERS=X,Y" command in the config.sys).
  2411.         Temporary disabling the DOS lookahead buffers increases the
  2412.         scanning speed for the same reasons as disabling a disk cacher
  2413.         increases the speed.
  2414.  
  2415.     6.2.2.  The code interpreter
  2416.  
  2417.         Viruses can infect program files only in certain ways. For a
  2418.         virus there is only one single point in a program file of which
  2419.         it is certain that it must be executed, namely the starting
  2420.         point of the program. It cannot be sure of any other point and
  2421.         that is why it will not try to put its first code on an
  2422.         arbitrary spot of the program that it is planning to infect.
  2423.         The virus will always have to put AT LEAST one instruction at
  2424.         the entry point of the program.
  2425.  
  2426.  
  2427.  
  2428.                                     Page 38
  2429.  
  2430.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2431.  
  2432.  
  2433.         TbScan uses this knowledge to restrict the number of bytes that
  2434.         have to be read in of a file as much as possible.  Just as the
  2435.         loader of DOS itself, it determines where the entry point of
  2436.         the program is located.  (At the beginning of a COM-file and on
  2437.         an address, specified in the EXE-header of an EXE-file.)
  2438.  
  2439.         This is however not enough; there can also be a jump or another
  2440.         branch instruction on the located entry point of the program.
  2441.         TbScan will follow this jump until it does not come across a
  2442.         jump anymore. Then we have found the real starting point of the
  2443.         program or, in case it has been infected, the virus.
  2444.  
  2445.         There is a possibility however that on a certain moment TbScan
  2446.         has reached the end of a chain of jumps and then finds that
  2447.         there are new significant IP modifying instructions (calls,
  2448.         rets, irets, jumps) not far from the found starting point.
  2449.         Does this future jump point to the virus code, or are we
  2450.         already on the right location?  TbScan does not take any risk
  2451.         and in such a case it will read in the whole file to search for
  2452.         viruses.  Only when it is 100% sure to have found the real
  2453.         starting point of a file, where in addition at least 20 bytes
  2454.         of continuous code are situated (the code is "stable" then),
  2455.         TbScan will be satisfied with checking only the surrounding 4
  2456.         Kb of the found code. (Almost all viruses use less than 4 Kb
  2457.         and of viruses using more than 4 Kb the signature in the first
  2458.         4 Kb of the virus is used as the signature.)
  2459.  
  2460.     6.2.3.  The algorithms
  2461.  
  2462.         When TbScan processes a file it prints "Checking", "Tracing",
  2463.         "Browsing", "Analyzing" or "Skipping".
  2464.  
  2465.       6.2.3.1.  Checking
  2466.  
  2467.         "Checking" means that TbScan has successfully located the entry
  2468.         point of the program, and is scanning a frame of about 4Kb
  2469.         around the entry point. If the file is infected the signature
  2470.         of the virus will be in this area. "Checking" is a very fast
  2471.         and reliable scan algorithm.
  2472.  
  2473.         Checking will be used on most files if you run TbScan in
  2474.         default mode.
  2475.  
  2476.       6.2.3.2.  Tracing
  2477.  
  2478.         "Tracing" means that TbScan has successfully traced a chain of
  2479.         jumps or calls to locate the entry point of the program, and is
  2480.         scanning a frame of about 4Kb around the entry point. If the
  2481.         file is infected the signature of the virus will be in this
  2482.         area. "Tracing" is a fast and reliable scan algorithm.
  2483.  
  2484.         Tracing will be primary used for TSR-type COM files or Turbo
  2485.  
  2486.  
  2487.  
  2488.                                     Page 39
  2489.  
  2490.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2491.  
  2492.  
  2493.         Pascal compiled programs.
  2494.  
  2495.       6.2.3.3.  Analyzing
  2496.  
  2497.         "Analyzing" means that TbScan is scanning the entire file
  2498.         (except for the exe-header which can not contain any viral
  2499.         code). This algorithm will be used if "Checking" or "Tracing"
  2500.         can not be safely used. This is the case when the entry-point
  2501.         of the program contains other jumps and calls to code located
  2502.         outside the scanning frame. "Analyze" is a slow algorithm.
  2503.         Because it processes almost the entire file (also data area's)
  2504.         there is a greater chance of false alarms. In the past all
  2505.         reported false alarms occured with this algorithm. This
  2506.         algorithm can be forced on the command line with the -analyze
  2507.         option. It is however not recommended for a routine scan due to
  2508.         its tend to issue false alarms. "Analyze" or "Browse" will be
  2509.         used while scanning memory, bootsectors, SYS and BIN files.
  2510.  
  2511.       6.2.3.4.  Browsing
  2512.  
  2513.         "Browsing" is almost the same algorithm as "Analyzing", but it
  2514.         performs a little better on files containing long sequences of
  2515.         low ASCII, 00 or FF bytes. On other files (like compressed
  2516.         files) it performs worse, so TbScan selects the best algorithm
  2517.         for every file.  "Browsing" is as reliable as "analyzing" but
  2518.         also has the same tendency to cause false alarms.  In fact,
  2519.         every dumb scan algorithm (i.e.  algorithm without
  2520.         intelligence) will suffer from this kind of unreliability.
  2521.  
  2522.       6.2.3.5.  Skipping
  2523.  
  2524.         "Skipping" will be performed on SYS and OVL files only.
  2525.         "Skipping" simply means that the file will not be scanned. As a
  2526.         matter of fact, there are many SYS files that contain no code
  2527.         (like CONFIG.SYS). It makes absolutely no sense to scan these
  2528.         files for viruses. The same applies to .OV? files. Only a few
  2529.         of them contain an EXE-header and are suitable for a virus. If
  2530.         a virus is reported to infect overlay files it means that the
  2531.         virus monitors the DOS exec-call (function 4Bh) and infects
  2532.         every program being invoked with this call. Overlay files
  2533.         without EXE-header will never be invoked via DOS, so no virus
  2534.         will be able to infect such an "overlay". If a file has the
  2535.         extension OV? but isn't really an overlay file it will be
  2536.         skipped. Surprisingly enough, most .OV? files are just named so
  2537.         by their programmers, but they are absolutely not real overlay
  2538.         files and a virus can infect them as much as it can do with a
  2539.         .TXT file, with other words: not at all.
  2540.  
  2541.         The -analyze switch forces TbScan to use "analyze" or "browse"
  2542.         on these files.
  2543.  
  2544.     6.2.4.  The -compat option
  2545.  
  2546.  
  2547.  
  2548.                                     Page 40
  2549.  
  2550.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2551.  
  2552.  
  2553.         The -compat option is used to increase compatibility if the
  2554.         default behaviour of TbScan causes problems. The differences
  2555.         between default and compatibility mode are:
  2556.  
  2557.         -       TbScan tries to bypass disk cachers in default mode.
  2558.                 However, in compatibility mode TbScan does not
  2559.                 interfere with the disk interrupts and will not disable
  2560.                 any disk caching software.
  2561.  
  2562.         -       In default mode, TbScan installs a disk cacher if
  2563.                 enough memory is available. In the compatibility mode
  2564.                 TbScan never installs the internal disk cacher.
  2565.  
  2566.         -       In default mode, TbScan dynamically optimizes the DOS
  2567.                 disk buffers (the Y-parameter of the BUFFERS=X,Y
  2568.                 command) to achive the best performance while scanning.
  2569.                 When TbScan terminates it restores the original DOS
  2570.                 configuration. However, in the compatibility mode
  2571.                 TbScan does not alter any internal DOS configuration.
  2572.  
  2573.         -       While scanning memory, TbScan temporary disables the
  2574.                 interrupts for each 32 Kb-block being scanned. In
  2575.                 compatibility mode however TbScan performs a
  2576.                 non-destructive scan and does not disable interrupts
  2577.                 at all. It offers the highest compatibility, but memory
  2578.                 scanning may slow down considerably in some
  2579.                 circumstances.
  2580.  
  2581.         -       If the -compat switch has been specified TbScan does
  2582.                 not use AVR-modules to scan memory. Files are still
  2583.                 processed by the AVR-modules. Memory AVR-modules might
  2584.                 contain virus specific function requests that might
  2585.                 interfere with resident software.
  2586.  
  2587.     6.2.5.  Recursing through directories
  2588.  
  2589.         Since you might be interested in a high scan speed rather than
  2590.         a well-organized scan order, TbScan digs into a subdirectory as
  2591.         soon as it detects one. This can result in a confusing screen
  2592.         output, files of subdirectories can be printed on the screen in
  2593.         a mixed order.
  2594.  
  2595.             root
  2596.                 file.1
  2597.                 file.2              subdir1
  2598.                 subdir1                 file.11
  2599.                 file.3                  file.12
  2600.                 file.4                  file.13
  2601.  
  2602.         Files will be accessed in the following order:
  2603.                 file.1
  2604.                 file.2
  2605.  
  2606.  
  2607.  
  2608.                                     Page 41
  2609.  
  2610.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2611.  
  2612.  
  2613.                 file.11
  2614.                 file.12
  2615.                 file.13
  2616.                 file.3
  2617.                 file.4
  2618.  
  2619.         Although file.2 and file.3 reside in the same directory the
  2620.         files of subdir1 will be inserted between them.
  2621.  
  2622.  
  2623.   6.3.  The Sanity check
  2624.  
  2625.     TbScan performs a sanity check when it fires up. However, to be
  2626.     honest, it is NOT possible for software to be sure for 100% it is
  2627.     not infected. If this was the case the virus problem could be
  2628.     solved by incorperating a self check in every program.
  2629.     Unfortunately, self-checking works as long as the program is not
  2630.     infected by a so called "stealth" type virus. A stealth virus is
  2631.     able to hide itself completely for every self check. This is not a
  2632.     TbScan bug, it applies to ALL software that performs a sanity
  2633.     check. Therefore, we recommend to put a clean TbScan on a write
  2634.     protected diskette. Use this diskette to check other machines once
  2635.     you find a virus in your own machine.
  2636.  
  2637.  
  2638.   6.4.  How many viruses does it detect?
  2639.  
  2640.     Some people think that TbScan recognizes only 300 viruses, based
  2641.     upon the fact that the signature file contains only 300 signatures.
  2642.     What they not realise is that the signatures are family
  2643.     signatures, and that means that just one signature covers multiple
  2644.     viruses. For instance, the Plo/Jerusalem signature detects over 25
  2645.     viruses which are all based on the "original" Jerusalem virus! Only
  2646.     one (wildcarded) signature is used to cover all these mutants.
  2647.  
  2648.     Some competitive products count every virus mutant as a single
  2649.     virus, and it will not be suprising that they claim to detect over
  2650.     800 viruses. However, TbScan detects the same amount (and often
  2651.     more!) of viruses with "only" 300 signatures.
  2652.  
  2653.  
  2654.   6.5.  Testing the scanner
  2655.  
  2656.     Many people like to test the product they are using. While it is
  2657.     very easy to test for instance a word processor, it is very
  2658.     difficult to test a smart scanner like TbScan. You can not extract
  2659.     25 bytes of an executable and put it in the data file just to see
  2660.     whether TbScan finds the "signature". It is likely that TbScan does
  2661.     NOT find it because it only scans the entry-area of the file and
  2662.     the "signature" might be extracted from some other location within
  2663.     the file. Even the -analyze option will not always cause the
  2664.     "test-signature" to be detected.
  2665.  
  2666.  
  2667.  
  2668.                                     Page 42
  2669.  
  2670.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2671.  
  2672.  
  2673.     But, you might think, how can I test the scanner if defining a
  2674.     "test-signature" does not work? I think you can't, unless you are
  2675.     an experienced assembler programmer.  Sorry, but testing a
  2676.     disassembling scanner should be performed by virus experts only.
  2677.     Fortunately, you don't have to rely on our tests solely.  There are
  2678.     some anti-virus magazines who regulary publice tests of all virus
  2679.     scanners.  At the end of this document you will find some addresses
  2680.     of recommended magazines.  Anyway, third parties tested our scanner
  2681.     amongs others, and they found TbScan to have a very high hit rate.
  2682.     It detects even more viruses than many populair scanners.
  2683.  
  2684.  
  2685.   6.6.  Scan scheduling
  2686.  
  2687.     Is is recommended to "plan" how and when you scan your system.
  2688.     Creation of a special TbScan boot-diskette is highly recommended.
  2689.  
  2690.     Boot from your original DOS diskette. Use the diskcopy command to
  2691.     copy the DOS diskette to a new diskette. Delete all files on this
  2692.     diskette, except the two hidden system files and command.com.
  2693.     Copy all TbScan files to the diskette. Make a new autoexec.bat file
  2694.     which should contain the line "TbScan C:\".  Write protect the
  2695.     diskette with the write protect tab.
  2696.  
  2697.     The following scan sessions (listed in order of importance) are
  2698.     recommended:
  2699.  
  2700.     -   Run TbScan once a week without the -analyze and without the
  2701.         -quick option from A WRITE PROTECTED BOOTABLE DISKETTE. Boot
  2702.         from this diskette before invoking the scanner. We agree that
  2703.         it is awfull to boot from a diskette, but it is the only way to
  2704.         be sure that no stealth virus is resident in memory.
  2705.  
  2706.     -   It is recommended to invoke a daily scan without the -quick and
  2707.         without the -analyze option. You can invoke TbScan with the
  2708.         -once option from within the autoexec.bat file to perform the
  2709.         daily scan session automatically.  It is not necessary to boot
  2710.         from the bootable TbScan diskette to perform the daily scan.
  2711.  
  2712.     -   You can optionally run TbScan with the -quick option after the
  2713.         lunch.
  2714.  
  2715.     -   It is recommended to use the -analyze option once a month. Note
  2716.         that this option disables disassembly and algorithmic search,
  2717.         so it should not be used on every scan session.
  2718.  
  2719.     The -sector and the -mutant option should never be used in a normal
  2720.     scan session but only when you expect the system to have a virus.
  2721.  
  2722.  
  2723.   6.7.  Extensions to the format of the data file
  2724.  
  2725.  
  2726.  
  2727.  
  2728.                                     Page 43
  2729.  
  2730.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2731.  
  2732.  
  2733.     There are some other scanners which understand the data file format
  2734.     of TbScan. Some of these scanners understand certain extensions
  2735.     of the data file which can be considered really weird, and we will
  2736.     not implement them. These extensions include special signatures for
  2737.     upper memory, overlay files, and numerous specific confusing
  2738.     filename extensions, different keywords for the same items, and
  2739.     XOR-decryption directives.  TbScan scans the upper memory for
  2740.     LOW-type viruses (since any LOW-type TSR can be loaded in upper
  2741.     memory with DOS 5.0), overlay files for EXE-type viruses (since
  2742.     overlays are just a special kind of EXE file), and XOR decryptions
  2743.     can be performed better from within AVR modules.
  2744.  
  2745.  
  2746.   6.8.  Compressed files
  2747.  
  2748.     Many executable files are compressed or packed. They contain an
  2749.     unpack routine which unpacks the executable in memory to the
  2750.     original program image. The simplest compressor is the Microsoft
  2751.     ExePack program. This compressor is even included in the link
  2752.     program itself (use the /E option while linking to pack the
  2753.     executable), so it isn't surprising that many files are compressed.
  2754.  
  2755.     Many programs have been compressed afterwards. If the program
  2756.     contained a virus the virus has been compressed too. The virus will
  2757.     still be able to execute, but a scanner will no longer recognize
  2758.     the virus because the signature is compressed too.
  2759.  
  2760.     Note that if the file becomes infected after it has been compressed
  2761.     the virus is not compressed and will be visible as usual. The
  2762.     problem only exists when a file has been infected first and
  2763.     compressed afterwards.
  2764.  
  2765.     However, you can consider this as a minor problem, since files are
  2766.     often compressed by the programmer of the product, and most
  2767.     programmers are aware of the existence of viruses. If the
  2768.     programmer did not compress the file, well, then the file is not
  2769.     compressed and the problem does not exist at all. At least, if you
  2770.     obtain the original version of a program. If you obtain a "copy
  2771.     from a copy, i.e. an illegal copy", well, one of the previous
  2772.     "owners" of the product might have compressed the file, and then
  2773.     you are in trouble.
  2774.  
  2775.     Anyway, if you have a virus inside a compressed file, the virus
  2776.     itself might not be visible on that file, but the other files that
  2777.     will be infected by this virus will carry the virus as usual, hence
  2778.     the signature will be visible for all the newly infected files. So,
  2779.     if you have a virus inside a compressed file, the scanner will
  2780.     still detect the presence of the virus on all other programs,
  2781.     except for the compressed file that brought the virus into your
  2782.     system.
  2783.  
  2784.     TbScan displays a "p" behind every file that might have been
  2785.  
  2786.  
  2787.  
  2788.                                     Page 44
  2789.  
  2790.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2791.  
  2792.  
  2793.     compressed with ExePack or any other compressor. TbScan does not
  2794.     unpack files, since too many files are compressed, and
  2795.     uncompressing every file would only be possible for a limited
  2796.     number of compression schemes, would be very time consuming, and
  2797.     last but not least not necessary. Once a compressed file has proved
  2798.     itself to contain not a virus, it will not be possible for the file
  2799.     to get infected internally afterwards. It makes no sense to unpack
  2800.     these files every time. If there isn't a virus the first time,
  2801.     there isn't one at subsequent times.
  2802.  
  2803.  
  2804.   6.9.  Other products
  2805.  
  2806.     A virus scanner is just one of the tools that are available to
  2807.     defend your system against viruses. Other products that might help
  2808.     you in your battle against viruses are:
  2809.  
  2810.     -   Checksummers.
  2811.         Calculating a cryptographic checksum (or CRC) of every file and
  2812.         comparing it with previously recorded information may tell you
  2813.         whether a file has been changed since the last checksum event.
  2814.         Keep in mind however that checksum programs work only reliable
  2815.         if the system is not infected while the initial checksum
  2816.         calculation is performed. Note also that no checksum program is
  2817.         able to detect stealth viruses, except if you boot from a clean
  2818.         write protected diskette before performing the checksum
  2819.         calculations.  Note also that it is normal that some
  2820.         executables change, they might store configuration information
  2821.         inside the executable itself.  It is up to the user to
  2822.         interpret the information of the checksummer.  Checksummers
  2823.         should only be used as an indication, but you can never rely on
  2824.         them. They have a high false positive rate, and also a high
  2825.         false negative rate. They can however be a handy additional
  2826.         tool.
  2827.  
  2828.     -   Memory resident scanners.
  2829.         Scanning a system should be performed often. However, if you
  2830.         extract a file from an archive, or download a file, or just
  2831.         copy a file from a diskette, you should re-invoke your scanner
  2832.         to check whether you brought a virus in your system. This is
  2833.         tedious, and not many people have the discipline to do this
  2834.         every time.  A resident scanner that automatically scans every
  2835.         file being created or modified on your system will be a
  2836.         valuable additional tool. Most resident scanners however
  2837.         consume much of your precious memory and slow down system
  2838.         performance. A resident scanner you might consider is TbScanX.
  2839.         It does not use much memory if you configure it to utilize
  2840.         expanded or unused video memory, and it performs very fast.
  2841.  
  2842.     -   Virus removal utilities.
  2843.         Virus removal utilities (also called cleaner software) can be
  2844.         used after a file has been infected, to separate the virus from
  2845.  
  2846.  
  2847.  
  2848.                                     Page 45
  2849.  
  2850.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2851.  
  2852.  
  2853.         the file.  Although the removal utilities are very populair we
  2854.         don't recommend to use them. You better restore the original
  2855.         files in case of infection. If you still don't have any backup,
  2856.         make it NOW! There are many viruses that look like known
  2857.         viruses but in fact they are a slightly different virus (a
  2858.         mutant). The removal utility might not recognise the virus as
  2859.         being a mutant, and the utility removes too many or too less
  2860.         bytes, causing all executables to get damaged inreversible.
  2861.  
  2862.     -   Memory resident monitoring software.
  2863.         It is possible to install software that monitors all DOS and
  2864.         BIOS activity and traps attempts to modify exectuable files,
  2865.         attempts to install TSR's, attempts to modify bootsectors, etc.
  2866.         Although these systems can be very reliable, it is always
  2867.         possible to bypass software with software. Keep also in mind
  2868.         that the protection software has to be in memory before any
  2869.         virus. This is possible for TSR type viruses, but bootsector
  2870.         viruses install themself in memory before any protection
  2871.         software can be loaded. And if the virus is in memory before
  2872.         the protection software, the virus can reroute all interrupts
  2873.         and the protection software will not be able to detect anything
  2874.         suspicious. Another disadvantage is that resident monitoring
  2875.         software consumes a lot of you precious memory.
  2876.  
  2877.     -   Hardware immunizers.
  2878.         Hardware immunizers are the best possible solution. They don't
  2879.         consume much memory, are guaranteed to be first in memory, they
  2880.         are even active before the machine tries to boot and they can
  2881.         not be bypassed. A disadvantage is that installing such a
  2882.         device is more difficult compared to other anti-virus tools,
  2883.         and requires a free expansion slot.
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.                                     Page 46
  2909.  
  2910.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2911.  
  2912.  
  2913. 7.  MISCELLANOUS INFORMATION
  2914.  
  2915.  
  2916.   7.1.  Distribution of the signature file
  2917.  
  2918.     The signature file (VIRSCAN.DAT) is updated every month. It will be
  2919.     distributed in an archive named VSIGYY##.ZIP (YY = Year, ## =
  2920.     release sequence number). Emergency updates are released in a file
  2921.     named ADDNSIGS.DAT which will be distributed in an archive named
  2922.     ASIGYY##.ZIP (YY = Year, ## = release sequence number).
  2923.  
  2924.     Most Bulletin Board Systems get a fresh copy of these files within
  2925.     48 hours after the Master Copy on Bamestra BBS is updated.
  2926.  
  2927.  
  2928.   7.2.  Notes
  2929.  
  2930.     Some people use a shell or batch file to extract a file from an
  2931.     archive and use TbScan to scan a file immediately. This works fine,
  2932.     except when you have a non-write-through disk cacher. In this case
  2933.     the just created file might not be written to the disk yet, and
  2934.     TbScan will not find the file because it bypasses the disk cacher.
  2935.     If this applies to you, write the files to a ramdisk, or use the
  2936.     -compat switch or flush the cacher before invoking TbScan.
  2937.  
  2938.  
  2939.   7.3.  The TbScan.Sys driver
  2940.  
  2941.     TbScan tries to bypass disk cachers and viruses, and it performs
  2942.     direct calls into the BIOS code. In some circumstances however this
  2943.     can cause problems. Although the -compat option always solves these
  2944.     problems it also decreases the scan speed.  Most of the
  2945.     compatibility problems can be solved without the -compat option if
  2946.     you install the device driver TbScan.Sys.
  2947.  
  2948.     System configurations causing problems that can be solved by
  2949.     TbScan.Sys are:
  2950.         -   Hard disks requiring a special device driver to operate.
  2951.         -   80386 based systems running in V86 mode (Qemm, Windows),
  2952.             equipped with a harddisk controller that requires a
  2953.             transfer buffer in conventional memory. These systems
  2954.             always have some kind of device driver that provides the
  2955.             buffering service, or the Qemm DiskBuff option is used.
  2956.  
  2957.     To solve the problem install TbScan.Sys into the Config.Sys file
  2958.     AFTER the hard disk device driver and/or memory manager, but BEFORE
  2959.     a disk cacher.  TbScan.Sys uses only 64 bytes, and it can be loaded
  2960.     high.
  2961.  
  2962.  
  2963.   7.4.  Exit codes
  2964.  
  2965.  
  2966.  
  2967.  
  2968.                                     Page 47
  2969.  
  2970.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  2971.  
  2972.  
  2973.     TbScan terminates with one of the following exit codes:
  2974.         Errorlevel 0:           no viruses found, no error occured.
  2975.         Errorlevel 1:           some error occured.
  2976.         Errorlevel 255:         sanity check failed.
  2977.         Errorlevel >1 and <128: one or more viruses detected.
  2978.                 When a virus is detected the errorlevel is used as a
  2979.                 bit field:
  2980.                         bit 1 (02)      SYS file infected.
  2981.                         bit 2 (04)      EXE file infected.
  2982.                         bit 3 (08)      COM file infected.
  2983.                         bit 4 (16)      virus found in LOW memory.
  2984.                         bit 5 (32)      virus found in BOOTsector.
  2985.                         bit 6 (64)      virus found in HIGH memory.
  2986.  
  2987.     An errorlevel of 26 means that a SYS, COM and LOW virus is found
  2988.     (26 = 02+08+16).
  2989.  
  2990.  
  2991.   7.5.  Updates
  2992.  
  2993.     If you use TbScan you will need updates of the data file. Depending
  2994.     on the appearance of new viruses, new signatures will be added. You
  2995.     can obtain the most recent data file on the Thunderbyte support
  2996.     Bulletin Board System and many other independent BBS's. The name of
  2997.     the file you should look for is VIRUSSIG.ZIP or TBVIRSIG.ZIP. On
  2998.     the same BBS systems you can also find the most recent update of
  2999.     the TbScan program. For a list of Bulletin Board System phone
  3000.     numbers you should consult chapter 9.
  3001.  
  3002.  
  3003.   7.6.  Thanks
  3004.  
  3005.     TbScan would not have been evolved to its current state without
  3006.     the contribution of numerous of peoples. Special thanks to:
  3007.  
  3008.     Jan Terpstra, for maintaining the signature file.
  3009.  
  3010.     Righard Zwienenberg, for testing TbScan on over 20Mb of viruses.
  3011.  
  3012.     John Lots, for beta-testing and technical advices.
  3013.  
  3014.     Alan Solomon, for testing and discovery of a FCB problem.
  3015.  
  3016.     Harry Thijssen, for stimulating the speed competition.
  3017.  
  3018.     Robin Bijland, for advisory of the user interface and manual.
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.                                     Page 48
  3029.  
  3030.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  3031.  
  3032.  
  3033. 8.  OUR OTHER PRODUCTS
  3034.  
  3035.  
  3036.   8.1.  TbScanX
  3037.  
  3038.     There is also a (shareware) memory resident version of TbScan
  3039.     available with the name TbScanX. This version remains resident in
  3040.     memory and automatically scans every file immediately when it is
  3041.     going to be executed, copied, unarchieved, downloaded, etc.
  3042.  
  3043.     TbScanX performs even faster compared to TbScan, and uses not much
  3044.     memory. It is even possible to reduce the memory requirements of
  3045.     TbScanX to zero! TbScanX is by example able to make use of unused
  3046.     video-memory.
  3047.  
  3048.     TbScanX is available on many BBSses. It is of course also available
  3049.     at any Thunderbyte support BBS. At the end of this document you can
  3050.     find some phone numbers.
  3051.  
  3052.  
  3053.   8.2.  TbRescue
  3054.  
  3055.     Some viruses copy themself on the partition table of the hard disk.
  3056.     Unlike bootsector viruses, they are hard to remove. The only
  3057.     solution is to low-level the hard disk and to make a new partition
  3058.     table.
  3059.  
  3060.     TbRescue makes a backup of the partition table and bootsector, and
  3061.     this backup can be used to compare and restore the original
  3062.     partition table and bootsector once they are infected. You don't
  3063.     have to format your disk anymore. The program can also restore the
  3064.     CMOS configuration.
  3065.  
  3066.     If you don't have a backup of your partition table, TbRescue will
  3067.     try to create a new partition table, avoiding the need of a
  3068.     low-level format.
  3069.  
  3070.     Another important feature is that you can use TbRescue to replace
  3071.     the partition table code by code that is more resistant against
  3072.     viruses. The TbRescue partition code will be executed before the
  3073.     bootsector gains control, so it is able to check the bootsector in
  3074.     a clean environment. Once the bootsector is executed it is
  3075.     difficult to check it, because the virus is already resident in
  3076.     memory and can fool every protection. Instead of booting from a
  3077.     clean DOS diskette just to inspect the bootsector, the TbRescue
  3078.     partition code performs a CRC calculation on the bootsector just
  3079.     before control is passed to it. If the bootsector has been modified
  3080.     the Tbrescue partition code will warn you about this. The Tbrescue
  3081.     partition code also checks the RAM layout and informs you when it
  3082.     is changed. It does this every time you boot from your hard disk.
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.                                     Page 49
  3089.  
  3090.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  3091.  
  3092.  
  3093.   8.3.  Thunderbyte
  3094.  
  3095.     Thunderbyte was developed to protect Personal Computers against
  3096.     computer viruses, Trojan Horses and other threats to valuable data.
  3097.     It is a hardware protection, consisting of an adapter card, an
  3098.     installation and configuration program and a clear manual. The
  3099.     working of Thunderbyte is not based on knowledge of specific
  3100.     viruses, so Thunderbyte also protects against future viruses.
  3101.  
  3102.     A hardware protection offers much more protection than a software
  3103.     protection.  Thunderbyte is already active before the operating
  3104.     system is loaded, so the computer will be totally protected right
  3105.     after the starting of the PC.
  3106.  
  3107.     Because of the many configuration possibilities and the intelligent
  3108.     algorithms, the use of Thunderbyte will never become a burden: you
  3109.     will hardly notice the presence of Thunderbyte in an environment
  3110.     without any viruses.
  3111.  
  3112.     Of course Thunderbyte is Windows compatible and can be used in
  3113.     Local Area Networks.
  3114.  
  3115.     Advantages of a hardware protection:
  3116.  
  3117.     +   The protection uses very little (1Kb) RAM
  3118.  
  3119.     +   The protection is already active before the first boot attempt
  3120.         of the PC, and therefore protects also against bootsector
  3121.         viruses.  A software protection can not protect you against
  3122.         bootsector viruses, since it has not been executed at boot
  3123.         time.
  3124.  
  3125.     +   The hard disks can not be accessed directly anymore, because
  3126.         Thunderbyte is connected to the hard disk cable.
  3127.  
  3128.     +   It is impossible to forget to start Thunderbyte, even if the
  3129.         machine is booting with a diskette.
  3130.  
  3131.     Thunderbyte offers you many kinds of protection:
  3132.  
  3133.     +   Protection against loss of data.
  3134.  
  3135.         Thunderbyte is connected between the cable of the hard disk and
  3136.         the controller. It prevents the hard disk from being accessed
  3137.         directly. The only way to access the drive from now on is by
  3138.         using interrupt 13h.
  3139.  
  3140.         In addition Thunderbyte detects all direct disk writes which
  3141.         try to achieve a modification or damage of the data and it
  3142.         checks which program orders the execution of such operations.
  3143.         Only the operating system can preform these operations
  3144.         without Thunderbyte interception.
  3145.  
  3146.  
  3147.  
  3148.                                     Page 50
  3149.  
  3150.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  3151.  
  3152.  
  3153.         DOS already has the possibility of protecting files against
  3154.         overwriting and modification by means of the read only
  3155.         attribute.  However, this protection can be very easily
  3156.         eliminated by software. Thunderbyte prevents this protection
  3157.         from being ruled out without this being noticed, so now it is
  3158.         possible to protect your files effectively via a standard DOS
  3159.         command.
  3160.  
  3161.     +   Protection against infection.
  3162.  
  3163.         Thunderbyte protects programs (files with the extension EXE,
  3164.         COM or SYS) against infection by judging all modifications on
  3165.         their intention.  The functionality is not influenced by this.
  3166.         Compiling, linking, etc., are not disturbed and neither are
  3167.         programs that save their configuration internally.
  3168.         Furthermore, software can be protected via the aforementioned
  3169.         read only attribute.
  3170.  
  3171.         Attempts to modify the bootsector of the disk are detected, so
  3172.         the dreaded bootsector viruses are also eliminated. Keep in
  3173.         mind that the bootsector can hardly be protected by software.
  3174.         Only Thunderbyte already becomes active before the system tries
  3175.         to boot!
  3176.  
  3177.     +   Detection of viruses.
  3178.  
  3179.         In addition to the abovementioned ways of detecting the
  3180.         presence of viruses, Thunderbyte can also do so because viruses
  3181.         carry out a number of special operations. For example, the
  3182.         marking of already infected programs in order to recognize
  3183.         them, is detected by Thunderbyte.  So are the attempts of
  3184.         viruses to reside in the memory in a suspicious way and the
  3185.         abnormal manipulations with interrupt vectors.
  3186.  
  3187.     +   Password protection.
  3188.  
  3189.         Thunderbyte has the possibility of installing a password.
  3190.         There are two kinds of passwords: one that is always asked for
  3191.         or one that you only have to enter when attempts are made to
  3192.         start from a diskette instead of the hard disk.
  3193.  
  3194.     +   Safety.
  3195.  
  3196.         A lot of attention has been paid to the safety of Thunderbyte
  3197.         The program code of Thunderbyte is located in ROM and there is
  3198.         no way it can be modified.
  3199.  
  3200.         There is not one method of eliminating Thunderbyte through
  3201.         software. All the important settings are realized with the help
  3202.         of dipswitches on the adapter card.  And despite all their
  3203.         wasted intelligence, viruses will never be able to turn
  3204.         switches or to influence their read outs.
  3205.  
  3206.  
  3207.  
  3208.                                     Page 51
  3209.  
  3210.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  3211.  
  3212.  
  3213.         Viruses that approach the controller of the hard disk directly
  3214.         will have a rude awakening:  Thunderbyte will only pass disk
  3215.         writes when the write or format command has followed the normal
  3216.         (checked) course.
  3217.  
  3218.         There are a lot of different versions of Thunderbyte
  3219.         (functioning identically however) that are supplied randomly.
  3220.         Therefore is knowledge of the internal working of only one
  3221.         Thunderbyte system not sufficient to damage or destroy its
  3222.         protective working.
  3223.  
  3224.         Thunderbyte is constantly checking its own variables with a
  3225.         checksum different for each version.  The locations of the
  3226.         memory where the variables are maintained are also different
  3227.         for each version.
  3228.  
  3229.     +   Extra possibilities.
  3230.  
  3231.         Thunderbyte offers you some interesting bonuses, like booting
  3232.         from drive B:.
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.                                     Page 52
  3269.  
  3270.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  3271.  
  3272.  
  3273. 9.  NAMES AND ADDRESSES
  3274.  
  3275.  
  3276.   9.1.  Contacting the author.
  3277.  
  3278.     TbScan is written by Frans Veldman. You can leave messages on the
  3279.     Dutch support BBS. Registered users can also phone ESaSS for
  3280.     technical support. To register, see the file Register.Doc.
  3281.  
  3282.  
  3283.   9.2.  ESaSS
  3284.  
  3285.     For more information about Thunderbyte you can contact:
  3286.  
  3287.     ESaSS B.V.                          Tel:  + 31 - 80 - 787 881
  3288.     P.o. box 1380                       Fax:  + 31 - 80 - 789 186
  3289.     6501 BJ  Nijmegen                   Data: + 31 - 85 - 212 395
  3290.     The Netherlands                         (2:280/200 @fidonet)
  3291.  
  3292.  
  3293.   9.3.  Thunderbyte support BBS's.
  3294.  
  3295.     TbScan, TbScanX and the signature files (TbVirSig) are available on
  3296.     Thunderbyte support BBS's:
  3297.  
  3298.     Thunderbyte headquarters in the Netherlands:       +31- 85- 212 395
  3299.     (2:280/200 @fidonet)
  3300.  
  3301.     Thunderbyte support Germany (Androtec):            +49- 2381- 461565
  3302.     (2:245/50 @fidonet)
  3303.  
  3304.     Thunderbyte support Italy/S.Marino/Vaticano/Malta: +39- 766- 540 899
  3305.     (2:335/5 @fidonet)
  3306.  
  3307.     Thunderbyte support Australia (Calmer):            +61- 2- 482- 1716
  3308.  
  3309.  
  3310.     If you are running an electronic mail system, you can also
  3311.     file-request TBSCAN to get the latest version of TBSCAN.EXE,
  3312.     TBSCANX to get the resident automatic version of TBSCANX, and
  3313.     VIRUSSIG to obtain a copy of the latest update of the signature
  3314.     file.
  3315.  
  3316.  
  3317.   9.4.  Recommended magazines and organisations.
  3318.  
  3319.     Virus Bulletin.
  3320.     Virus Bulletin Ltd.
  3321.     21 The Quadrant, Abingdon Science Park, Oxon, OX14 3YS, England.
  3322.     Tel. +44-235-555139.
  3323.  
  3324.  
  3325.  
  3326.  
  3327.  
  3328.                                     Page 53
  3329.  
  3330.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  3331.  
  3332.  
  3333.     National Computer Security Association.
  3334.     227 West Main Street.
  3335.     Mechanicsburg, PA 17055, United States.
  3336.     Tel. +1-717-258-1816
  3337.  
  3338.  
  3339.     Virus News International.
  3340.     Berkley court, Millstreet, Berkhamsted, Hertfordshire, HP4 2HB,
  3341.     England.
  3342.     Tel. +44-442-877877.
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.  
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.  
  3373.  
  3374.  
  3375.  
  3376.  
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.                                     Page 54
  3389.  
  3390.  Thunderbyte virus detector v3.3 (C) Copyright 1989-1992 ESaSS B.V.
  3391.  
  3392.  
  3393.  
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.                                     Page 55