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