home *** CD-ROM | disk | FTP | other *** search
/ Best Objectech Shareware Selections / UNTITLED.iso / boss / util / viru / 007 / htscan.doc < prev    next >
Encoding:
Text File  |  1993-04-21  |  49.7 KB  |  1,441 lines

  1. ----------------------------------------------------------------------------
  2. HTScan                     Version 1.20                        Date 22-04-93
  3.                                              (C) 1990-1993 by Harry Thijssen
  4. ----------------------------------------------------------------------------
  5.  
  6.                               CONTENTS
  7.  
  8.     1.  INTRODUCTION....................................................  1
  9.         1.1.  Purpose of HTSCAN.........................................  1
  10.         1.2.  A quick start.............................................  1
  11.         1.3.  Benefits..................................................  2
  12.               1.3.1.  Flexibility.......................................  2
  13.               1.3.2.  Reliability.......................................  2
  14.               1.3.3.  Future use and speed..............................  2
  15.               1.3.4.  DOS 5.x and Upper-Memory-Blocks...................  2
  16.               1.3.5.  Security..........................................  2
  17.  
  18.     2.  USAGE...........................................................  3
  19.         2.1.  Syntax....................................................  3
  20.               2.1.1.  Drive and path....................................  3
  21.               2.1.2.  Options...........................................  3
  22.               2.1.3.  Advanced options..................................  4
  23.               2.1.4.  Explanation of some options.......................  5
  24.         2.2.  Exit Codes................................................  5
  25.         2.3.  Configuration file........................................  6
  26.         2.4.  Message file..............................................  6
  27.         2.5.  Residence of HTSCAN.EXE...................................  6
  28.         2.6.  Residence of the signature lists..........................  6
  29.  
  30.                                      - ii -
  31.  
  32.  
  33.     3.  SIGNATURE FILES.................................................  7
  34.         3.1.  VIRSCAN.DAT file..........................................  7
  35.               3.1.1.  Signature format..................................  7
  36.               3.1.2.  Recommended usage.................................  7
  37.               3.1.3.  Checksum..........................................  7
  38.               3.1.4.  Where to find VIRSCAN.DAT.........................  7
  39.         3.2.  ADDNSIGS.DAT file.........................................  8
  40.               3.2.1.  Signature format..................................  8
  41.               3.2.2.  Recommended usage.................................  8
  42.               3.2.3.  Where to find ADDNSIGS.DAT........................  8
  43.         3.3.  AVR modules...............................................  9
  44.               3.3.1.  AVR format........................................  9
  45.               3.3.2.  Recommended usage.................................  9
  46.               3.3.3.  Where to find AVR modules.........................  9
  47.         3.4.  COMPRSCA.DAT..............................................  9
  48.               3.4.1.  Signature format..................................  9
  49.               3.4.2.  Recommended usage.................................  9
  50.               3.4.3.  Where to find COMPRSCA.DAT........................  9
  51.         3.5. HTSCAN.DAT file............................................ 10
  52.               3.5.1. Signature format................................... 10
  53.               3.5.2. Recommended usage.................................. 10
  54.         3.6. HTTROJAN.DAT file.......................................... 10
  55.               3.6.1. Signature format................................... 10
  56.               3.6.2. Recommended usage.................................. 10
  57.               3.6.3. Where to find HTTROJAN.DAT......................... 10
  58.         3.7. VIRUSBUL.DAT file.......................................... 11
  59.               3.7.1. Signature format................................... 11
  60.               3.7.2. Recommended usage.................................. 11
  61.         3.8. MCAFEE.DAT file............................................ 11
  62.               3.8.1. Signature format................................... 11
  63.               3.8.2. Recommended usage.................................. 11
  64.  
  65.     4.  MESSAGES........................................................ 12
  66.         4.1.  Virus in memory........................................... 12
  67.         4.2.  Compressed files.......................................... 12
  68.         4.3.  Invalid date/time......................................... 13
  69.         4.4.  EXE/COM extension exchanged............................... 13
  70.         4.5.  Unusual values in boot-sector............................. 13
  71.  
  72.                                     - iii -                                 
  73.  
  74.  
  75.     5.  TIPS............................................................ 14
  76.         5.1.  Running HTSCAN............................................ 14
  77.         5.2.  Routine scanning and /A................................... 14
  78.         5.3.  Scanning when probably infected........................... 14
  79.         5.4.  Compressed files and scanning from a .BAT file............ 14
  80.         5.5.  Backups................................................... 14
  81.  
  82.     6.  WHAT TO DO IF YOU FIND A VIRUS?................................. 15
  83.         6.1.  Recommended approach...................................... 15
  84.         6.2.  If you don't have a backup and it is a known virus........ 15
  85.         6.3.  If you don't have a backup and it is an unknown virus..... 16
  86.  
  87.     7.  HOW TO PREVENT A VIRUS INFECTION?............................... 17
  88.  
  89.     8.  LICENSES........................................................ 17
  90.  
  91.     9.  DISCLAIMER...................................................... 17
  92.  
  93.    10.  MISCELLANEOUS INFORMATION....................................... 18
  94.         10.1.  Requirements............................................. 18
  95.         10.2.  Copyrights and trademarks................................ 18
  96.         10.3.  New versions............................................. 18
  97.         10.4.  Questions, suggestions or problems....................... 18
  98.         10.5.  Translations............................................. 19
  99.         10.6.  Thanks................................................... 19
  100.  
  101.  
  102.    APPENDICES
  103.  
  104.     I.   APPENDIX A. Signature file formats............................. 20
  105.          A.1.  VIRSCAN format........................................... 20
  106.          A.2.  HTSCAN format............................................ 21
  107.          A.3.  VIRUSBUL format.......................................... 24
  108.          A.4.  MCAFEE format............................................ 25
  109.          A.5.  Switches in the signature files.......................... 25
  110.     II.  APPENDIX B. Examples of HTSCAN style signatures................ 26
  111.     III. APPENDIX C. Examples of invoking HTSCAN........................ 27
  112.     IV.  APPENDIX D. Addresses for experienced help..................... 28
  113.          D.1.  If you have access to a modem............................ 28
  114.          D.2.  If you don't have access to a modem...................... 28
  115.     V.   APPENDIX E. Example batch file................................. 29
  116.  
  117.                                      - 1 -
  118.  
  119.  
  120. 1.  INTRODUCTION
  121.  
  122. 1.1.  Purpose of HTSCAN
  123.  
  124.   HTSCAN is a user programmable virus-scanner. It is designed to
  125.   detect and identify known viruses within files, boot-sectors,
  126.   main-boot-record(s) (partition-tables) and memory. You can use HTSCAN for 
  127.   scanning all your floppy-disks, hard-disks and network-drives.
  128.  
  129.  
  130. 1.2.  A quick start
  131.  
  132.   First of all, the master rules when dealing with viruses:
  133.  
  134.   - Cold-boot the machine to be scanned from a clean write-protected
  135.     floppy-disk. Control-Alt-Del is not enough!
  136.  
  137.   - Run HTSCAN from a write-protected floppy-disk after cold-booting
  138.     your PC, before starting any other program!
  139.  
  140.  
  141.   For a quick start, place HTSCAN.EXE, HTSCAN.OVR, HTSCAN.LNG, *.AVR, 
  142.   VIRSCAN.DAT and/or HTSCAN.DAT and/or VIRUSBUL.DAT on a clean system-
  143.   diskette. Make the floppy-disk write-protected. (5,25 place a tab over
  144.   the notch on the right side, 3.5 inch open the little hole by sliding away 
  145.   the tab) Now you can boot the  PC you want to scan from this floppy-disk and 
  146.   start HTSCAN with: 
  147.  
  148.       HTSCAN A:\
  149.  
  150.     if the floppy with HTSCAN is in drive A: or:
  151.  
  152.       HTSCAN B:\
  153.  
  154.     if the floppy with HTSCAN is in drive B:.
  155.  
  156.   If HTSCAN doesn't report any infections, you may scan your disk(s)
  157.   with:
  158.  
  159.     HTSCAN C:\
  160.  
  161.   or
  162.  
  163.     HTSCAN C:\ D:\
  164.  
  165.   etc.
  166.  
  167.                                      - 2 -
  168.  
  169.  
  170. 1.3.  Benefits
  171.  
  172. 1.3.1.  Flexibility
  173.  
  174.   HTSCAN is a flexible programmable virus-scanner. It uses the text files
  175.   VIRSCAN.DAT, HTSCAN.DAT, HTTROJAN.DAT, VIRUSBUL.DAT and MCAFEE.DAT as
  176.   signature lists. If a new virus is detected, all you have to do is adding
  177.   its signature to one of the signature lists. Several types of wildcards
  178.   in the scan-strings of the signatures are supported.
  179.  
  180.  
  181. 1.3.2.  Reliability
  182.  
  183.   Reliability was, and still is, a major goal for HTSCAN. For this reason
  184.   HTSCAN scans the whole file starting with the first byte, ending with the
  185.   last. No trick is used to reduce the number of bytes to scan.
  186.  
  187.  
  188. 1.3.3.  Future use and speed
  189.  
  190.   HTSCAN is designed to scan for a large amount of virus signatures in the
  191.   future. The only limit is the amount of free memory and will be reached
  192.   with about 4000 virus-signatures. Because of its design, HTSCAN will
  193.   not slow down significantly when scanning for such large number of
  194.   viruses. In fact it doesn't matter if you scan an item, e.g. *.COM, for 1
  195.   or 100 viruses.
  196.  
  197.  
  198. 1.3.4.  DOS 5.x and Upper-Memory-Blocks
  199.  
  200.   Since DOS 5.x has been released, the Upper-Memory-Blocks and the
  201.   High-dos-Memory-Area can be addressed with standard software. One of the
  202.   negative side-effects is that a resident virus now may become resident
  203.   within these memory parts. Of course HTScan fully supports the scanning
  204.   of these areas.
  205.  
  206.  
  207. 1.3.5.  Security
  208.  
  209.   HTSCAN will do a self-test with every startup to be sure HTSCAN is not
  210.   altered. If it is altered, it will give a message and aborts.
  211.   Although this is a benefit, realize that you can't scan your system with
  212.   HTSCAN to know which virus causes the trouble after HTSCAN is got
  213.   infected. So be sure to have at least a copy on a write-protected
  214.   floppy-disk.
  215.  
  216.                                      - 3 -
  217.  
  218.  
  219. 2.  USAGE
  220.  
  221. 2.1.  Syntax
  222.  
  223.   The call is:
  224.  
  225.     HTSCAN [@]<path>...  [option]...
  226.   or
  227.     HTSCAN [&]<drive>[..<drive>]  [option]...
  228.  
  229.  
  230. 2.1.1.  Drive and path
  231.  
  232.     Path:
  233.           disk
  234.             or
  235.           disk and path
  236.             or
  237.           disk, path and filename
  238.             or
  239.           @filename
  240.  
  241.       When the filename is preceded with a "@", it is a listfile with the
  242.       names of files, directories or drives to scan.
  243.       When the drive name is preceded with a "&", this means scan all
  244.       drives starting with the named drive and, when specified, ending with
  245.       the drive specified after the "..". When no ending drive is specified, 
  246.       HTSCAN will scan all drives starting with the specified one.
  247.       (On some networks "&" will do nothing.)
  248.       See appendix C for examples.
  249.  
  250.  
  251. 2.1.2.  Options
  252.  
  253.      /A              ; Scan all files for all file-viruses
  254.      /B-             ; Don't beep when an infection is found
  255.      /B+             ; Beep when an infection is found (default)
  256.      /C[=]<cfg-file> ; Use the specified configuration file
  257.      /D              ; Delete/rename infected files
  258.                      ; (HTSCAN will prompt before deleting/renaming)
  259.      /I              ; License info
  260.      /R              ; Rename infected files
  261.                      ; (HTSCAN will prompt you before renaming)
  262.      /M              ; Scan all memory for all viruses
  263.      /M-             ; Don't scan memory for viruses
  264.      /M+             ; Scan all memory for all viruses (same as /M)
  265.      /N              ; Do not include sub-directories
  266.      /O[=]<log-file> ; Write logging to the specified file
  267.      /O+<log-file>   ; Append logging to the specified file
  268.      /P-             ; Don't prompt before scrolling the screen
  269.      /P+             ; Prompt before scrolling the screen
  270.                      ; (default when /O is not used)
  271.      /Q              ; Quiet mode, don't display filenames
  272.      /Q+             ; Semi quiet mode, display only directory names
  273.  
  274.                                      - 4 -
  275.  
  276.  
  277.      /S              ; Skip boot-record(s)
  278.      /U-             ; Don't scan upper memory blocks for viruses
  279.      /U+             ; Scan upper memory blocks for all resident viruses
  280.                      ; (default when DOS 5.x or QEMM is used)
  281.      /V[=]<sig. list>; Use the specified virus-signature list or directory
  282.      /W-             ; Don't warn when compressed/self-extracting files found
  283.      /X              ; Scan multiple floppies
  284.  
  285.  
  286. 2.1.3.  Advanced options
  287.  
  288.      Miscellaneous
  289.  
  290.      /$F             ; Display info on infected files. (Date/Time/Size)
  291.      /$L-            ; Don't write warnings to the log-file.
  292.      /$M=<directory> ; Specifies where infected files should be moved to
  293.      /$U             ; Run unattended. 
  294.                      ; Don't prompt for renaming, deleting and moving files
  295.      /$USlow         ; Slow down upper-memory scan to avoid hardware errors
  296.      /$W+            ; Use new errorlevel when ending the program (default)
  297.      /$W-            ; Use old errorlevel when ending the program
  298.      /$?             ; For help about the advanced options
  299.  
  300.      Screen related
  301.  
  302.      /$T=<n>         ; Preserve the top n lines for a shell program
  303.      /$B=<n>         ; Preserve the bottom n lines for a shell program
  304.  
  305.      Network related
  306.  
  307.      /$NOE           ; Suppress open-error messages
  308.  
  309.      Research related
  310.  
  311.      /$A             ; Display all scanned files. Whether infected or not.
  312.                      ; (in log-file only)
  313.      /$G             ; Scan for all boot-record viruses in COM and EXE files.
  314.                      ; If /A is used also, boot-record all files are scanned
  315.                      ; for boot-record viruses.
  316.      /$O             ; Display the offset where the scan-string is found
  317.                      ; (in log-file only)
  318.      /$X             ; Don't use the AVR modules
  319.      /$Z             ; Warn for compressed/sfx files on main screen
  320.  
  321.                                      - 5 -
  322.  
  323.  
  324. 2.1.4.  Explanation of some options
  325.  
  326.  /$USlow
  327.  
  328.   On some computers HTSCAN scans the upper-memory-blocks to fast for the
  329.   hardware. This may result in hardware-errors. With /$USLOW it is possible
  330.   to slow down the scanning of the upper-memory-blocks.
  331.  
  332.  
  333.  /$NOE
  334.  
  335.   A common problem on networks is the impossibility to open all files,
  336.   resulting in a large number of error messages. HTSCAN has the switch
  337.   /$NOE. (Which means -- No Open Error --)
  338.   /$NOE suppresses the error message generated by an attempt to open an
  339.   execute-only file, a busy file etc.
  340.  
  341.  
  342. 2.2.  Exit Codes
  343.  
  344.   Default or when /$W+ is used, HTSCAN will exit with the following
  345.   exit codes:
  346.  
  347.       0      : Normal termination, no viruses found.
  348.       1..49  : One or more warnings issued.
  349.      50..74  : Program interrupted by user.
  350.      75..99  : A program error occurred.
  351.     100..149 : Operator error.
  352.     150..174 : Error in signature-file.
  353.     175..199 : One or more trojans/jokes found.
  354.     200..255 : One or more viruses found.
  355.  
  356.    When /$W- is used, HTSCAN will exit with the following exit codes:
  357.  
  358.      0 : Normal termination, no viruses found
  359.      1 : One or more viruses found
  360.    > 1 : Abnormal termination (Error)
  361.  
  362.   Note: The default in this release is /$W+.
  363.         In earlier versions the default was /$W-.
  364.  
  365.                                      - 6 -
  366.  
  367.  
  368. 2.3.  Configuration file
  369.  
  370.   Using HTScan should be done frequently. Although the defaults switch-
  371.   settings are perfect for routine scanning, some people are always using
  372.   some command-line switches. For those, it is boring to enter these
  373.   switches over and over again. This is not necessary at all. It is
  374.   possible to place your own command-line switches in the file HTSCAN.CFG
  375.   in the current directory or in the same directory as HTSCAN.EXE. This
  376.   configuration file may contain all command-line options delimited by
  377.   spaces on the same line or you may place every option on a single line.
  378.   A switch used on the command-line will overrule the switch in the
  379.   configuration file. Have a look at HTSCAN.CFG in EXAMPLES.ZIP for an
  380.   example of HTSCAN.CFG.
  381.  
  382.  
  383. 2.4.  Message file
  384.  
  385.   In a company environment it is often useful if a scanner can produce 
  386.   a clear instruction in their native language. With HTSCAN it is possible 
  387.   to put such messages/instructions in the file HTSCAN.MSG. Different 
  388.   messages for different errorlevels are possible. Place HTSCAN.MSG in the 
  389.   current directory or the same directory as HTSCAN.EXE. The message 
  390.   corresponding to HTSCAN's errorlevel will be displayed when HTSCAN is 
  391.   ending. Have a look at HTSCAN.MSG in EXAMPLES.ZIP for an example of 
  392.   HTSCAN.MSG. 
  393.  
  394.  
  395. 2.5.  Residence of HTSCAN.EXE
  396.  
  397.   Like every other virus-fighter this program should be placed on a clean
  398.   write-protected floppy before using it. Boot from a clean write-protected
  399.   system-diskette and start HTSCAN. If you thinks it is awkward to use a
  400.   program from floppy-disk like this, I agree. Unfortunately this is the
  401.   only way to catch all viruses.
  402.  
  403.  
  404. 2.6.  Residence of the signature lists
  405.  
  406.   If /V is not used to give the virus-signature filename or the directory
  407.   where HTSCAN.DAT and/or VIRSCAN.DAT and/or VIRUSBUL.DAT can be found,
  408.   HTSCAN looks first on the current directory for a file named HTSCAN.DAT
  409.   and/or VIRSCAN.DAT and/or VIRUSBUL.DAT. If non is found, HTSCAN will look
  410.   for these files in the directory where HTSCAN.EXE resides. HTSCAN will
  411.   use all signature-files found in the same directory. E.g. if HTSCAN.DAT
  412.   and VIRSCAN.DAT both in the current directory, both files are used.
  413.  
  414.                                      - 7 -
  415.  
  416.  
  417. 3.  SIGNATURE FILES
  418.  
  419. 3.1.  VIRSCAN.DAT file
  420.  
  421. 3.1.1.  Signature format
  422.  
  423.   VIRSCAN.DAT uses by default the VIRSCAN format described in appendix A.1.
  424.  
  425.  
  426. 3.1.2.  Recommended usage
  427.  
  428.   I recommend to use the signature file VIRSCAN.DAT unmodified.
  429.   Collect your own signatures in the file HTSCAN.DAT.
  430.  
  431.  
  432. 3.1.3.  Checksum
  433.  
  434.   HTScan checks the checksum in VIRSCAN.DAT to detect unauthorized changes 
  435.   in VIRSCAN.DAT.
  436.  
  437.  
  438. 3.1.4.  Where to find VIRSCAN.DAT
  439.  
  440.     VIRSCAN.DAT contains a VERIFIED list of virus signatures. Several
  441.     Bulletin Boards over the world have a copy of this file available for
  442.     download or file-request under the name:
  443.  
  444.       VSIGyyxx.ZIP - latest VERIFIED version of VIRSCAN.DAT
  445.  
  446.     where yy is the year and xx a sequence number.
  447.  
  448.     The MASTER copy of this file is maintained and available on:
  449.  
  450.         Bamestra RBBS, The Netherlands  (FIDO 2:280/216.0)
  451.         phone: ++31 2998 3602 or ++31 2998 3603 (HST/CM)
  452.  
  453.     The signatures in VIRSCAN.DAT are collected by Jan R. Terpstra.
  454.     (SysOp Bamestra BBS)
  455.  
  456.     See also 10.3
  457.  
  458.                                     - 8 -
  459.  
  460.  
  461. 3.2.  ADDNSIGS.DAT file
  462.  
  463. 3.2.1.  Signature format
  464.  
  465.   ADDNSIGS.DAT uses by default the VIRSCAN format described in appendix A.1.
  466.  
  467.  
  468. 3.2.2.  Recommended usage
  469.  
  470.   To use ADDNSIGS.DAT, you have to place it in the same directory as 
  471.   VIRSCAN.DAT/HTSCAN.DAT/VIRUSBUL.DAT. ADDNSIGS.DAT is an addition to other 
  472.   virus-signature files. It is not possible to use HTSCAN with ADDNSIGS.DAT 
  473.   only. 
  474.  
  475.  
  476. 3.2.3.  Where to find ADDNSIGS.DAT
  477.  
  478.   ADDNSIGS.DAT contains emergency additions of VIRSCAN.DAT. It will be
  479.   distributed in case a rapidly spreading virus is discovered.
  480.   ADDNSIGS.DAT will be distributed in ASIGyynn.ZIP where yy is the year
  481.   and nn a sequence number. This file will have a rather short life, as all 
  482.   emergency updates will be moved over to VIRSCAN.DAT in the next release. 
  483.  
  484.     The MASTER copy of this file is maintained and, if existent,
  485.     available on:
  486.  
  487.         Bamestra RBBS, The Netherlands  (FIDO 2:280/216.0)
  488.         phone: ++31 2998 3602 or ++31 2998 3603 (HST/CM)
  489.  
  490.     The signatures in ADDNSIGS.DAT are collected by Jan R. Terpstra.
  491.     (SysOp Bamestra BBS)
  492.  
  493.     See also 10.3
  494.  
  495.                                     - 9 -
  496.  
  497. 3.3.  AVR modules
  498.   
  499. 3.3.1.  AVR format
  500.  
  501.    AVR's are algorithmic virus recognition modules. The format is 
  502.    not free for the public.
  503.  
  504.  
  505. 3.3.2.  Recommended usage
  506.  
  507.   To use an AVR module, you have to place it in the same directory as 
  508.   VIRSCAN.DAT/HTSCAN.DAT/VIRUSBUL.DAT. An AVR is an addition to other 
  509.   virus-signature files. It is not possible to use HTSCAN with an AVR file 
  510.   only. 
  511.  
  512.  
  513. 3.3.3.  Where to find the AVR modules
  514.  
  515.   The AVR modules are available in VSIGyynn.ZIP. For further information
  516.   about VSIGyynn.ZIP see 3.1.4.
  517.  
  518.  
  519. 3.4.  COMPRSCA.DAT
  520.  
  521. 3.4.1.  Signature format
  522.  
  523.   COMPRSCA.DAT uses by default the HTSCAN format described in appendix A.2.
  524.  
  525.  
  526. 3.4.2.  Recommended usage
  527.  
  528.   COMPRSCA.DAT contains signatures to detect compressed files. It is not 
  529.   necessary for the virus-scanner, but could give you some info about the 
  530.   possible source of an infection. See also 4.2. for more information.
  531.   To use COMPRSCA.DAT, you have to place it in the same directory as 
  532.   VIRSCAN.DAT/HTSCAN.DAT/VIRUSBUL.DAT. COMPRSCA.DAT is an addition to other 
  533.   virus-signature files. It is not possible to use HTSCAN with COMPRSCA.DAT 
  534.   only. 
  535.  
  536.  
  537. 3.4.3.  Where to find this COMPRSCA.DAT
  538.  
  539.   COMPRSCA.DAT will be available in VSIGyynn.ZIP. For further information 
  540.   about VSIGyynn.ZIP see 3.1.4.
  541.  
  542.                                      - 10 -
  543.  
  544.  
  545. 3.5.  HTSCAN.DAT file
  546.  
  547. 3.5.1.  Signature format
  548.  
  549.   HTSCAN.DAT uses by default the HTSCAN format described in appendix A.2.
  550.  
  551.  
  552. 3.5.2.  Recommended usage
  553.  
  554.   I recommend to collect your own signatures in the file HTSCAN.DAT in the 
  555.   same directory as VIRSCAN.DAT. In this way, a new update of VIRSCAN.DAT 
  556.   can be copied over the old version without loosing your own collection of 
  557.   signatures. 
  558.   
  559.  
  560. 3.6.  HTTROJAN.DAT file
  561.  
  562. 3.6.1.  Signature format
  563.  
  564.   HTTROJAN.DAT uses by default the HTSCAN format described in appendix A.2.
  565.  
  566.  
  567. 3.6.2.  Recommended usage
  568.  
  569.   HTTROJAN contains signatures of trojans and jokes. To use it, you have to
  570.   place HTTROJAN.DAT in the same directory as VIRSCAN.DAT/HTSCAN.DAT/
  571.   VIRUSBUL.DAT. HTTROJAN.DAT is an addition to other virus-signature files. 
  572.   It is not possible to use HTSCAN with HTTROJAN.DAT only. 
  573.  
  574.  
  575. 3.6.3.  Where to find this HTTROJAN.DAT  
  576.  
  577.   The latest update of HTTROJAN.DAT is always available within the
  578.   HTTROJxx.ZIP archive at INFOdesk the Hague. Magic-file name HTTROJAN.
  579.  
  580.                                      - 11 -
  581.  
  582.  
  583. 3.7.  VIRUSBUL.DAT file
  584.  
  585.   The fourth signature-file is VIRUSBUL.DAT. In this file you can type the
  586.   signatures published by Virus-Bulletin in a format almost like published
  587.   in Virus-Bulletin.
  588.  
  589.  
  590. 3.7.1.  Signature format
  591.  
  592.   VIRUSBUL.DAT uses by default the VIRUSBUL format described in appendix A.3.
  593.  
  594.  
  595. 3.7.2.  Recommended usage
  596.  
  597.   Collect the signatures published in Virus-Bulletin in the file
  598.   VIRUSBUL.DAT. If you use VIRUSBUL.DAT and VIRSCAN.DAT, place them in the
  599.   same directory.
  600.  
  601.  
  602.  
  603. 3.8.  MCAFEE.DAT format
  604.  
  605.   The fifth signature-file is MCAFEE.DAT. In this file you can type the
  606.   signatures published in a McAfee style.
  607.  
  608.  
  609. 3.8.1.  Signature format
  610.  
  611.   MCAFEE.DAT uses by default the MCAFEE format described in appendix A.4.
  612.  
  613.  
  614. 3.8.2.  Recommended usage
  615.  
  616.   Collect the signatures published in a McAfee style in the file
  617.   MCAFEE.DAT. To use it, you have to place MCAFEE.DAT in the same directory
  618.   as VIRSCAN.DAT/HTSCAN.DAT/VIRUSBUL.DAT. MCAFEE.DAT is only an addition to 
  619.   other virus-signature files. It is not possible to use HTSCAN with 
  620.   MCAFEE.DAT only. 
  621.  
  622.                                      - 12 -
  623.  
  624.  
  625. 4.  MESSAGES
  626.  
  627. 4.1.  Virus in memory
  628.  
  629.   If a virus is found in memory, HTSCAN will stop, issues a warning and
  630.   ask if it should continue. Don't continue unless you are absolute sure
  631.   the virus will not harm your files and/or disks.
  632.  
  633.   If you are not sure, follow the instructions:
  634.  
  635.     - turn your computer off using the power-switch
  636.     - wait at least 30 seconds
  637.     - boot from a write-protected clean system-diskette
  638.     - start HTSCAN again from clean write-protected floppy-disk
  639.  
  640.  
  641. 4.2.  Compressed files.
  642.  
  643.   HTSCAN will give a warning when a compressed executable file was
  644.   found. The name(s) off the compressed file(s) and the compress
  645.   utility are listed in the message window on the screen and in the
  646.   log-file. In the final report, the message "x Compressed executable
  647.   file(s) found." will appear on the screen.
  648.   HTSCAN will NOT decompress these files.
  649.  
  650.   HTSCAN will look for executable files compressed with:
  651.  
  652.     DIET    version 1.00d
  653.     LZexe   version 0.91
  654.     PKLite  version 1.03/1.05
  655.  
  656.   and self-extracting files compressed with:
  657.  
  658.     ARJ    version 1.00/1.10/2.00/2.10
  659.     LHA    version 2.10
  660.     LHarc  version 1.13
  661.     PAK    version 2.50
  662.     PKZip  version 1.10
  663.  
  664.   If a compressed file is found, HTSCAN can't scan within the compressed
  665.   file. If it is a new file, decompress it and scan its contents with
  666.   HTSCAN. If the warning was triggered on an old file which didn't change
  667.   and there is no infection found in other files, don't bother about the
  668.   compressed files. When a compressed file was found, the errorlevel will 
  669.   be > 0. 
  670.  
  671.                                      - 13 -
  672.  
  673.  
  674. 4.3.  Invalid date/time.
  675.  
  676.   HTSCAN will give a warning when it finds a file with an invalid
  677.   date/time. (Year > 2000 will be treated as illegal!)
  678.   The name(s) off the file(s) are listed in the message window on the
  679.   screen and in the log-file. In the final report, the message "x
  680.   File(s) with an illegal date/time found." will appear on the screen.
  681.   Many viruses use an invalid date/time for self-recognition. When a
  682.   file with invalid date/time was found, the errorlevel will be > 0.
  683.  
  684.  
  685. 4.4.  EXE/COM extension exchanged.
  686.  
  687.   HTSCAN will give a warning when it finds an EXE file without EXE
  688.   header or a COM file with EXE header. The name(s) off the file(s)
  689.   are listed in the message window on the screen and in the log-file.
  690.   In the final report, the message "x File(s) with an exchanged COM/EXE
  691.   header found." will appear on the screen.  When a file with an
  692.   exchanged EXE/COM extension was found, the errorlevel will be > 0.
  693.  
  694.  
  695. 4.5.  Unusual values in boot-sector
  696.  
  697.   HTSCAN will give a warning when it finds unusual values in a boot-
  698.   sector. Unusual values are reported in the message window on the screen
  699.   and in the log-file. Some boot-sector viruses will trigger this
  700.   warning. Unfortunately, a floppy used by PcBackup will trigger this
  701.   warning too.
  702.  
  703.                                      - 14 -
  704.  
  705.  
  706. 5.  TIPS
  707.  
  708. 5.1.  Running HTSCAN
  709.  
  710.   It is necessary to cold-boot from a clean write-protected DOS system-
  711.   diskette before running HTSCAN from a clean write-protected floppy. If 
  712.   you don't have such a floppy-disk, create it NOW. Believe me, going to 
  713.   a shop buying a clean DOS version after you get an infection takes more 
  714.   time and money. You can create a DOS system-diskette with "FORMAT A: 
  715.   /S". See appendix E for an example of a batch file which can be placed 
  716.   on this floppy and used in routine scanning. 
  717.  
  718.  
  719. 5.2.  Routine scanning and /A
  720.  
  721.   Unfortunately many users think option /A is best for routine scanning.
  722.   This is NOT. Option /A is very time consuming and makes only sense if you
  723.   scan an unknown floppy or if you know you are struck by a virus. Don't 
  724.   use it in routine scanning. 
  725.  
  726.  
  727. 5.3.  Scanning when probably infected
  728.  
  729.   When your system is probably infected you should absolutely run HTSCAN
  730.   from a write-protected floppy after cold-booting using reset-button or 
  731.   the power switch. Again, Ctrl-Alt-Del is NOT enough. 
  732.   If you are one of those persons who insist in not creating a clean DOS
  733.   system-diskette, you could save your self lots of trouble using the /M 
  734.   option. However, this is NOT recommended, this option will increase the 
  735.   chance on false alarms and it is NOT save. 
  736.  
  737.  
  738. 5.4.  Compressed files and scanning from a .BAT file
  739.  
  740.   When HTSCAN is used from a .BAT file to scan a hard-disk in a routine
  741.   scan, check only on errorlevel 50 or greater. Don't bother on the
  742.   compressed files when no infections where found in other files.
  743.   When HTSCAN is used from a .BAT file to scan a incoming floppy,
  744.   check on errorlevel 1 or greater. If a compressed file is found,
  745.   decompress it and scan its contents with HTSCAN.
  746.  
  747.  
  748. 5.5.  Backups
  749.  
  750.   Backups are the most important precaution that can be taken against
  751.   computer viruses. Unduplicated data stored on a disk will be
  752.   irretrievable lost in the event of an attack by a destructive virus.
  753.   In english: BACKUP your data periodically!
  754.  
  755.                                     - 15 -
  756.  
  757.  
  758. 6.  WHAT TO DO IF YOU FIND A VIRUS?
  759.  
  760.   STAY COOL, it is my opinion that most harm is done by users who panicky
  761.   tried to disinfect there disk. If you find a virus by a virus-scanner the
  762.   virus has done his job or will wait until some event. In both cases
  763.   there is no reason to hurry. You have plenty of time.
  764.  
  765.   DON'T INSERT ANY OF YOUR BACKUP-DISKETTE'S IN YOUR PC BEFORE YOU ARE
  766.   100% SURE YOUR PC IS CLEAN!
  767.  
  768.  
  769. 6.1.  Recommended approach
  770.  
  771.   This will only work if you have a clean current backup.
  772.  
  773.   - Power down your system. Power up and boot from a clean 
  774.     write-protected system-diskette.
  775.   - Low-level-format your hard-disk
  776.     (check your hard-disk documentation on how to do that, 
  777.      or consult your supplier)
  778.   - Restore your system from the last known clean-backup
  779.  
  780.  
  781. 6.2.  If you don't have a backup and it is a known virus
  782.  
  783.   If the virus is in the boot-sector or a system-file:
  784.  
  785.     - get a virus killer for this virus and use it to clean-up your disk
  786.  
  787.     if you can't find a killer for this virus:
  788.  
  789.       - Power down your system. Power up and boot from a clean
  790.         write-protected system-diskette.
  791.       - Use the DOS command SYS to overwrite the infected spots.
  792.  
  793.   If the virus is in the main-boot-record (partition-table):
  794.  
  795.     - get a virus killer for this virus and use it to clean-up your disk
  796.  
  797.     if you can't find a killer for this virus:
  798.  
  799.       - Power down your system. Power up and boot from a clean
  800.         write-protected system-diskette.
  801.  
  802.       if you have DOS 5.0 or higher:
  803.         - you may try FDISK /MBR to fix the main-boot-record, although 
  804.           this will destroy your data in certain unusual circumstances
  805.       if you don't have DOS 5.0:
  806.         - Backup your system
  807.         - Low-level-format your hard-disk
  808.         - Restore your files.
  809.  
  810.                                     - 16 -
  811.  
  812.  
  813.   If the virus is in your software:
  814.  
  815.     - Power down your system. Power up and boot from a clean
  816.       write-protected system-diskette.
  817.     - Use "HTSCAN <path> /R" from a clean write-protected floppy-disk.
  818.       HTSCAN will ask you for every infected file if it should be renamed.
  819.     - Reinstall your software from the original floppy-disks.
  820.     - Delete the renamed infected files with "HTSCAN <path> /D /A".
  821.  
  822.     If you can't find the original software:
  823.  
  824.       - get a virus killer for this virus and use it to clean-up your
  825.         infected (renamed) files.
  826.  
  827.       Be extreme careful when cleaning your software with a virus 
  828.       killer. A lot of killers are unreliable and may totally destroy your 
  829.       program's. In the worst case, such a destroyed program could act 
  830.       like a trojan and destroy your data the next time it is executed. 
  831.  
  832.   Run "HTSCAN <path> /A" to be absolute sure your disk is clean.
  833.  
  834.   I strongly recommend that you get experienced help in dealing with
  835.   viruses. You can find addresses of experienced help in the appendices.
  836.   Get at least information on the virus. I only gave a description how to
  837.   get rid off the virus. Maybe the virus has corrupted your data. In such
  838.   a case you should use a clean backup to restore your data. 
  839.  
  840.  
  841. 6.3.  If you don't have a backup and it is an unknown virus
  842.  
  843.   If HTSCAN can't find a virus, first try the latest version available of
  844.   of the data-file you use. If nothing is reported and you still believe
  845.   you got a virus, because EXE/COM-files are growing and/or program's don't
  846.   work anymore etc., send a sample of a possibly infected file to a well-
  847.   known virus-researcher. Look at "Addresses for experienced help" for an
  848.   address.
  849.  
  850.                                     - 17 -
  851.  
  852.  
  853. 7.  HOW TO PREVENT A VIRUS INFECTION?
  854.  
  855.   In my opinion this is impossible. The only thing you can do is finding it
  856.   before it can cause great damage. For this purpose you could run an
  857.   alteration-searcher or checksummer with every system boot-up.
  858.  
  859.  
  860.  
  861.  
  862. 8.  LICENSES
  863.  
  864.   You are free to use, copy and distribute HTSCAN for NONcommercial
  865.   purposes if:
  866.  
  867.     1)  No fee is charged for such copying and distribution,
  868.     2)  It is distributed ONLY in its original, unmodified state.
  869.  
  870.   If you share HTSCAN with others, please share the original HTSCAN20.ZIP
  871.   file instead of sharing HTSCAN.EXE.
  872.  
  873.   If you find HTSCAN fast, easy, and convenient to use, a donation of
  874.   Fl. 2,50 or more would be appreciated.
  875.   Type "HTSCAN /I" for more information.
  876.  
  877.   Note, a donation for HTSCAN is not a donation for VIRSCAN.DAT.
  878.  
  879.   Site licenses and commercial licenses for HTSCAN are available.
  880.   Type "HTSCAN /I" for more information.
  881.  
  882.  
  883.  
  884.  
  885. 9.  DISCLAIMER
  886.  
  887.   In providing this software I disclaim all warranties, expressed or
  888.   implied, including but not limited to the warranties of merchantability,
  889.   fitness for a particular purpose, and noninfringement, and shall not be
  890.   liable for any direct, special, incidental or consequential damages
  891.   related to the performance or no-performance of this software and/or
  892.   documentation.
  893.  
  894.                                     - 18 -
  895.  
  896.  
  897. 10.  MISCELLANEOUS INFORMATION
  898.  
  899. 10.1.  Requirements
  900.  
  901.   Memory: at least 350 Kb of available RAM
  902.   Operating System: Dos version 3.0 or later
  903.  
  904.  
  905. 10.2.  Copyrights and trademarks
  906.  
  907.   ARJ              is a trademark of Robert K. Jung
  908.   DIET             is a trademark of Teddy Matsumoto
  909.   LHA and LHarc    are trademarks of Haruyasu Yoshizaki
  910.   McAfee           is a trademark of McAfee Associates
  911.   PAK              is a trademark of NoGate Consulting
  912.   PKZip and PKLite are trademarks of PKWare Inc.
  913.   QEMM             is a trademark of Quarterdeck
  914.   Virus-Bulletin   is a trademark of Virus Bulletin Ltd.
  915.  
  916.  
  917. 10.3.  New versions
  918.  
  919.   The newest versions of HTSCANxx.ZIP, HTTROJxx.ZIP, VSIGyyxx.ZIP
  920.   and ASIGyyxx.ZIP are available at:
  921.  
  922.     INFOdesk BBS The Hague, 2:2801/1007
  923.     +31-70-3898822, up to 14.4K HST
  924.  
  925.     File-Requests allowed from 8.00 am - 3.00 am (GMT+1). All file-requests
  926.     are allowed, including request of 4-D inbounds.
  927.  
  928.     Magic-file names:
  929.  
  930.       HTSCAN,
  931.       VSIG,
  932.       ASIG and
  933.       HTTROJAN
  934.  
  935.   New versions of HTSCANxx.ZIP, VSIGyyxx.ZIP and ASIGyyxx.ZIP are also
  936.   distributed through the VIRUSINF File-Echo. VIRUSINF is available all 
  937.   over the world.
  938.  
  939.  
  940. 10.4.  Questions, suggestions or problems
  941.  
  942.   If you have questions, suggestions or even problems, feel free to contact
  943.   me at one of the addresses below.
  944.  
  945.   Mail address:              Netmail address:
  946.  
  947.   Harry Thijssen             Harry Thijssen
  948.   P.O. Box 662               INFOdesk The Hague
  949.   6400 AR  Heerlen           FIDO 2:2801/1007.7  
  950.   The Netherlands            +31-70-3898822
  951.  
  952.   Please state the version of HTSCAN.EXE you are presently using.
  953.  
  954.                                     - 19 -
  955.  
  956.  
  957. 10.5.  Translations
  958.  
  959.   Several language packets are available. The original distribution file 
  960.   HTSCAN20.ZIP includes the english language packet. Other languages are 
  961.   available in a file like:
  962.     HTSC20<languages>.ZIP
  963.  
  964.   For dutch this file is:
  965.     HTSC20NL.ZIP
  966.   For german this file is:
  967.     HTSC20D.ZIP
  968.  
  969.   Both files are available at INFOdesk the Hague.
  970.  
  971.   HTScan will at least be available in English and Dutch. 
  972.   If you are willing to translate HTScan in a currently not supported 
  973.   language, please contact me at the address mentioned above.
  974.  
  975.  
  976. 10.6.  Thanks
  977.  
  978.   I wish to thank all the Beta-testers of HTScan for their time and help.
  979.   A special word of thanks goes to Erwin Lanting and Righard Zwienenberg 
  980.   ([RiZwi] of INFOdesk) for their comments on and help with HTSCAN.
  981.  
  982.                                     - 20 -
  983.  
  984.  
  985. I.  APPENDIX A. Signature formats
  986.  
  987. A.1.  VIRSCAN format
  988.  
  989.   Format of a virus signature entry
  990.  
  991.     <Virus name>
  992.     <Affected items>
  993.     <Virus signature>
  994.  
  995.     Lines starting with ';' are treated as comment.
  996.  
  997.  
  998.   Virus name
  999.  
  1000.     Any name of 1 to 30 characters.
  1001.  
  1002.  
  1003.   Affected items
  1004.  
  1005.     BOOT/COM/EXE/LOW/HIGH separated by blanks
  1006.  
  1007.     item           scanning
  1008.  
  1009.     LOW          : Memory beneath HTSCAN (beneath PSP)
  1010.     HIGH         : Conventional memory above HTSCAN
  1011.     BOOT         : Boot-Sectors and Main-Boot-Records (Partition-Table)
  1012.     COM          : *.COM files and, if at least 1 signature contains a
  1013.                          EXE item, .EXE files without EXE header
  1014.     EXE          : *.EXE files and, if at least 1 signature contains a
  1015.                          COM item, .COM files with EXE header
  1016.  
  1017.  
  1018.   Virus signature
  1019.  
  1020.     Any hex string. The hex string should have a min. length of 8
  1021.     and a max. length of 80 characters.
  1022.  
  1023.     ?  means: everything in this nibble (half byte) is ok.
  1024.  
  1025.     %x means: ignore up to x bytes of garbage.
  1026.               %x after %x is allowed.
  1027.               For example:
  1028.                 %F%F means ignore up to 30 bytes.
  1029.  
  1030.     *x means: ignore x bytes of garbage.
  1031.               x can be 1 to F.
  1032.               After a "*x" byte, the next byte may contain again "*x" but
  1033.               not "?".
  1034.  
  1035.     ** means: ignore up to 255 bytes of garbage.
  1036.  
  1037.     HTSCAN is only reliable if the virus-string is found in 1024 bytes or
  1038.     less.
  1039.  
  1040.                                      - 21 -
  1041.  
  1042.  
  1043. A.2.  HTSCAN format
  1044.  
  1045.     The syntax of HTSCAN is a superset of VIRSCAN.
  1046.  
  1047.  
  1048.   Format of a virus signature entry
  1049.  
  1050.     <Virus name>
  1051.     <flag line>
  1052.     <Affected items>
  1053.     <Virus signature>
  1054.  
  1055.     Lines starting with ';' are treated as comment by HTSCAN.
  1056.     Lines starting with ';%' are displayed on the screen.
  1057.  
  1058.  
  1059.   Virus name
  1060.  
  1061.     Any name of 1 to 80 characters.
  1062.  
  1063.  
  1064.   Flag line
  1065.  
  1066.     The flags are used to generate a better message when a matching signature 
  1067.     is found. The recognized flags are:
  1068.  
  1069.       C -> Compressed
  1070.       D -> Dropper
  1071.       F -> Found
  1072.       I -> Infected 
  1073.       J -> Joke
  1074.       O -> Overwritten
  1075.       S -> Self-Extracting
  1076.       T -> Trojanized
  1077.  
  1078.     The flag line is optional. If not used, a flag line with the flag I is 
  1079.     assumed.
  1080.  
  1081.                                      - 22 -
  1082.  
  1083.  
  1084.   Affected items
  1085.  
  1086.     PART/BOOT/SYS/COM/EXE/OVL/BAT/PIF/LOW/HIGH/UMB and OFFSET/ENTRY
  1087.     separated by blanks
  1088.  
  1089.     item           scanning
  1090.  
  1091.     LOW          : Memory beneath HTSCAN (beneath PSP)
  1092.     HIGH         : Conventional memory above HTSCAN
  1093.     UMB          : Upper memory blocks. Usually 640 Kb up to 1 Mb.
  1094.                    If available, HMA will be treated as UMB.
  1095.     MAIN         : Main-Boot-Records (Hard-Disk only)
  1096.     (alias PART)   (The Main-Boot-Record is also called Partition-Table)
  1097.     BOOT         : Boot-Sectors and Main-Boot-Records
  1098.     SYS          : *.SYS and *.BIN files
  1099.     COM          : *.COM files and, if at least 1 signature contains a
  1100.                          EXE item, .EXE files without EXE header
  1101.     EXE          : *.EXE files and, if at least 1 signature contains a
  1102.                          COM item, .COM files with EXE header
  1103.     OVL          : *.OV* files
  1104.     (alias OV*)
  1105.     BAT          : *.BAT files
  1106.     PIF          : *.PIF files
  1107.  
  1108.     The entry-point is the first byte that is not equal to either a 
  1109.     JUMP SHORT, JUMP LONG, CALL NEAR or CALL FAR.
  1110.  
  1111.     ENTRY         : The signature starts directly at the entry-point.
  1112.     OFFSET        : The signature starts in the range 128 before to 128 after
  1113.                    the entry-point.
  1114.  
  1115.                                      - 23 -
  1116.  
  1117.  
  1118.   Virus signature
  1119.  
  1120.     Any hex string. A space as separator is allowed. The hex string
  1121.     should have a min. length of 8 and a max. length of 100 characters.
  1122.  
  1123.     ?  means    : everything in this nibble (half byte) is ok.
  1124.  
  1125.     %x means    : ignore up to x bytes of garbage.
  1126.                   %x after %x is allowed.
  1127.                   For example:
  1128.                     %F%F means ignore up to 30 bytes.
  1129.  
  1130.     %(x)        : same as above. However x can be 1 to 254.
  1131.                   For example:
  1132.                     %(30) means ignore up to 30 bytes and is the same as %F%F
  1133.  
  1134.     *x means    : ignore x bytes of garbage.
  1135.                   x can be 1 to F.
  1136.                   After a "*x" byte, the next byte may contain again "*x"
  1137.                   but not "?".
  1138.  
  1139.     *(x)        : same as above. However x can be 1 to 254.
  1140.  
  1141.     ** means    : ignore up to 255 bytes of garbage.
  1142.  
  1143.     && means    : the file should contain the part before this wildcard AND 
  1144.                   the part behind this wildcard
  1145.  
  1146.     || means    : the file should contain the part before this wildcard OR
  1147.                   the part behind this wildcard
  1148.  
  1149.     nn-x means  : 1 of the values in the range nn up to nn + x should match 
  1150.                   this wildcard
  1151.  
  1152.     nn--xx means: 1 of the values in the range nn up to nn + xx should match 
  1153.                   this wildcard 
  1154.  
  1155.     nn/x means  : a match should been made with nn or nx
  1156.  
  1157.     nn//xx means: a match should been made with nn or xx
  1158.  
  1159.     $xxyy means : the compare value and xx should give yy
  1160.  
  1161.     Spaces within the virus-signatures are ignored.
  1162.  
  1163.     If you like, you can also specify a normal text as virus signature
  1164.     by putting the text between double quotation marks. When this
  1165.     syntax is used, wildcards are treated as normal text.
  1166.  
  1167.     HTSCAN is only 100% reliable if the virus-string is found in 
  1168.     1024 bytes or less.
  1169.  
  1170.     See appendix B for examples of HTSCAN style signatures.
  1171.  
  1172.                                      - 24 -
  1173.  
  1174.  
  1175. A.3.  VIRUSBUL format
  1176.  
  1177.   Format of a virus signature entry in VIRUSBUL style:
  1178.  
  1179.     <Virus name>
  1180.     <Affected items>
  1181.     <Virus signature>
  1182.  
  1183.     Lines starting with ';' are treated as comment by HTSCAN.
  1184.     Lines starting with ';%' are displayed on the screen.
  1185.  
  1186.  
  1187.   Virus name
  1188.  
  1189.     Any name of 1 to 80 characters.
  1190.  
  1191.  
  1192.   Affected items
  1193.  
  1194.     C/E/N/P/D/M/R/?
  1195.  
  1196.     ? Means CEDMR.
  1197.  
  1198.  
  1199.   Virus signature
  1200.  
  1201.     Any hex string. A space as separator is allowed. The hex string
  1202.     should have a min. length of 8 and a max. length of 100 characters.
  1203.     Wildcards are supported like in HTSCAN style.
  1204.  
  1205.  
  1206.   Look at the file VIRUSBUL.DAT in EXAMPLES.ZIP for examples of this
  1207.   format.
  1208.  
  1209.  
  1210.   Refer to Virus-Bulletin for further information and scan-strings.
  1211.  
  1212.                                     - 25 -
  1213.  
  1214.  
  1215. A.4.  MCAFEE format
  1216.  
  1217.   Format of a virus signature entry in MCAFEE style:
  1218.  
  1219.     "<Virus signature>"<Virus name>
  1220.  
  1221.     Lines starting with '#' are treated as comment by HTSCAN.
  1222.     Lines starting with '#%' are displayed on the screen.
  1223.  
  1224.  
  1225.   Virus signature
  1226.  
  1227.     Any hex string. A space as separator is allowed. The hex string
  1228.     should have a min. length of 8 and a max. length of 100 characters.
  1229.  
  1230.  
  1231.   Virus name
  1232.  
  1233.     Any name of 1 to 25 characters.
  1234.  
  1235.  
  1236.   HTSCAN will scan all memory, boot-sectors, .COM and .EXE files for all
  1237.   signatures in MCAFEE style.
  1238.  
  1239.   Look at the file MCAFEE.DAT in EXAMPLES.ZIP for examples of this
  1240.   format.
  1241.  
  1242.  
  1243.  
  1244. A.5.  Switches in the signature files
  1245.  
  1246.   You can switch the HTSCAN format on with ";$HS+".
  1247.  
  1248.   You can switch the Virus-Bulletin format on with ";$VB+" and off with
  1249.   ";$VB-" on a separate line in the signature-files.
  1250.  
  1251.   You can switch the McAfee format on with ";$MA+" and off with
  1252.   ";$MA-" on a separate line in the signature-files.
  1253.  
  1254.   You can switch to the entry-point + 512 bytes mode ";$IP+" and off with
  1255.   ";$IP-" on a separate line in the signature-files.
  1256.  
  1257.                                     - 26 -
  1258.  
  1259.  
  1260. II.  APPENDIX B. Examples of HTSCAN style signatures
  1261.  
  1262.   Examples:
  1263.  
  1264.     (All example viruses don't really exist)
  1265.  
  1266.     Fantasy-Virus (Boot version)
  1267.     PART BOOT
  1268.     FF00 FF00 FF00 FF00 FF00 FF00 FF00
  1269.     ;
  1270.     Hello World (OV* version)
  1271.     OVL
  1272.     "Hello World"
  1273.     ;
  1274.     Mean-Virus
  1275.     PART BOOT SYS COM EXE OVL
  1276.     1F0A 2F0B ??0C 4F0D ?F0E 6?0F 7F00
  1277.  
  1278.     The Mean-Virus would be recognized in the following string:
  1279.     1F0A2F0BFF0C4F0DFF0E6F0F7F00
  1280.  
  1281.  
  1282.     For the real hackers among you:
  1283.  
  1284.       Suicide-Virus
  1285.       LOW HIGH UMB BOOT SYS COM EXE OVL
  1286.       1F0A 2F0B 3?** 6F0F 7F*3 9F0? AF03 ???4 CF%2 05
  1287.  
  1288.       The Suicide-Virus signature scan's for 1F,0A,2F,0B followed by a byte
  1289.       of which the left nibble is 3 and the right nibble is unknown. Next
  1290.       there can be a string of garbage 0 to 255 bytes in length followed by
  1291.       6F,0F. After this there is a string of garbage 3 bytes long followed
  1292.       by 9F. Next there is a byte of which the left nibble is 0 and the
  1293.       right nibble unknown. There after comes AF,03 followed by three
  1294.       unknown nibbles. The right part of the last byte of the two bytes
  1295.       containing these three nibbles is 4. The trailing part of this virus
  1296.       is CF followed by 0, 1 or 2 garbage bytes ending with 05 The Suicide-
  1297.       Virus would be recognized in the following string:
  1298.  
  1299.       1F0A2F0B3F0C4F0D5F0E6F0F7F008F019F02AF03BF04CF05
  1300.  
  1301.       And again, for readability below each other, the scan-string and de
  1302.       string in the file.
  1303.  
  1304.       1F0A 2F0B 3?**           6F0F 7F*3      9F0? AF03 ???4 CF %2 05
  1305.       1F0A 2F0B 3F0C 4F0D 5F0E 6F0F 7F00 8F01 9F02 AF03 BF04 CF    05
  1306.  
  1307.  
  1308.                                     - 27 -
  1309.  
  1310.  
  1311. III.  APPENDIX C. Examples of invoking HTSCAN
  1312.  
  1313.   Examples:
  1314.  
  1315.    Scan drive C:
  1316.     HTSCAN  C:\
  1317.  
  1318.    Scan directory C:\USR without the subdirectories:
  1319.     HTSCAN  C:\USR  /N  /O=LOG-FILE.TXT  /V=C:\USR\VIRUS\HTSCAN.DAT  /S
  1320.  
  1321.    Scan the file C:\USR\VIRUS\HTSCAN.EXE and delete it if infected:
  1322.     HTSCAN  C:\USR\VIRUS\HTSCAN.EXE  /D
  1323.  
  1324.    Scan all *.OV? and *.BIN files for all file viruses:
  1325.     HTSCAN  *.OV? *.BIN /A
  1326.  
  1327.    Scan drive C:, D: and E:
  1328.      HTSCAN C:\ D:\ E:\   or
  1329.      HTSCAN &C..E         or if drive E: is the last drive
  1330.      HTSCAN &C
  1331.  
  1332.    Scan a list of files:
  1333.      HTSCAN  @TO-SCAN.TXT
  1334.  
  1335.     To-Scan.Txt is a listfile which could contain for example:
  1336.  
  1337.      C:\COMMAND.COM
  1338.      D:\UTIL\
  1339.      ..\
  1340.      \*.COM
  1341.  
  1342.    Scan all drives. Don't warn for compressed and/or self-extracting files.
  1343.    Use the signature lists in directory C:\SIGN and place the log-file in 
  1344.    directory D:\TEMP in HTSCAN.LOG:
  1345.      HTSCAN &A /V=C:\SIGN  /O=D:\TEMP\HTSCAN.LOG  /W-
  1346.  
  1347.                                     - 28 -
  1348.  
  1349.  
  1350. IV.  APPENDIX D. Addresses for experienced help
  1351.  
  1352.  
  1353. D.1.  If you have access to a modem
  1354.  
  1355.   A good solution for getting experienced help is a message in a
  1356.   dedicated fido-echomail-conference. E.g. VIRUS or VIRUS_INFO.
  1357.  
  1358.   Also you can ask the sysop of your home BBS. Most of the Sysop's
  1359.   know where to ask for experienced help.
  1360.  
  1361.   Below are the addresses of several well-known virus-busters.
  1362.  
  1363.     INFOdesk 
  1364.     The Hague (The Netherlands)
  1365.     FIDO 2:2801/1007
  1366.     +31-70-3898822
  1367.  
  1368.     Martin Roesler at
  1369.     Farmers Node
  1370.     Puchheim (Germany)
  1371.     FIDO 2:246/18.4
  1372.     +49-89-807408
  1373.  
  1374.     Paul Ferguson at
  1375.     SENTRY NET
  1376.     Centreville (USA)
  1377.     FIDO 1:109/229
  1378.     +1-703-815-3244
  1379.  
  1380.  
  1381. D.2.  If you don't have access to a modem
  1382.  
  1383.   You may send a letter to me or to:
  1384.  
  1385.     INFOdesk The Hague
  1386.     P.O. BOX 32395
  1387.     2503 AB  The Hague
  1388.     The Netherlands
  1389.  
  1390.   Don't forget to include a reply-paid envelope.
  1391.  
  1392.                                     - 29 -
  1393.  
  1394.  
  1395. V.  APPENDIX E. Example batch file
  1396.  
  1397.   The next batch file could be placed on a write-protected system-diskette
  1398.   together with HTSCAN. When this file is named AUTOEXEC.BAT, it will start
  1399.   a routine scan whenever your computer is booted from this floppy.
  1400.   The signature-files placed in the directory C:\SIGN are used. The log 
  1401.   file will be written to C:\TEMP\HTSCAN.LOG.
  1402.  
  1403.     echo off
  1404.     rem *****************************************************************
  1405.     rem *   Before running this batch file, the directories             *
  1406.     rem *   C:\SIGN and C:\TEMP should exist.                           *
  1407.     rem *                                                               *
  1408.     rem *   The signature files (VIRSCAN.DAT etc.) should been placed   *
  1409.     rem *   in C:\SIGN.                                                 *
  1410.     rem *****************************************************************
  1411.     HTSCAN &C /V=C:\SIGN /O=C:\TEMP\HTSCAN.LOG /W-
  1412.     if errorlevel == 200 goto virus
  1413.     if errorlevel == 175 goto trojan
  1414.     if errorlevel == 150 goto signerror
  1415.     if errorlevel == 100 goto opererror
  1416.     if errorlevel == 75  goto progerror
  1417.     :ok
  1418.     erase C:\TEMP\HTSCAN.LOG
  1419.     goto end
  1420.     :virus
  1421.     echo Virus found by HTScan. Reported in C:\TEMP\HTSCAN.LOG
  1422.     pause
  1423.     goto end
  1424.     :trojan
  1425.     echo Trojan found by HTScan. Reported in C:\TEMP\HTSCAN.LOG
  1426.     pause
  1427.     goto end
  1428.     :signerror
  1429.     echo HTScan detected some problem with a signature file.
  1430.     pause
  1431.     goto end
  1432.     :opererror
  1433.     echo HTScan detected an operator error. 
  1434.     pause
  1435.     goto end
  1436.     :progerror
  1437.     echo HTScan aborted. 
  1438.     pause
  1439.     goto end
  1440.     :end
  1441.