home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #2 / RBBS_vol1_no2.iso / add2 / chkup32.zip / CHECKUP.DOC < prev    next >
Text File  |  1989-04-20  |  88KB  |  2,707 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                               Rich Levin's CHECKUP (tm)
  26.                                Virus Detection System
  27.                                      Version 3.2
  28.  
  29.               For the IBM PC, XT, AT, PS/2 and IBM-compatible computers
  30.  
  31.                                Released April 20, 1989
  32.  
  33.                          Copyright (c) 1988 Richard B. Levin
  34.                                  All Rights Reserved
  35.  
  36.                          ╓─────────────────────────────────┐
  37.                          ║ Give your files a CHECKUP! (tm) │
  38.                          ╚═════════════════════════════════╛
  39.  
  40.                     "Please Distribute This Program Far and Wide"
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.                                   ═════════════════
  72.                                   Table of Contents
  73.                                   ═════════════════
  74.  
  75.           DEDICATION.................................................3
  76.           IMPORTANT NOTICE...........................................3
  77.           CONSUMER ALERT.............................................3
  78.           WHAT THE CRITICS SAY.......................................4
  79.           CHECKUP'S ARCHIVE CONTENTS.................................4
  80.           NEW FEATURES...............................................5
  81.           PROGRAM INFO...............................................5
  82.           COPYRIGHT NOTICE...........................................6
  83.           OWNER REGISTRATION.........................................7
  84.               CORPORATE AND GOVERNMENT USERS.........................7
  85.               PRIVATE USERS..........................................7
  86.               DISTRIBUTION POLICY....................................7
  87.               UPGRADE POLICY.........................................7
  88.           REGISTRATION FORM..........................................8
  89.               REGISTRATION FEE AND PLEDGE FOR NON-PRIVATE USERS.....11
  90.               WAIVER OF REGISTRATION FEE . . . FOR PRIVATE USERS....12
  91.           NOTE TO USERS OF MS-DOS...................................13
  92.           THE PROBLEM DEFINED.......................................13
  93.           THE TROUBLE WITH ANTI-VIRUS SOFTWARE......................14
  94.               COMMERCIAL SOLUTIONS (or "Hey--what a market!").......14
  95.               VACCINES..............................................14
  96.               ANTIDOTES.............................................16
  97.               FILE COMPARISON UTILITIES.............................17
  98.               DISK-MAPPERS..........................................17
  99.               ANTI-VIRUS TSRs.......................................18
  100.           HOW CHECKUP WORKS.........................................19
  101.           RUNNING CHECKUP...........................................20
  102.               CREATING A CLEAN CHECKUP FLOPPY DISK..................21
  103.               CHECKUP'S CHECKUP.BAT/AUTOEXEC.BAT FILE...............23
  104.               CHECKUP'S ERRORLEVELS.................................24
  105.               CHECKUP'S .XUP FILES..................................25
  106.               CHECKUP'S ALTERNATE OUTPUT FILE EXTENSIONS............25
  107.               THE CHECKUP.LOG FILE..................................26
  108.               RUN-TIME MESSAGES AND EXPLANATIONS....................27
  109.               ERROR CODES AND EXPLANATIONS..........................28
  110.               FATAL ERRORS..........................................30
  111.           ADVANTAGES OF USING CHECKUP...............................31
  112.           KNOWN INCOMPATIBILITIES WITH OTHER ANTI-VIRUS PROGRAMS....32
  113.           A COLLECTION OF ANTI-VIRUS AND ANTI-TROJAN TECHNIQUES.....32
  114.           DIAGNOSING AN INFECTED COMPUTER...........................35
  115.           COMMENTARY................................................36
  116.           CHECKUP'S RELEASE HISTORY.................................37
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.                                                                            1
  136.  
  137.           
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.           Computer virus:     A program that adapts other programs to carry
  159.                               and propagate a copy of itself.
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.                                                                            2
  202.  
  203.           
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.           "The only truly secure system is one that is powered off, cast in
  225.           a block of concrete and sealed in a lead-lined room with armed
  226.           guards--and even then I have my doubts."
  227.  
  228.                                                   Eugene H. Spafford
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.                                                                            3
  268.  
  269.           ══════════
  270.           DEDICATION
  271.           ══════════
  272.  
  273.                This program is dedicated to those users who continue to
  274.           prove the honor system is alive and well, and living in
  275.           shareware.
  276.  
  277.           ════════════════
  278.           IMPORTANT NOTICE
  279.           ════════════════
  280.  
  281.                Users are urged to read this document before running
  282.           CHECKUP.  (Users of previous versions of CHECKUP please note:
  283.           the CHECKUP program, invocation syntax, .XUP file formats and
  284.           documentation have been substantially revised.)
  285.  
  286.           ══════════════
  287.           CONSUMER ALERT
  288.           ══════════════
  289.  
  290.                       This Is The Original CHECKUP (tm) Program
  291.                Not To Be Confused With Other Programs Of The Same Name
  292.                   If It's Not User-Supported Software By Rich Levin
  293.               It's Not The Original CHECKUP (tm) Virus Detection System
  294.  
  295.                CHECKUP has become one of the world's leading virus
  296.           detection systems for IBM PC-class microcomputers.  It is used by
  297.           government agencies in the USA, Canada, Europe and Australia;
  298.           hospitals and scientific research laboratories, colleges and
  299.           universities, member companies of the Forbes and Fortune 500s,
  300.           BBS SysOps and individual users everywhere.  It's likely that
  301.           CHECKUP runs on more systems world-wide than all other anti-virus
  302.           systems combined.
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.                                                                            4
  334.  
  335.           ════════════════════
  336.           WHAT THE CRITICS SAY
  337.           ════════════════════
  338.  
  339.           "... I've looked at all the shareware virus-protection programs,
  340.           hoping to find one to present on the COMPUTE!'s PC Magazine disk.
  341.           Rich Levin's CHECKUP is the one I have chosen."
  342.  
  343.                                              George Campbell
  344.                                              "Best of the Boards"
  345.                                              COMPUTE!'s PC Magazine
  346.  
  347.           "... a sophisticated variation of the checksum method . . . very
  348.           difficult for a virus to evade."
  349.  
  350.                                              Ernest Perez
  351.                                              Computer Systems Consultant
  352.                                              Chicago-Sun Times
  353.                                              Link-Up Magazine
  354.  
  355.           "CHECKUP is one of several excellent shareware answers to viral
  356.           protection."
  357.  
  358.                                              Ralph Roberts
  359.                                              "Computer Viruses"
  360.                                              A COMPUTE! book
  361.  
  362.           ══════════════════════════
  363.           CHECKUP'S ARCHIVE CONTENTS
  364.           ══════════════════════════
  365.  
  366.                The CHECKUP archive contains the following files:
  367.  
  368.                    CHECKUP.BAT - sample CHECKUP batch file
  369.                    CHECKUP.DOC - this file
  370.                        MIS.BAT - alternate CHECKUP batch file for MISes
  371.                     README.DOC - may or may not be present
  372.                   REGISTER.DOC - CHECKUP owner registration form
  373.                    CHECKUP.EXE - CHECKUP program
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.                                                                            5
  400.  
  401.           ════════════
  402.           NEW FEATURES
  403.           ════════════
  404.  
  405.                1.   Documentation revised.
  406.  
  407.                2.   Wildcard (* and ?) filespecs accepted.
  408.  
  409.                3.   Table-driven CRC and encryption algorithms added.
  410.  
  411.                4.   Format of .XUP files updated.  (CHECKUP automatically
  412.                     converts old .XUP files to the new format.)
  413.  
  414.                5.   LOG/TMP environment variable for log file path added.
  415.  
  416.                6.   Color video output added for users of color monitors.
  417.  
  418.                7.   Seven command-line options added:  /C[OLOR], /D[EBUG],
  419.                     /L[OCK], /M[ONO], /N[OLOG], /R[EPLACE] and /S[HIFT].
  420.  
  421.                8.   Drive-without-pathspec bug fixed.
  422.  
  423.                9.   /N[OLOG] bug fixed.
  424.  
  425.                10.  ERRORLEVEL reporting added.
  426.  
  427.                11.  CHECKUP.BAT file updated.
  428.  
  429.                12.  MIS.BAT file added.
  430.  
  431.           ════════════
  432.           PROGRAM INFO
  433.           ════════════
  434.  
  435.             Program:  Rich Levin's CHECKUP Version 3.2
  436.            Compiled:  April 20, 1989
  437.            Function:  Detects file size and incremental CRC changes
  438.               Class:  PC/MS-DOS compatible virus detection program
  439.               Price:  $25.00 per copy/per computer (Free to private users)
  440.             Editors:  Norton Editor v.1.3C             (1)
  441.               Trace:  Rich Levin's ADDLINE v.2.1       (2)
  442.            Compiler:  Microsoft BASIC v.6.0            (3)
  443.            Math LIB:  Alternate (/FPA)
  444.           Externals:  ProBas v.3.0, Mr_OBJ ß           (4)(5)
  445.              Linker:  Microsoft Segmented-Executable Linker v.5.01.20
  446.              Author:  Richard B. Levin
  447.             Address:  P.O. Box 14546, Phila., PA 19115
  448.           Telephone:  (215) 333-8274
  449.                 BBS:  The Mother Board @ (215) 333-8275 (300/1200/2400)
  450.  
  451.           (1) Available from Peter Norton Computing, (800) 365-1010
  452.           (2) Available from Rich Levin, (215) 333-8274
  453.           (3) Available from Microsoft Corporation, (206) 882-8080
  454.           (4) Available from Hammerly Computer Services, (301) 953-2191*
  455.           (5) Available from Scott Russell, (215) 873-9769
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.                                                                            6
  466.  
  467.           *    The predecessor of ProBas, AdvBas v.9a, is available for
  468.                downloading on the Mother Board BBS.  We recommend ProBAS.
  469.  
  470.           ßeta testers:  Bengt Lindblad
  471.                          Katherine Margolis
  472.                          Keith "Can it take input from LPT1?" Russell
  473.                          Scott Russell
  474.  
  475.           Documentation - Author:  Richard B. Levin
  476.                      Proofreader:  Carol Levin
  477.           Editor (through v.2.4):  Katherine Margolis
  478.            Production consultant:  John Ellard
  479.  
  480.           Principal distribution points:  The Mother Board BBS
  481.                                           CompuServe's IBMNET
  482.                                           GEnie's IBM & BBS RTs
  483.  
  484.           CHECKUP is published by Richard B. Levin
  485.                                   9405 Bustleton Ave.
  486.                                   P.O. Box 14546
  487.                                   Phila., PA 19115
  488.  
  489.                                   Lab:  (215) 333-8274
  490.                                   BBS:  (215) 333-8275
  491.  
  492.                The latest version of CHECKUP is available for downloading
  493.           on the Mother Board BBS.  Support is also available direct from
  494.           Rich Levin.  Please leave a message on our answering machine if
  495.           we are unable to answer your call personally.  We return long
  496.           distance calls collect.
  497.  
  498.           ════════════════
  499.           COPYRIGHT NOTICE
  500.           ════════════════
  501.  
  502.                The name "CHECKUP" and the CHECKUP program, documentation,
  503.           CHECKUP-created input and output files, visual displays,
  504.           interface, look and feel (hereinafter referred to as "the CHECKUP
  505.           system") are copyright (c) and trademark (tm) 1988 Richard B.
  506.           Levin (hereinafter referred to as "the author"), all rights
  507.           reserved.
  508.  
  509.                The author reserves the right to make changes to the CHECKUP
  510.           system at any time without prior notice.  The CHECKUP system is
  511.           provided to the user "as is" without warranty of any kind, either
  512.           express or implied.  No part of the CHECKUP system may be
  513.           reproduced without the written permission of the author.
  514.  
  515.                The CHECKUP system is protected by United States Copyright
  516.           Law (Title 17 United States Code).  Unauthorized modification,
  517.           reproduction, duplication, transfer or sales may result in
  518.           imprisonment of up to one year and fines of up to $10,000.00 (17
  519.           USC 506).  Copyright infringers may also be subject to civil
  520.           liability.  The Federal Bureau of Investigation investigates
  521.           allegations of criminal copyright infringement.
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.                                                                            7
  532.  
  533.           ══════════════════
  534.           OWNER REGISTRATION
  535.           ══════════════════
  536.  
  537.                ──────────────────────────────
  538.                CORPORATE AND GOVERNMENT USERS
  539.                ──────────────────────────────
  540.  
  541.                For-profit, non-profit and not-for-profit corporations,
  542.           governmental offices and agencies, and private individuals using
  543.           CHECKUP within these classifications are required to register
  544.           their ownership of the CHECKUP system with the author.  Every
  545.           registration must be accompanied by a registration fee of $25.00
  546.           for each computer running the CHECKUP system.  Registered owners
  547.           must submit an additional registration form and fee whenever the
  548.           CHECKUP system is installed on an unregistered computer.
  549.  
  550.                ─────────────
  551.                PRIVATE USERS
  552.                ─────────────
  553.  
  554.                Private users of CHECKUP are required to register their
  555.           ownership of the CHECKUP system with the author but are not
  556.           required to remit the $25.00 registration fee.  Donations are
  557.           accepted (and encouraged).
  558.  
  559.                ───────────────────
  560.                DISTRIBUTION POLICY
  561.                ───────────────────
  562.  
  563.                Users are permitted to distribute the CHECKUP system to
  564.           other users when the following conditions are met:
  565.  
  566.                *    The CHECKUP system must be distributed in its
  567.                     entirety, as originally produced by the author.
  568.  
  569.                *    No part of the CHECKUP system may be altered,
  570.                     added to, removed, re-archived or modified in any
  571.                     way whatsoever.
  572.  
  573.                FAILURE TO COMPLY WITH THE ABOVE TERMS AND CONDITIONS IS A
  574.           VIOLATION OF UNITED STATES COPYRIGHT LAW.
  575.  
  576.                ──────────────
  577.                UPGRADE POLICY
  578.                ──────────────
  579.  
  580.                The latest edition of CHECKUP is stored on the Mother Board
  581.           BBS (215-333-8275) in the "Software by Rich Levin" area and may
  582.           be downloaded at any time.  Upgrades are also regularly posted to
  583.           the IBMNET Forum on the CompuServe Information Service (GO
  584.           IBMNET) and the IBM and BBS RoundTables (RTs) on the General
  585.           Electric Network for Information Exchange (GEnie).
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.                                                                            8
  598.  
  599.           Tear Here - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  600.  
  601.  
  602.           ═════════════════
  603.           REGISTRATION FORM
  604.           ═════════════════
  605.  
  606.           USERS ARE REQUIRED BY LAW TO COMPLETE AND RETURN THIS FORM WITHIN
  607.                       TEN DAYS OF ACQUIRING THE CHECKUP SYSTEM
  608.  
  609.           Print, complete and mail to:  Richard B. Levin
  610.                                         CHECKUP Version 3.2 Registration
  611.                                         P.O. Box 14546
  612.                                         Phila., PA 19115
  613.  
  614.                Please have checks and money orders drawn on a U.S bank
  615.                or financial institution and made payable to "Richard
  616.                B. Levin."
  617.  
  618.                Purchase orders are accepted on a net terms basis, with
  619.                approved credit and a minimum initial purchase of
  620.                $500.00.  Orders are shipped insured, freight collect.
  621.  
  622.                Quantity pricing, site licenses, tax I.D. and Social
  623.                Security numbers are available on request.
  624.  
  625.                Prices subject to change without notice.
  626.  
  627.                IMPORTANT:     Please do not type or computer-print
  628.                               your responses to the registration
  629.                               questionnaire.  If necessary, use
  630.                               additional sheets of paper to complete
  631.                               this form.
  632.  
  633.  
  634.           Date of registration:
  635.  
  636.           _________________________________________________________________
  637.  
  638.  
  639.           Registered owner's name:
  640.  
  641.           _________________________________________________________________
  642.  
  643.  
  644.           Title:
  645.  
  646.           _________________________________________________________________
  647.  
  648.  
  649.           Department:
  650.  
  651.           _________________________________________________________________
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.                                                                            9
  664.  
  665.           Company:
  666.  
  667.           _________________________________________________________________
  668.  
  669.  
  670.           Address:
  671.  
  672.           _________________________________________________________________
  673.  
  674.           _________________________________________________________________
  675.  
  676.           _________________________________________________________________
  677.  
  678.           _________________________________________________________________
  679.  
  680.  
  681.           City, State and Zip:
  682.  
  683.           _________________________________________________________________
  684.  
  685.  
  686.           Home telephone number:  (               )              -
  687.  
  688.           Work telephone number:  (               )              -
  689.  
  690.  
  691.           Why do you use CHECKUP?
  692.  
  693.           _________________________________________________________________
  694.  
  695.           _________________________________________________________________
  696.  
  697.           _________________________________________________________________
  698.  
  699.           _________________________________________________________________
  700.  
  701.  
  702.           What feature(s) do you like most about CHECKUP?
  703.  
  704.           _________________________________________________________________
  705.  
  706.           _________________________________________________________________
  707.  
  708.           _________________________________________________________________
  709.  
  710.           _________________________________________________________________
  711.  
  712.  
  713.           What feature(s) do you like least about CHECKUP?
  714.  
  715.           _________________________________________________________________
  716.  
  717.           _________________________________________________________________
  718.  
  719.           _________________________________________________________________
  720.  
  721.           _________________________________________________________________
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.                                                                            10
  730.  
  731.           What feature(s) would you most like to see in CHECKUP that are
  732.           not there now?
  733.  
  734.           _________________________________________________________________
  735.  
  736.           _________________________________________________________________
  737.  
  738.           _________________________________________________________________
  739.  
  740.           _________________________________________________________________
  741.  
  742.  
  743.           Have you used anti-virus or virus detection software before?
  744.  
  745.                [   ] Yes   [   ] No
  746.  
  747.  
  748.           Please list the name(s) of the anti-virus or virus detection
  749.           software you have used if you answered YES to the previous
  750.           question:
  751.  
  752.           _________________________________________________________________
  753.  
  754.  
  755.           How much have you spent on viral defense systems?
  756.  
  757.           _________________________________________________________________
  758.  
  759.  
  760.           How much do you think a virus detection system should cost and
  761.           why?
  762.  
  763.           _________________________________________________________________
  764.  
  765.  
  766.           How did you hear about CHECKUP?
  767.  
  768.           _________________________________________________________________
  769.  
  770.  
  771.           How did you acquire your copy(s) of CHECKUP?
  772.  
  773.           _________________________________________________________________
  774.  
  775.  
  776.           Do you own or use any other software by Rich Levin?
  777.  
  778.                [   ] Yes   [   ] No
  779.  
  780.  
  781.           Please list the name(s) of the program(s) you own or use if you
  782.           answered YES to the previous question:
  783.  
  784.           _________________________________________________________________
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.                                                                            11
  796.  
  797.           Do you own or have access to a modem?
  798.  
  799.                [   ] Yes   [   ] No
  800.  
  801.  
  802.           Please list the name brand and baud rate of the modem(s) you own
  803.           or use if you answered YES to the previous question:
  804.  
  805.           _________________________________________________________________
  806.  
  807.  
  808.                ─────────────────────────────────────────────────
  809.                REGISTRATION FEE AND PLEDGE FOR NON-PRIVATE USERS
  810.                ─────────────────────────────────────────────────
  811.  
  812.                Please enclose your check or money order (drawn on a U.S.
  813.           bank or financial institution and made payable to "Richard B.
  814.           Levin") in the amount of $25.00 for each copy of CHECKUP
  815.           installed on an unregistered computer.
  816.  
  817.                Total number of
  818.                unregistered computers
  819.                running CHECKUP........[#              ]
  820.  
  821.                                         X $25.00 each =
  822.                                        ────────────────
  823.                Amount enclosed.........[$             ]
  824.                                        ════════════════
  825.  
  826.                The undersigned hereby pledges to do his/her best to insure
  827.           that registration forms (and fees, if applicable) are submitted
  828.           to the author whenever the CHECKUP system is installed on
  829.           unregistered computers.
  830.  
  831.  
  832.           Date:  __________________________________________________________
  833.  
  834.           
  835.  
  836.           Signature:  _____________________________________________________
  837.  
  838.           
  839.  
  840.           Attest:  ________________________________________________________
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.                                                                            12
  862.  
  863.                ───────────────────────────────────────────────────────
  864.                WAIVER OF REGISTRATION FEE AND PLEDGE FOR PRIVATE USERS
  865.                ───────────────────────────────────────────────────────
  866.  
  867.                The undersigned hereby certifies that he/she is using
  868.           CHECKUP in the home on his/her personal computer(s) and that said
  869.           computer(s) are not used on behalf of any for-profit, non-profit
  870.           and not-for-profit corporations, or governmental offices or
  871.           agencies.
  872.  
  873.                The undersigned pledges to do his/her best to insure that
  874.           registration forms (and fees, if applicable) are submitted to the
  875.           author whenever the CHECKUP system is installed on unregistered
  876.           computers.
  877.  
  878.  
  879.           Date:  __________________________________________________________
  880.  
  881.           
  882.  
  883.           Signature:  _____________________________________________________
  884.  
  885.           
  886.  
  887.           Attest:  ________________________________________________________
  888.  
  889.  
  890.           Tear Here - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.                                                                            13
  928.  
  929.           ═══════════════════════
  930.           NOTE TO USERS OF MS-DOS
  931.           ═══════════════════════
  932.  
  933.                The files IO.SYS and MSDOS.SYS are the MS-DOS equivalents to
  934.           PC-DOS' IBMBIO.COM and IBMDOS.COM.
  935.  
  936.           ═══════════════════
  937.           THE PROBLEM DEFINED
  938.           ═══════════════════
  939.  
  940.                Computer programs disguised as "normal" applications that
  941.           intentionally destroy data--without users commanding them to do
  942.           so--are popularly called "bombs" or "Trojan horses."  Bombs
  943.           "explode" on users who do not know or care to follow the proper
  944.           precautions for evaluating software (procedures outlined later in
  945.           this document).  Bombs can have disastrous effects:  erased
  946.           files, scrambled directories and reformatted disks are but some
  947.           of the documented results.  Because they self-destruct (they run
  948.           on the systems they destroy), bombs have limited run-time lives.
  949.  
  950.                Like bombs, computer viruses are delivered by
  951.           harmless-looking Trojan carriers that "blow up."  Unlike bombs,
  952.           which detonate immediately when run, viruses pursue a more
  953.           sinister plan:  replication and data transmutation.  Programmed
  954.           to reproduce and spread in secret, viruses strive to extend their
  955.           run-time lives.  They convert normal programs into Trojan
  956.           carriers in the process, creating infected messengers that
  957.           penetrate other computers as files are shared.  The reproductive
  958.           cycle continues until the number of diseased files reaches
  959.           epidemic proportions.
  960.  
  961.                To track their activities, viruses place marker-bytes
  962.           ("v-markers") in files during initial infections.  When
  963.           uninfected files cannot be found, hosts are assumed to be
  964.           thoroughly contaminated.  Viruses then embark on the final phase
  965.           of their covert operations:  data tampering and destruction.
  966.           They may begin by simply toying with users, printing taunting
  967.           messages on the screen or causing abnormal system behavior.
  968.           Eventually, however, most viruses go for the jugular and damage
  969.           disk-based data.  Once infections are discovered, countless
  970.           offspring have probably been spawned and, if all went according
  971.           to plan, back-up data and multiple computers have been infected.
  972.           Eradication can be a time-consuming and complicated process, with
  973.           relapses occurring long after systems appear to be cleansed.
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.                                                                            14
  994.  
  995.                Well-written computer viruses are difficult to detect using
  996.           modern file management and anti-Trojan techniques.  They are
  997.           ingenious yet simple programs, polluting systems by inserting
  998.           themselves into, appending onto or creating shells around benign
  999.           programs' executable files.  Expertly engineered viruses will not
  1000.           change file date or time stamps, nor will they alter attributes,
  1001.           sizes or checksums.  Converting the attributes of potential viral
  1002.           targets (such as COMMAND.COM, IBMBIO.COM or IBMDOS.COM) to
  1003.           "read-only" may prevent inadequately designed viruses from
  1004.           infecting them.  Most viruses, however, can check file
  1005.           attributes, reset them if necessary, infect, and then return the
  1006.           attributes to their original state.  As you will learn in the
  1007.           following chapters, there are no sure-fire ways to prevent
  1008.           viruses from infecting systems.  The solution, then, is to
  1009.           isolate and eradicate infections immediately after they occur
  1010.           using virus detection software stored off-line.
  1011.  
  1012.           ════════════════════════════════════
  1013.           THE TROUBLE WITH ANTI-VIRUS SOFTWARE
  1014.           ════════════════════════════════════
  1015.  
  1016.                Many public domain, shareware and commercial utilities
  1017.           designed to combat viruses have appeared since the first big
  1018.           virus scare in early 1988.  Some observations on them follow.
  1019.  
  1020.                ───────────────────────────────────────────────
  1021.                COMMERCIAL SOLUTIONS (or "Hey--what a market!")
  1022.                ───────────────────────────────────────────────
  1023.  
  1024.                The commercial products we've seen available for virus
  1025.           detection and prevention are overpriced, over-hyped and
  1026.           underpowered, providing none of the benefits their shareware
  1027.           counterparts do not provide for less money.  All are marketed
  1028.           using "the fear factor"--the exploitation of under-educated
  1029.           users.
  1030.  
  1031.                ──────────
  1032.                "VACCINES"
  1033.                ──────────
  1034.  
  1035.                Quite a few commercial packages claim to provide a software
  1036.           "antigen" or "vaccine" that, when "injected" into executable
  1037.           files, "inoculates" them to prevent infections.  Unfortunately,
  1038.           the implicit comparisons between anti-virus programs and
  1039.           biological vaccines is misleading--just so much marketing
  1040.           rhetoric.
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.                                                                            15
  1060.  
  1061.                What software vaccines actually do is append small
  1062.           anti-virus programs and data (usually consisting of file
  1063.           checksums or CRCs) to target executable files.  The target files
  1064.           are modified so that, when run, control is passed first to the
  1065.           appended anti-virus programs.  The anti-virus programs compare
  1066.           the files' present states to their appended data.  When
  1067.           comparisons are successful, control is returned to the target
  1068.           files, which (if all goes well) begin their normal operations.
  1069.           When comparisons fail, users are alerted and (hopefully)
  1070.           appropriate actions are taken.  Some of the shortcomings and
  1071.           complications associated with software vaccines are:
  1072.  
  1073.                *    "Vaccinated" programs take longer to load because
  1074.                     appended anti-virus code and data increases
  1075.                     overhead.
  1076.  
  1077.                *    Large amounts of disk space can be consumed as
  1078.                     program file sizes grow ever-larger with appended
  1079.                     anti-virus code and data.
  1080.  
  1081.                *    Data and overlay files cannot be protected;
  1082.                     vaccines must be attached to executable files.
  1083.  
  1084.                *    Some vaccines cannot protect .COM files because
  1085.                     they (the vaccines) try to modify .EXE headers.
  1086.                     .COM files do not have .EXE headers.
  1087.  
  1088.                *    Many vaccines cannot protect packed .EXE files.
  1089.                     (Packed files have been compressed during
  1090.                     programming's LINK process to conserve disk space;
  1091.                     they expand in-memory when run.  CHECKUP.EXE is an
  1092.                     example of a packed .EXE file.)
  1093.  
  1094.                *    False alarms are generated when self-modifying
  1095.                     programs (like Borland's SideKick) update internal
  1096.                     data areas.  To prevent false alarms, users are
  1097.                     forced to remove and re-install vaccines before,
  1098.                     and after, self-modifying programs are used--a
  1099.                     cumbersome process at best.
  1100.  
  1101.                *    For programmers, source code modifications are
  1102.                     often misinterpreted as viral alterations.
  1103.  
  1104.                *    There are no guarantees that modifications to
  1105.                     executable files (like the appending of anti-virus
  1106.                     code and data) will not adversely affect their
  1107.                     operation.
  1108.  
  1109.                *    The virus-like behavior of vaccines can cause
  1110.                     conflicts with other viral defense systems.
  1111.  
  1112.                *    A virus can detect the modification of target
  1113.                     files and simply delete the anti-virus code and
  1114.                     data.
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.                                                                            16
  1126.  
  1127.                Vaccines operate in a fashion fundamentally similar to
  1128.           viruses, although they do not reproduce without authorization or
  1129.           purposely damage files.  Most users would be extremely
  1130.           uncomfortable injecting a virus, antigen or otherwise, into their
  1131.           executable files, especially when safer, less drastic
  1132.           alternatives are available.
  1133.  
  1134.                ─────────
  1135.                ANTIDOTES
  1136.                ─────────
  1137.  
  1138.                Certain anti-virus vendors claim their utilities can remove
  1139.           viruses or repair files damaged by a virus.  Perhaps so; a far
  1140.           more reliable method, however, is to restore infected files from
  1141.           certified back-up copies.  Other vendors boldly demonstrate their
  1142.           programs' "amazing" abilities to restore "virus-deleted" data
  1143.           from reformatted, repartitioned hard disks.  The truth is they
  1144.           are merely restoring back-up copies of a disk's critical
  1145.           information:  the boot sectors, File Allocation Tables, disk
  1146.           directories and partition data.
  1147.  
  1148.                Most users are blissfully unaware that reformatting and
  1149.           repartitioning hard disks does not delete user data; instead, it
  1150.           marks allocated disk space as "unused."  By replacing disk "road
  1151.           maps" with accurate back-ups, user data appears to be
  1152.           miraculously resurrected.  As with software vaccines,
  1153.           format-recovery programs have significant drawbacks:
  1154.  
  1155.                *    If the back-up data is not current, the
  1156.                     information it replaces will be out of date--an
  1157.                     inaccuracy that leads to further data loss.
  1158.  
  1159.                *    Format recovery programs cannot reconstruct data
  1160.                     erased by low-level or destructive high-level
  1161.                     reformatting.  (Low-level formatting is employed
  1162.                     by most hard disk controller manufacturers;
  1163.                     destructive formatting is a feature of AT&T's and
  1164.                     Compaq Computer's DOS' and perhaps other OEM DOS
  1165.                     versions.)
  1166.  
  1167.                *    If new data has been written to a disk after it
  1168.                     has been reformatted, deleted data cannot be
  1169.                     reliably recovered.
  1170.  
  1171.                Once again, it is safer (and more reliable) to restore files
  1172.           from certified back-up copies.  There are no substitutes for
  1173.           regularly scheduled back-ups.
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                                                                            17
  1192.  
  1193.                ─────────────────────────
  1194.                FILE COMPARISON UTILITIES
  1195.                ─────────────────────────
  1196.  
  1197.                This category of anti-virus offerings compares two
  1198.           mirror-image copies of a target file specification.  There are
  1199.           several problems with this technique:
  1200.  
  1201.                *    The same level of protection is achieved using any
  1202.                     file-comparison utility, including those provided
  1203.                     with DOS.
  1204.  
  1205.                *    A a mirror-image of every compared file must be
  1206.                     stored on another disk or directory, a waste of
  1207.                     valuable disk space.
  1208.  
  1209.                *    Viruses can check disk directories for duplicate
  1210.                     files and infect both copies of a target filespec.
  1211.  
  1212.                *    Most file comparison utilities designed
  1213.                     specifically for virus detection prevent users
  1214.                     from comparing anything more than a system's
  1215.                     start-up files.  All other files, including user
  1216.                     data, remain unprotected.
  1217.  
  1218.                ──────────────
  1219.                "DISK-MAPPERS"
  1220.                ──────────────
  1221.  
  1222.                Disk-mappers (also known as "picture takers,"
  1223.           "finger-printers" and "signature checkers") maintain data files
  1224.           consisting of coded images of entire disks.  Disk-mappers notify
  1225.           users when changes are encountered between target disks and their
  1226.           coded images.  Here again, the solution fails to provide a
  1227.           suitable defense against viruses:
  1228.  
  1229.                *    Disk-mappers' output files can occupy vast amounts
  1230.                     of disk space, increasing in direct proportion to
  1231.                     the number of files being tracked.
  1232.  
  1233.                *    Time consuming maintenance of disk-mapper data
  1234.                     files is generally required.  As the state of the
  1235.                     target disk evolves, entries must be updated,
  1236.                     deleted and purged.
  1237.  
  1238.                *    Disk-mappers can be complex to operate because
  1239.                     they must support many data-file maintenance
  1240.                     options.
  1241.  
  1242.                *    Disk-mappers customarily update data files at
  1243.                     system start-up, increasing boot time.
  1244.  
  1245.                *    Viruses can detect, modify and delete disk-mapper
  1246.                     data files.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.                                                                            18
  1258.  
  1259.                *    Some disk-mapping programs convert files
  1260.                     (including raw data) to read-only status, thereby
  1261.                     assuring conflicts with other applications.
  1262.  
  1263.                *    Several disk mapping schemes rely on
  1264.                     memory-resident modules to intercept DOS commands
  1265.                     in order to provide last-minute checks of programs
  1266.                     about to run.  Problems with this approach are
  1267.                     discussed in the next section.
  1268.  
  1269.                ───────────────
  1270.                ANTI-VIRUS TSRs
  1271.                ───────────────
  1272.  
  1273.                Programs that terminate and stay RAM-resident after loading
  1274.           are commonly referred to as "TSRs."  Anti-virus programs
  1275.           employing this technology typically monitor disk writes that are
  1276.           directed to selected files.  There are many problems with this
  1277.           methodology:
  1278.  
  1279.                *    Some computer configurations respond poorly to
  1280.                     particular groupings of TSR programs--they crash,
  1281.                     lock-up or simply behave abnormally.
  1282.  
  1283.                *    Anti-virus TSRs often consume considerable
  1284.                     portions of limited available RAM space.
  1285.  
  1286.                *    False alarms occur frequently, triggered by normal
  1287.                     disk activity that's misinterpreted.
  1288.  
  1289.                *    Most anti-virus TSRs allow a limited number of
  1290.                     files to be monitored, leaving other files--user
  1291.                     data included--unprotected.
  1292.  
  1293.                *    System performance decreases as each BIOS- or
  1294.                     DOS-driven disk write is intercepted for
  1295.                     processing by anti-virus TSRs.
  1296.  
  1297.                *    Viruses can directly manipulate disk controller
  1298.                     hardware to bypass interception by anti-virus
  1299.                     TSRs.
  1300.  
  1301.                *    Anti-virus TSRs can be easily detected by viruses,
  1302.                     which is not surprising, since TSRs are always
  1303.                     evident in RAM.  Viruses can disable or remove
  1304.                     TSRs and for this reason alone, anti-virus TSRs
  1305.                     provide users with a false sense of security.
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.                                                                            19
  1324.  
  1325.                A final point, relevant to all anti-virus systems:  viruses
  1326.           have complete control of PC system resources at the moment of
  1327.           infection.  Anti-virus programs renamed and stored in hidden
  1328.           subdirectories, write-protected hard disks; hidden, read-only and
  1329.           vaccinated files, file comparison utilities, disk maps, TSR
  1330.           programs, device drivers, you name it--all are subject to the
  1331.           scrutiny of viruses as they examine their hosts.  Obviously,
  1332.           then, anti-virus systems stored on non-removable media, relying
  1333.           on support files stored on non-removable media or residing in
  1334.           memory are themselves subject to infection.
  1335.  
  1336.           ═════════════════
  1337.           HOW CHECKUP WORKS
  1338.           ═════════════════
  1339.  
  1340.                CHECKUP detects viral infections by comparing target file
  1341.           sizes, incremental cyclic redundancy checks (CRCs) and total file
  1342.           CRCs to previously stored baseline values.  CHECKUP examines
  1343.           files by dissecting them into randomly sized blocks of data,
  1344.           using a dynamic block size allocation process that allows files
  1345.           as small as one byte to be accurately checked.  CHECKUP then
  1346.           scans and compares every byte of the target files on a
  1347.           block-by-block basis.  If the recorded file sizes, any of the
  1348.           block CRC comparisons or the CRC totals do not match, CHECKUP
  1349.           alerts the user that the target files have been altered.
  1350.  
  1351.                CHECKUP's incremental block CRC technique is superior to
  1352.           simply calculating files sum-of-the-bytes and comparing checksum
  1353.           totals.  Future viruses may be able to compute checksums prior to
  1354.           infections, pad their viral code with characters that maintain
  1355.           checksum integrity and then infect.  Even more alarming is the
  1356.           knowledge that viruses can effortlessly exchange bytes within
  1357.           data files--a potent destruction of data ordinary checksum
  1358.           programs cannot detect.  (For example, the checksum of both 1 + 2
  1359.           and 2 + 1 is 3, yet the order of operators [the numbers 1 and 2]
  1360.           are different.)  This kind of viral activity would defeat other
  1361.           checksum calculation programs, but not CHECKUP.
  1362.  
  1363.                We believe it is impossible for a virus to maintain an
  1364.           accurate intra-file (inter-block) CRC.  This is especially true
  1365.           when the checked block size varies from one byte to near total
  1366.           file size, when the method for calculating the CRC is unknown and
  1367.           when the results encrypted.  To survive CHECKUP's scrutiny, a
  1368.           virus would need to know the block size, the exact calculation
  1369.           entry point, the CRC algorithm and the encryption key CHECKUP
  1370.           used.  The virus would then have the difficult--if not
  1371.           impossible--task of padding its code with dummy characters, since
  1372.           adjustments would have to occur every hundred few bytes.  Even if
  1373.           a virus were able to achieve this high degree of adaptability, it
  1374.           would nevertheless be unable to operate in such an internally
  1375.           scrambled condition.
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.                                                                            20
  1390.  
  1391.           ═══════════════
  1392.           RUNNING CHECKUP
  1393.           ═══════════════
  1394.  
  1395.                Launch syntax is:
  1396.           
  1397.                     [d:][path]CHECKUP [d:][path]filename[.ext] [/options]
  1398.  
  1399.                Where:
  1400.  
  1401.                *    [d:] specifies the letter of the drive that
  1402.                     contains the CHECKUP program file.
  1403.  
  1404.                *    [path] specifies the path name that contains the
  1405.                     CHECKUP program file.
  1406.  
  1407.                *    CHECKUP is the run-time name of the CHECKUP.EXE
  1408.                     program file.
  1409.  
  1410.                *    [d:][path]filename[.ext] specifies the drive, path
  1411.                     and target file name(s) that you want CHECKUP to
  1412.                     process.
  1413.  
  1414.                *    [/options] are one or more of CHECKUP's
  1415.                     command-line parameters (note that only the switch
  1416.                     character ("/") and first letter of the option(s)
  1417.                     selected is required):
  1418.  
  1419.                     /C[OLOR]       Override auto-attributes and use
  1420.                                    color
  1421.  
  1422.                     /D[EBUG]       Print verbose error messages
  1423.  
  1424.                     /L[OCK]        Lock-up system when file
  1425.                                    modifications are detected
  1426.  
  1427.                     /M[ONO]        Override auto-attributes and use
  1428.                                    monochrome
  1429.  
  1430.                     /N[OLOG]       Suppress output of CHECKUP.LOG file
  1431.  
  1432.                     /R[EPLACE]     Use replacement extension (.COM
  1433.                                    becomes .XOM)
  1434.  
  1435.                     /S[HIFT]       Use shifted extension (.COM becomes
  1436.                                    .XCO)
  1437.  
  1438.                Notes:
  1439.  
  1440.                *    If a drive letter is not specified, the default
  1441.                     drive is assumed.
  1442.  
  1443.                *    If a path name is not specified, the default
  1444.                     directory is assumed.
  1445.  
  1446.                *    The global file name characters * and ? may be
  1447.                     used to specify target files.
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.                                                                            21
  1456.  
  1457.                *    If CHECKUP is stored in the current directory or
  1458.                     in a directory specified by the PATH environment
  1459.                     variable, the drive letter and path name preceding
  1460.                     the CHECKUP file name become optional.
  1461.  
  1462.                Examples:
  1463.  
  1464.                *    To check COMMAND.COM on the logged default drive
  1465.                     in the logged default directory, the launch syntax
  1466.                     would be:
  1467.                     
  1468.                          CHECKUP COMMAND.COM
  1469.  
  1470.                *    To check all of the .COM files on the logged
  1471.                     default drive in the logged default directory, the
  1472.                     launch syntax would be:
  1473.                     
  1474.                          CHECKUP *.COM
  1475.  
  1476.                *    To check FOO.EXE (a very popular program) on the
  1477.                     C: drive in the \PLOP\PLOP\FIZZ\FIZZ directory,
  1478.                     the launch syntax would be:
  1479.                     
  1480.                          CHECKUP C:\PLOP\PLOP\FIZZ\FIZZ\FOO.EXE
  1481.  
  1482.                *    To check all of the .EXE files on the C: drive in
  1483.                     the \PLOP\PLOP\FIZZ\FIZZ directory, the launch
  1484.                     syntax would be:
  1485.                     
  1486.                          CHECKUP C:\PLOP\PLOP\FIZZ\FIZZ\*.EXE
  1487.  
  1488.                CHECKUP accepts all legal DOS path and file names.  Running
  1489.           CHECKUP without command-line parameters causes the correct
  1490.           invocation syntax to be displayed.
  1491.  
  1492.                Launch CHECKUP for each file or group of files you want to
  1493.           process.  CHECKUP may be launched as many times as necessary.
  1494.  
  1495.                ────────────────────────────────────
  1496.                CREATING A CLEAN CHECKUP FLOPPY DISK
  1497.                ────────────────────────────────────
  1498.  
  1499.                We suggest that CHECKUP be run by an AUTOEXEC.BAT file
  1500.           residing on a "clean" floppy disk.  This ensures that files are
  1501.           checked by a pure copy of CHECKUP loaded by uninfected system
  1502.           files.  It also guarantees that the .XUP files CHECKUP generates
  1503.           will not be illegitimately altered.
  1504.  
  1505.                The following steps explain how to create a clean CHECKUP
  1506.           floppy disk using an IBM PC-compatible with 2 floppy disk drives
  1507.           and a hard disk.  Experienced users can adapt these steps to
  1508.           accommodate different configurations:
  1509.  
  1510.                1.   Turn off your computer.  Remove all floppy disks.
  1511.                     Wait 60 seconds.
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.                                                                            22
  1522.  
  1523.                2.   Insert a factory master copy of DOS into drive A.
  1524.                     Close the disk drive door, then turn your computer
  1525.                     on.
  1526.  
  1527.                3.   After your computer has completed the start-up
  1528.                     process, insert a NEW, never used, unformatted
  1529.                     floppy disk into drive B.  Close the disk drive
  1530.                     door.
  1531.  
  1532.                4.   Enter the command:
  1533.                     
  1534.                          FORMAT B: /S
  1535.                     
  1536.                     (The /S switch causes the FORMAT command to
  1537.                     transfer DOS' system files to the disk in drive B,
  1538.                     making it boot-able.)
  1539.  
  1540.                5.   After the floppy disk in drive B has been
  1541.                     formatted and the system files transferred, copy
  1542.                     CHECKUP.BAT and CHECKUP.EXE to the floppy disk in
  1543.                     the B drive.
  1544.  
  1545.                6.   After CHECKUP.BAT and CHECKUP.EXE have been copied
  1546.                     to the floppy disk in the B drive, enter the
  1547.                     following commands:
  1548.                     
  1549.                          B:
  1550.                          REN CHECKUP.BAT AUTOEXEC.BAT
  1551.                          COPY CON CONFIG.SYS
  1552.                          BUFFERS = 33
  1553.  
  1554.                7.   Press F6, then press ENTER.
  1555.  
  1556.                8.   Remove the factory master DOS disk from drive A.
  1557.                     Replace it with the factory master of your
  1558.                     favorite ASCII editor.
  1559.  
  1560.                9.   Run your ASCII editor and edit the AUTOEXEC.BAT
  1561.                     file on drive B to reflect the files you want
  1562.                     CHECKUP to process.  Confirm that the drive and
  1563.                     path names of the target files and .XUP files
  1564.                     match exactly.
  1565.  
  1566.                10.  After you have finished editing the AUTOEXEC.BAT
  1567.                     file on drive B, remove the factory master of your
  1568.                     ASCII editor from drive A.  Replace it with the
  1569.                     clean CHECKUP floppy disk you just created on
  1570.                     drive B (leaving CHECKUP in drive A and drive B
  1571.                     empty).
  1572.  
  1573.                11.  Press and hold the Ctrl+Alt+Del keys to re-boot
  1574.                     your computer.  CHECKUP will process the files
  1575.                     specified in the AUTOEXEC.BAT file, copy the .XUP
  1576.                     files back to the A drive and delete duplicate
  1577.                     .XUP files from the target disk.
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.                                                                            23
  1588.  
  1589.                12.  After CHECKUP's AUTOEXEC.BAT file has completed
  1590.                     its run, remove the clean CHECKUP floppy disk from
  1591.                     drive A and store it in a cool, dry place.
  1592.  
  1593.                13.  Press and hold the Ctrl+Alt+Del keys to re-boot
  1594.                     your computer.
  1595.  
  1596.                Use the clean CHECKUP floppy disk to boot your computer
  1597.           whenever you check files again.
  1598.  
  1599.                Remember that all viruses, no matter how sophisticated,
  1600.           share the same, simple weakness:  they cannot affect programs or
  1601.           data unless they have access to them.  By storing CHECKUP, the
  1602.           CHECKUP AUTOEXEC.BAT file and the .XUP files on a clean,
  1603.           boot-able floppy disk, and by using that disk *ONLY* to boot and
  1604.           run CHECKUP (and for *NO* other operations), you are isolating
  1605.           your CHECKUP system files which ensures their reliable operation.
  1606.  
  1607.                ───────────────────────────────────────
  1608.                CHECKUP'S CHECKUP.BAT/AUTOEXEC.BAT FILE
  1609.                ───────────────────────────────────────
  1610.  
  1611.                An example of the suggested CHECKUP AUTOEXEC.BAT file for a
  1612.           hard disk drive system follows.  This file will automatically run
  1613.           CHECKUP, check one of four ERRORLEVELs returned by CHECKUP and
  1614.           back-up .XUP files as they are created.  It is included in the
  1615.           CHECKUP archive file (under the name of CHECKUP.BAT) and may be
  1616.           edited as necessary:
  1617.  
  1618.           REM Rich Levin's CHECKUP.BAT (tm)
  1619.           REM Copyright (c) 1988 Richard B. Levin
  1620.           REM All Rights Reserved
  1621.           REM
  1622.           REM This batch file maintains clean copies of CHECKUP and .XUP
  1623.           REM files.  Rename to AUTOEXEC.BAT and store on a clean floppy
  1624.           REM disk.
  1625.           REM
  1626.           REM Set the system date and time:
  1627.           REM
  1628.                     DATE
  1629.                     TIME
  1630.           REM
  1631.           REM Make sure we're on the root directory of the hard disk
  1632.           REM (substitute the disk drive letter of your choice):
  1633.           REM
  1634.                     C:
  1635.                     CD \
  1636.           REM
  1637.           REM Copy CHECKUP and .XUP files from the A: drive to the hard
  1638.           REM disk:
  1639.           REM
  1640.                     COPY A:\CHECKUP.EXE
  1641.                     COPY A:\IBMBIO.XUP
  1642.                     COPY A:\IBMDOS.XUP
  1643.                     COPY A:\COMMAND.XUP
  1644.                     COPY A:\FOO.XUP C:\PLOP\PLOP\FIZZ\FIZZ
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.                                                                            24
  1654.  
  1655.           REM
  1656.           REM Check files and resulting ERRORLEVEL.  An ERRORLEVEL of 1 or
  1657.           REM higher indicates CHECKUP terminated abnormally.  (CHECKUP
  1658.           REM supports four ERRORLEVELs; see CHECKUP.DOC for details.)  In
  1659.           REM this example, system execution is halted by PAUSE-ing after
  1660.           REM a non-zero ERRORLEVEL is encountered.  You may want take
  1661.           REM different action(s) based on specific ERRORLEVELs.
  1662.           REM (Substitute your list of input files here):
  1663.           REM
  1664.                     CHECKUP *.COM
  1665.                     IF ERRORLEVEL 1 PAUSE
  1666.                     CHECKUP C:\PLOP\PLOP\FIZZ\FIZZ\FOO.EXE
  1667.                     IF ERRORLEVEL 1 PAUSE
  1668.           REM
  1669.           REM Copy .XUP files to the clean floppy disk:
  1670.           REM
  1671.                     COPY C:\*.XUP A:\
  1672.                     COPY C:\PLOP\PLOP\FIZZ\FIZZ\*.XUP A:\
  1673.           REM
  1674.           REM Reclaim disk space by deleting CHECKUP-related files from the
  1675.           REM hard disk:
  1676.           REM
  1677.                     DEL CHECKUP.EXE
  1678.                     DEL *.XUP
  1679.                     DEL C:\PLOP\PLOP\FIZZ\FIZZ\*.XUP
  1680.           REM
  1681.           REM End of CHECKUP.BAT
  1682.  
  1683.                COMMAND.COM, IBMBIO.COM and IBMDOS.COM should be checked on
  1684.           a daily basis, as they are the most likely targets of a spreading
  1685.           virus.  Also note that CHECKUP does not require the attributes of
  1686.           hidden and system files be changed prior to checking.  If the
  1687.           correct file specifications are on the command-line, CHECKUP will
  1688.           successfully process the files.
  1689.  
  1690.                ─────────────────────
  1691.                CHECKUP'S ERRORLEVELS
  1692.                ─────────────────────
  1693.  
  1694.                Upon exiting, CHECKUP returns the following ERRORLEVELs to
  1695.           DOS.  ERRORLEVELs can be tested for and acted upon in any batch
  1696.           file:
  1697.  
  1698.                ERRORLEVEL = Condition
  1699.                ───────────────────────────────────────────────────────
  1700.                         0 = Process terminated normally
  1701.                         1 = Input file(s) modified since last check
  1702.                         2 = Fatal error occurred
  1703.                         3 = Cancelled on demand (user aborted)
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.                                                                            25
  1720.  
  1721.                The ERRORLEVEL condition will test positive if CHECKUP
  1722.           generates an exit code equal to or greater than the ERRORLEVEL
  1723.           being tested for; this means that ERRORLEVELs must be checked in
  1724.           descending order to insure accuracy.  For example, the following
  1725.           batch file command executes if the ERRORLEVEL is equal to or
  1726.           greater than 1:
  1727.  
  1728.                     [ ...
  1729.                     IF ERRORLEVEL 1 [command]
  1730.                     ... ]
  1731.  
  1732.                The following code demonstrates how one command can be
  1733.           executed for ERRORLEVELs equal to or greater than 2 while a
  1734.           separate action is reserved for an ERRORLEVEL of 1:
  1735.  
  1736.                     [ ...
  1737.                     IF ERRORLEVEL 2 [command]
  1738.                     IF ERRORLEVEL 1 [command]
  1739.                     ... ]
  1740.  
  1741.                Finally, this code excerpt shows how different commands can
  1742.           be executed for different ERRORLEVELs:
  1743.  
  1744.                     [ ...
  1745.                     IF ERRORLEVEL 3 [command]
  1746.                     IF ERRORLEVEL 2 [command]
  1747.                     IF ERRORLEVEL 1 [command]
  1748.                     ... ]
  1749.  
  1750.                ERRORLEVEL reporting is provided as a tool to aid in the
  1751.           control of batch file execution; CHECKUP does not require users
  1752.           to test ERRORLEVEL conditions.
  1753.  
  1754.                ────────────────────
  1755.                CHECKUP'S .XUP FILES
  1756.                ────────────────────
  1757.  
  1758.                The first time a file is checked, CHECKUP creates an .XUP
  1759.           file in the same directory as the target file.  CHECKUP creates
  1760.           one .XUP for every checked file; access to the .XUP files is
  1761.           required during future checks.  If CHECKUP or any .XUP files are
  1762.           mysteriously deleted or altered, a CHECKUP-aware virus may have
  1763.           infiltrated your system.  To prevent viruses from gaining control
  1764.           of CHECKUP's files, use the clean floppy disk/batch file method
  1765.           described above.
  1766.  
  1767.                ──────────────────────────────────────────
  1768.                CHECKUP'S ALTERNATE OUTPUT FILE EXTENSIONS
  1769.                ──────────────────────────────────────────
  1770.  
  1771.                CHECKUP's default output file extension is .XUP.  There are
  1772.           times, however, when use of the .XUP extension causes
  1773.           complications (when checking sequentially numbered overlay files,
  1774.           for example).  CHECKUP provides two command-line alternatives
  1775.           designed to resolve filename conflicts:  the /R[EPLACE] and
  1776.           /S[HIFT] commands.
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.                                                                            26
  1786.  
  1787.                1.   The /R[EPLACE] command creates output files with
  1788.                     replacement extensions when a /R appears on
  1789.                     CHECKUP's command-line.  CHECKUP replaces the
  1790.                     first character of the input file extension with
  1791.                     the letter X:
  1792.  
  1793.                     OVERLAY.001    Input file
  1794.                     OVERLAY.X01    Optional replacement extension
  1795.                     OVERLAY.XUP    Normal CHECKUP output file
  1796.  
  1797.                     OVERLAY.002    Input file
  1798.                     OVERLAY.X02    Optional replacement extension
  1799.                     OVERLAY.XUP    Normal CHECKUP output file
  1800.  
  1801.                     When checking OVERLAY.002, CHECKUP will attempt to
  1802.                     use OVERLAY.XUP--an incorrect data file since it
  1803.                     contains output information gathered from checking
  1804.                     OVERLAY.001.  In this example, an "Input/output
  1805.                     file mismatch" error will occur if the /R switch
  1806.                     is not used.
  1807.  
  1808.                2.   The /S[HIFT] command creates output files with
  1809.                     shifted extensions when a /S appears on CHECKUP's
  1810.                     command-line.  CHECKUP replaces the first
  1811.                     character of the input file extension with the
  1812.                     letter X and replaces the second two characters of
  1813.                     the input file extension with the first two
  1814.                     characters (in effect shifting the extension one
  1815.                     character to the right):
  1816.  
  1817.                     COMMAND.COM    Input file
  1818.                     COMMAND.XCO    Optional shifted extension
  1819.                     COMMAND.XUP    Normal CHECKUP output file
  1820.  
  1821.                ────────────────────
  1822.                THE CHECKUP.LOG FILE
  1823.                ────────────────────
  1824.  
  1825.                CHECKUP maintains a file named CHECKUP.LOG on the root
  1826.           directory of the logged disk.  CHECKUP.LOG contains detailed
  1827.           records of CHECKUP's activity.  You can view the CHECKUP.LOG file
  1828.           with any ASCII editor and delete it at any time.  The CHECKUP.LOG
  1829.           file is provided as an informational tool only; CHECKUP does not
  1830.           require it to run.
  1831.  
  1832.                You can optionally SET a log file directory.  CHECKUP will
  1833.           store the CHECKUP.LOG file in the directory specified by the LOG
  1834.           or TMP environment variables.  The following command causes
  1835.           CHECKUP to store the CHECKUP.LOG file in the C:\CANYA\DIGIT
  1836.           directory:
  1837.  
  1838.                     SET LOG=C:\CANYA\DIGIT
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.                                                                            27
  1852.  
  1853.                CHECKUP looks first for the LOG, then the TMP, environment
  1854.           variables.  If LOG is not found or null, CHECKUP attempts to use
  1855.           the TMP variable.  If TMP is not found or null, CHECKUP will use
  1856.           the root directory of the default drive.  Note that output of the
  1857.           CHECKUP.LOG file can be suppressed if the /N[OLOG] switch appears
  1858.           on CHECKUP's command-line.
  1859.  
  1860.                ──────────────────────────────────
  1861.                RUN-TIME MESSAGES AND EXPLANATIONS
  1862.                ──────────────────────────────────
  1863.  
  1864.                The following messages are encountered when using CHECKUP:
  1865.  
  1866.                1.   Syntax is . . .
  1867.  
  1868.                     CHECKUP was launched without command-line
  1869.                     parameters.
  1870.  
  1871.                2.   Cancelled on demand
  1872.  
  1873.                     The ESC or C keys were pressed; CHECKUP
  1874.                     discontinued file processing and returned to DOS.
  1875.  
  1876.                3.   Press any key to continue
  1877.  
  1878.                     The SPACE, P, CR or I keys were pressed; CHECKUP
  1879.                     paused processing and displayed this message.
  1880.  
  1881.                4.   CRC checks calculated and logged
  1882.  
  1883.                     CHECKUP processed the input file for the first
  1884.                     time or updated an existing .XUP file to a new
  1885.                     version.
  1886.  
  1887.                5.   File sizes are different
  1888.  
  1889.                     The input file size changed since CHECKUP first
  1890.                     processed it.
  1891.  
  1892.                6.   CRC error on block #
  1893.  
  1894.                     CHECKUP detected changes to the input file
  1895.                     beginning at the specified block number.
  1896.  
  1897.                7.   CRC checks match
  1898.  
  1899.                     The input file has not changed since CHECKUP last
  1900.                     processed it.
  1901.  
  1902.                8.   CHECKUP ALERT
  1903.  
  1904.                     CHECKUP detected file size or CRC changes.
  1905.  
  1906.                9.   System locked
  1907.  
  1908.                     CHECKUP detected changes to an input file and the
  1909.                     /L[OCK] command was specified on the command-line.
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.                                                                            28
  1918.  
  1919.                ────────────────────────────
  1920.                ERROR CODES AND EXPLANATIONS
  1921.                ────────────────────────────
  1922.  
  1923.                The following error messages may be encountered when using
  1924.           CHECKUP:
  1925.  
  1926.                1.   Endless loop error
  1927.  
  1928.                     See the explanation of "Loop error," below.
  1929.  
  1930.                2.   Bad file name
  1931.                     Bad file name or number
  1932.  
  1933.                     See the explanation of "Path/File access error,"
  1934.                     below.
  1935.  
  1936.                3.   Device fault
  1937.                     Device timeout
  1938.                     Device unavailable
  1939.                     Disk media error
  1940.                     Disk not ready
  1941.  
  1942.                     Indicates a hardware error (like an open disk
  1943.                     drive door or a bad, non-existent or incorrectly
  1944.                     specified device) or a hardware failure (such as a
  1945.                     damaged disk).
  1946.  
  1947.                     Retry the operation after checking disks, disk
  1948.                     drive doors, printer switches, cables, connections
  1949.                     and related hardware.
  1950.  
  1951.                4.   Device I/O error
  1952.  
  1953.                     An unrecoverable input/output error occurred.
  1954.  
  1955.                     Retry the operation.
  1956.  
  1957.                5.   Disk full
  1958.  
  1959.                     The disk is full.
  1960.  
  1961.                     Retry the operation using another disk or delete
  1962.                     some non-CHECKUP related files from the current
  1963.                     disk.
  1964.  
  1965.                6.   Error in EXE file
  1966.  
  1967.                     Either a portion of the CHECKUP.EXE file is
  1968.                     missing or the file is corrupt.
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.                                                                            29
  1984.  
  1985.                     Replace CHECKUP.EXE with a certified clean copy
  1986.                     downloaded direct from one of CHECKUP's principal
  1987.                     distribution points and download the latest
  1988.                     version.  Refer to the "PROGRAM INFO" section of
  1989.                     this document for a list of authorized
  1990.                     distribution points or call 215-333-8274 to
  1991.                     purchase a new CHECKUP master disk..
  1992.  
  1993.                7.   File not found
  1994.  
  1995.                     An input filespec does not exist.
  1996.  
  1997.                     Retry the operation using the correct filespec.
  1998.  
  1999.                8.   Input file contains 0 bytes
  2000.  
  2001.                     The input file did not contain data.
  2002.  
  2003.                     Retry the operation using a file that contains
  2004.                     data.
  2005.  
  2006.                9.   Input/output file mismatch
  2007.  
  2008.                     The input file was not the same as the one used to
  2009.                     create the output .XUP file.
  2010.  
  2011.                     Retry the operation using the correct input and
  2012.                     output files.
  2013.  
  2014.                10.  Out of memory
  2015.                     Out of string space
  2016.  
  2017.                     CHECKUP needs more RAM than is available.
  2018.  
  2019.                     Unload TSRs (memory resident utilities like
  2020.                     "SideKick") or buy an expansion card to increase
  2021.                     the amount of RAM.
  2022.  
  2023.                11.  Path/File access error
  2024.                     Path not found
  2025.  
  2026.                     An input file or path does not exist.
  2027.  
  2028.                     Retry the operation using the correct path and
  2029.                     file name.
  2030.  
  2031.                12.  Permission denied
  2032.  
  2033.                     An attempt was made to write to a write-protected
  2034.                     disk or to a locked file in a multi-user
  2035.                     environment.
  2036.  
  2037.                     Retry the operation.
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.                                                                            30
  2050.  
  2051.                13.  Too many files
  2052.  
  2053.                     CHECKUP was unable to open the input file.
  2054.  
  2055.                     Try adding the following statement to the
  2056.                     CONFIG.SYS file:
  2057.  
  2058.                          FILES = 25
  2059.  
  2060.                14.  Loop error
  2061.  
  2062.                     See the explanation of "Endless loop error,"
  2063.                     above.
  2064.  
  2065.                ────────────
  2066.                FATAL ERRORS
  2067.                ────────────
  2068.  
  2069.                The following error messages should never be encountered.
  2070.           If they are, they indicate an internal problem with CHECKUP.
  2071.           Contact us if any of these error messages are displayed more than
  2072.           once:
  2073.  
  2074.                   RETURN without GOSUB
  2075.                   Out of DATA
  2076.                   Illegal function call
  2077.                   Overflow
  2078.                   Subscript out of range
  2079.                   Division by zero
  2080.                   String formula too complex
  2081.                   No RESUME
  2082.                   RESUME without ERROR
  2083.                   CASE ELSE expected
  2084.                   Variable required
  2085.                   FIELD overflow
  2086.                   Internal error
  2087.                   File not found
  2088.                   Bad file mode
  2089.                   File already open
  2090.                   FIELD statement active
  2091.                   File already exists
  2092.                   Bad record length
  2093.                   Input past end of file
  2094.                   Bad record number
  2095.                   Communication-buffer overflow
  2096.                   Advanced feature unavailable
  2097.                   Rename across disks
  2098.                   Filename initialization error
  2099.                   Unassigned error
  2100.                   Miniaturization unsuccessful
  2101.                   No-new-taxes error
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.                                                                            31
  2116.  
  2117.           ═══════════════════════════
  2118.           ADVANTAGES OF USING CHECKUP
  2119.           ═══════════════════════════
  2120.  
  2121.                CHECKUP provides numerous advantages over other anti-virus
  2122.           systems:
  2123.  
  2124.                *    CHECKUP is fast, taking only seconds to check most
  2125.                     files.
  2126.  
  2127.                *    CHECKUP is easy to use.  There are no commands or
  2128.                     switches to learn, no maintenance modes, no
  2129.                     unusual installation procedures or other
  2130.                     cumbersome features.
  2131.  
  2132.                *    CHECKUP is 100% compatible with IBM PC-compatible
  2133.                     computers and software.
  2134.  
  2135.                *    CHECKUP is 100% accurate, capable of detecting
  2136.                     changes to any file, regardless of type, size,
  2137.                     attributes or storage location.
  2138.  
  2139.                *    CHECKUP, when used as directed, is 100% secure
  2140.                     from viral infection and alteration.
  2141.  
  2142.                *    CHECKUP never writes to or modifies input files.
  2143.  
  2144.                *    CHECKUP never writes to or modifies sensitive disk
  2145.                     boot sectors, nor does it tamper with File
  2146.                     Allocation Tables or disk directories.
  2147.  
  2148.                *    CHECKUP does not reduce the amount of available
  2149.                     RAM.
  2150.  
  2151.                *    CHECKUP, when used as directed, does not reduce
  2152.                     available disk space.
  2153.  
  2154.                *    CHECKUP provides a relocatable usage log that
  2155.                     tracks file checkups, verifications and changes.
  2156.  
  2157.                *    CHECKUP is user-supported software, allowing users
  2158.                     a full and fair evaluation prior to purchase.
  2159.  
  2160.                *    CHECKUP can be legally shared among users without
  2161.                     fear of promoting software piracy.
  2162.  
  2163.                *    CHECKUP is reasonably priced for non-private users
  2164.                     and is free to private individual users.
  2165.  
  2166.                *    Support for CHECKUP is free and available to all
  2167.                     users, both registered and unregistered.
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.                                                                            32
  2182.  
  2183.           ══════════════════════════════════════════════════════
  2184.           KNOWN INCOMPATIBILITIES WITH OTHER ANTI-VIRUS PROGRAMS
  2185.           ══════════════════════════════════════════════════════
  2186.  
  2187.                Flu_Shot Plus, an anti-virus TSR program, incorrectly flags
  2188.           CHECKUP as attempting to write over the input file being checked.
  2189.           CHK4BOMB, an anti-bomb program, incorrectly identifies CHECKUP as
  2190.           capable of formatting a hard disk.  On the contrary, CHECKUP's
  2191.           output is restricted to the .XUP files and the CHECKUP.LOG file.
  2192.           CHECKUP cannot overwrite an input file, format a disk or perform
  2193.           other destructive actions.  However, if you are concerned about
  2194.           the integrity of your copy of CHECKUP, visit one of CHECKUP's
  2195.           principal distribution points and download the latest version.
  2196.           Refer to the "PROGRAM INFO" section of this document for a list
  2197.           of authorized distribution points.
  2198.  
  2199.           ═════════════════════════════════════════════════════
  2200.           A COLLECTION OF ANTI-VIRUS AND ANTI-TROJAN TECHNIQUES
  2201.           ═════════════════════════════════════════════════════
  2202.  
  2203.                By employing the techniques described below, you will
  2204.           severely limit the ability of Trojan horse programs and computer
  2205.           viruses to affect your system.  We welcome your additions to this
  2206.           list:
  2207.  
  2208.                *    Run CHECKUP daily, using the clean floppy
  2209.                     disk/batch file method described above.
  2210.  
  2211.                *    Regularly check and log available disk space.
  2212.                     Aggressive viruses decrease storage space as they
  2213.                     spread throughout a system.  This activity can be
  2214.                     identified through rigorous monitoring.
  2215.  
  2216.                     The following commands, added to AUTOEXEC.BAT,
  2217.                     will track disk usage:
  2218.                     
  2219.                          CD \
  2220.                          DIR >> DIR.LOG
  2221.                          TYPE DIR.LOG > PRN
  2222.  
  2223.                *    Observe the time it takes for programs to
  2224.                     load--infected files take longer.  Programs
  2225.                     exhibiting longer than normal load times might be
  2226.                     infected.
  2227.  
  2228.                *    Periodically re-install applications from their
  2229.                     master disks.  This overwrites application files
  2230.                     in use and any viruses incubating within them.
  2231.  
  2232.                *    Once a week, use the SYS command to re-install the
  2233.                     system files onto your boot disk(s).  This
  2234.                     eliminates viruses lurking in the boot sectors.
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.                                                                            33
  2248.  
  2249.                *    Use the DOS "SHELL" command to rename and relocate
  2250.                     COMMAND.COM to a directory other than the root of
  2251.                     your boot disk.  Then place a different copy of
  2252.                     COMMAND.COM in the root directory.  This may
  2253.                     divert viruses into infecting the decoy copy
  2254.                     instead of your actual command processor.  Refer
  2255.                     to your DOS reference manuals for information on
  2256.                     the SHELL command.
  2257.  
  2258.                *    Change executable file attributes to read-only.
  2259.                     Poorly engineered viruses may not be able to alter
  2260.                     read-only files.  Executable files are those
  2261.                     ending in a .BAT, .COM or .EXE extension or loaded
  2262.                     in CONFIG.SYS.
  2263.  
  2264.                     Many programs write to their master executable
  2265.                     file when saving configuration information.  If
  2266.                     such a file has been converted to read-only, the
  2267.                     read-only attribute must be removed before
  2268.                     re-configuring and reset afterward.
  2269.  
  2270.                     There are many utilities that can reset file
  2271.                     attributes, including ATTR.COM, available for
  2272.                     downloading from the PC-Magazine Network on
  2273.                     CompuServe.  CompuServe users can "GO PCMAGNET" to
  2274.                     download ATTR.COM.  If you own the Norton
  2275.                     Utilities, use Norton's FA.EXE to change file
  2276.                     attributes.  To change COMMAND.COM to read-only
  2277.                     using Norton's FA, enter:
  2278.                     
  2279.                          FA COMMAND.COM /R+
  2280.  
  2281.                     Some versions of DOS provide an ATTRIB command.
  2282.                     Check your DOS reference manuals for more
  2283.                     information on modifying file attributes.
  2284.  
  2285.                *    Use extreme caution when working with FAT and directory
  2286.                     editors, directory sorters, un-erasers, disk
  2287.                     optimizers, format-recovery systems, file movers and
  2288.                     other low-level DOS utilities.  These programs
  2289.                     manipulate critical data--one bug or errant keystroke
  2290.                     can annihilate a disk.  DOS shells should be treated
  2291.                     with care as they also handle critical disk
  2292.                     information.
  2293.  
  2294.                     One of the safest bets for low-level disk
  2295.                     management is the Norton Utilities, Advanced
  2296.                     Edition.  Among DOS shells, we recommend the
  2297.                     Norton Commander.  Both programs are available at
  2298.                     most computer retailers.
  2299.  
  2300.                *    Install a hard disk utility like BOMBSQAD,
  2301.                     DPROTECT, FLU_SHOT PLUS or WPT (Write Protect
  2302.                     Tab).  As TSRs, these programs may suffer from the
  2303.                     drawbacks discussed earlier, however, they provide
  2304.                     adequate protection against poorly engineered
  2305.                     bombs and viruses.
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.                                                                            34
  2314.  
  2315.                *    Do not run files downloaded from public access
  2316.                     BBSes that do not validate users who upload.  If
  2317.                     the SysOp of a board did not contact you directly
  2318.                     (by phone, mail or automatic callback), you can be
  2319.                     certain that other users have not been validated.
  2320.                     (SysOps:  If validating users is a burden, a
  2321.                     practical alternative is to validate them after
  2322.                     they upload their first file.)
  2323.  
  2324.                *    Do not run files downloaded from public access
  2325.                     BBSes where the SysOps do not test and approve
  2326.                     files.
  2327.  
  2328.                *    Do not run self-extracting archives unless they
  2329.                     have been tested.  Self-extracting archives are a
  2330.                     classic delivery method used by bomb developers.
  2331.  
  2332.                *    Beware of suspicious-looking files.  A 128 byte
  2333.                     .COM file that un-archives without documentation
  2334.                     and whose description reads "Great Word Processor"
  2335.                     is suspect.
  2336.  
  2337.                *    Use a binary file-viewing utility (like the one
  2338.                     included in the Norton Commander) to examine
  2339.                     executable code.  Look for suspicious comments and
  2340.                     messages embedded in the code.
  2341.  
  2342.                *    Do not run programs unaccompanied by well-written
  2343.                     documentation prepared by the program's author.
  2344.  
  2345.                *    Do not run programs that do not include the name,
  2346.                     address and telephone number(s) of the author
  2347.                     within the documentation or executable(s).
  2348.  
  2349.                *    Call program authors and verify the version
  2350.                     number, time and date stamps, file sizes and
  2351.                     archive contents of files you have received.  Ask
  2352.                     authors where you can get certified clean copies
  2353.                     of their programs, then discard the copies you
  2354.                     have and get the certified copies.
  2355.  
  2356.                *    Download shareware from the author's BBS.  Most
  2357.                     professional shareware authors provide support
  2358.                     BBSes for their products.  You are guaranteed
  2359.                     uncorrupted programs when you download them
  2360.                     directly from their authors.
  2361.  
  2362.                *    Do not use hacked or pirated software.  Software
  2363.                     pirates have the skill and the tools needed to
  2364.                     create bombs and viruses.  Many reported incidents
  2365.                     of viral infections have been associated with
  2366.                     software piracy.  In fact, some of the deadliest
  2367.                     Trojans have been modified copies of well-known
  2368.                     applications.
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.                                                                            35
  2380.  
  2381.                *    Back-up your system regularly!  No system exists
  2382.                     in a vacuum, nor is any anti-virus or anti-Trojan
  2383.                     technique foolproof.  Back-up on a daily, weekly
  2384.                     and monthly basis.  When disaster strikes, users
  2385.                     who have regularly backed-up their systems will
  2386.                     have the last laugh (and their data)!
  2387.  
  2388.           ═══════════════════════════════
  2389.           DIAGNOSING AN INFECTED COMPUTER
  2390.           ═══════════════════════════════
  2391.  
  2392.                Systems exhibiting any of the following traits should be
  2393.           checked by an experienced viral diagnostician.  If you are unable
  2394.           to locate a good consultant, call us for advice:
  2395.  
  2396.                *    Computer operations seem sluggish.
  2397.  
  2398.                *    Programs take longer to load.
  2399.  
  2400.                *    Programs access multiple disk drives when loading.
  2401.  
  2402.                *    Programs conduct disk access at unusual times or
  2403.                     with increased frequency.
  2404.  
  2405.                *    Available disk space decreases rapidly.
  2406.  
  2407.                *    The number of bad disk sectors steadily increases.
  2408.  
  2409.                *    Memory maps reveal new TSR programs of unknown
  2410.                     origin.
  2411.  
  2412.                *    Programs behave abnormally or crash without
  2413.                     reason.
  2414.  
  2415.                *    System or application programs encounter errors
  2416.                     where they didn't before.
  2417.  
  2418.                *    System or application programs generate
  2419.                     undocumented messages.
  2420.  
  2421.                *    Files mysteriously disappear.
  2422.  
  2423.                *    Names, extensions, dates, attributes or data
  2424.                     changes on files that have not been modified by
  2425.                     users.
  2426.  
  2427.                *    Data files or directories of unknown origin
  2428.                     appear.
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.                                                                            36
  2446.  
  2447.           ══════════
  2448.           COMMENTARY
  2449.           ══════════
  2450.  
  2451.                You're scared.  Having heard about computer viruses jumping
  2452.           from computer to computer, you've learned your system could be
  2453.           next.  After all, your friend has a friend who knows someone that
  2454.           witnessed a virus display "Arf!  Arf!  Gotcha'!" as it destroyed
  2455.           data on an office PC.  And your local BBSes are bubbling over
  2456.           with horror stories about bombs, Trojans and viruses, not to
  2457.           mention countless recommendations for anti-virus products.  It
  2458.           seems every new day brings with it stories of impending
  2459.           computerized doom, created by evil geniuses with programming
  2460.           abilities far beyond those you or your associates could ever hope
  2461.           to achieve, much less do battle against.
  2462.  
  2463.                Relax!  Hysteria over computer viruses comes in waves.  The
  2464.           hysteria is fueled, in large part, by the popular press'
  2465.           frenzied, poorly researched and consistently inaccurate
  2466.           reporting.  In most of the stories we've seen, quoted viral
  2467.           "experts" overstate the severity of the problem, then point an
  2468.           accusing finger at electronic software distribution--what you and
  2469.           I call BBSing.  In truth, the few proven cases of viral
  2470.           infections have almost always occurred in commercially available
  2471.           products, in mainframe or minicomputing environments, or have
  2472.           been associated with physical exchanges of disks--usually with
  2473.           links to software piracy.
  2474.  
  2475.                The BBS community can be proud of an excellent record in
  2476.           keeping its distribution channels free from Trojans, bombs,
  2477.           worms, viruses and other dangerous software.  The very nature of
  2478.           the BBS medium ensures that news of questionable programs travels
  2479.           fast throughout a wide audience; this works to protect most users
  2480.           from harm.  Branding user-supported software and its distribution
  2481.           methods as "dangerous" is unsubstantiated and flatly incorrect.
  2482.           It's a popular misconception, gleefully endorsed by a chorus of
  2483.           anti-virus software vendors as they sing their big
  2484.           lies--frightening tall-tales that drum-up business in a market
  2485.           that otherwise would fail to exist.
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.                                                                            37
  2512.  
  2513.                Computer crime is not a new story and viruses are simply the
  2514.           latest plot twist.  System managers have always been concerned
  2515.           about system security, about data integrity and about hardware
  2516.           protection; viruses are but one element among many to be
  2517.           considered.  Treat the issue of computer viruses as you would
  2518.           other sensitive matters; that is to say, with measured concern
  2519.           and diligent research, all the while maintaining a firm grip on
  2520.           your wallet.  Cast a skeptical eye on reports about computer
  2521.           viruses when they roll across your desk, flood into your mailbox
  2522.           and pop onto your television screen.  Beware of those who try to
  2523.           sell you (or your company) anti-virus snake oil.  Rest assured
  2524.           that you--and everyone you know--probably will never encounter a
  2525.           virus, Trojan or bomb, although the manipulative anti-virus
  2526.           software industry (and the medias' yellow journalists) appears
  2527.           determined to have you believe otherwise.
  2528.  
  2529.           ═════════════════════════
  2530.           CHECKUP'S RELEASE HISTORY
  2531.           ═════════════════════════
  2532.  
  2533.                   Version          Release Date
  2534.                   ─────────────────────────────
  2535.                   1.0              April 1, 1988
  2536.                   2.0              December 18, 1988
  2537.                   3.0              April 12, 1989
  2538.                   3.2              April 20, 1989
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.                                                                            38
  2578.  
  2579.           
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.                          ╓─────────────────────────────────┐
  2601.                          ║ Give your files a CHECKUP! (tm) │
  2602.                          ╚═════════════════════════════════╛
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.                                                                            39
  2644.  
  2645.           
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.              This document was created using Microsoft WORD Version 4.0
  2677.                                           
  2678.                                - End of CHECKUP.DOC -
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.