home *** CD-ROM | disk | FTP | other *** search
/ Shareware 1 2 the Maxx / sw_1.zip / sw_1 / UTILS / HTSCAN17.ZIP / HTSCAN.DOC < prev    next >
Text File  |  1992-04-16  |  51KB  |  1,441 lines

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