home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 26 / CD_ASCQ_26_1295.iso / vrac / cm8106b.zip / MANUAL.TXT < prev    next >
Text File  |  1995-10-01  |  38KB  |  1,045 lines

  1.                                 
  2.  
  3.  
  4.  
  5.  
  6.           ╓───╖ ╖           ╥     ╓──╥──╖        ╖
  7.           ║   ╨ ║           ║  ╓  ║  ║  ║        ╫──
  8.           ║     ╟───╖ ╓───╖ ╟──╨╖ ║  ║  ║ ╓───╥  ║   ╓───╖
  9.           ║   ╖ ║   ║ ╟───╜ ║   ║ ║  ╨  ║ ║   ║  ║   ╟───╜
  10.           ╙───╜ ╙   ╜ ╙───╜ ╨   ╙ ╜     ╨ ╙───╨─ ╙──┘╙───╜
  11.              
  12.  
  13.  
  14.                 Known\Unknown Virus
  15.                  Detection Utility
  16.  
  17.  
  18.  
  19.  
  20.     Copyright (c) 1994,1995 Martin Overton (ChekWARE). All rights reserved.
  21.  
  22.  
  23.  
  24.  
  25.           Written by:                     Internet:
  26.  
  27.           Martin Overton,(ChekWARE)       ChekMate@salig.demon.co.uk
  28.           8 Owl Beech Place,
  29.           Horsham,
  30.           West Sussex,
  31.           RH13 6PQ,
  32.           UNITED KINGDOM
  33.  
  34.  
  35.  
  36.  
  37. _________________________________________________________________________
  38.  
  39.  THE INFORMATION AND CODE PROVIDED IS PROVIDED AS IS WITHOUT WARRANTY OF
  40.  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  41.  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  42.  
  43.  IN NO EVENT SHALL MARTIN OVERTON OR HIS AGENT(s) BE LIABLE FOR ANY DAMAGES
  44.  WHATSOEVER INCLUDING GENERAL, DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL,
  45.  LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES. EVEN IF THE AUTHOR HAS BEEN
  46.  ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  47. _________________________________________________________________________
  48.  
  49.  The UNREGISTERED version of this program, it's executables, bait  files
  50.  and related files may be distributed freely as long as no money is charged
  51.  for the program itself or any of its components.
  52.  
  53.  This program MUST be distributed as a whole with its associated files
  54.  and this document.
  55.         
  56.  This version of ChekMate may not be distributed as a part of any commercial
  57.  package without prior written agreement of the author.
  58.  
  59.  
  60. Page i
  61. ___________________________________________________________________________
  62.  
  63.  This program was developed entirely using personal time and personal
  64.  resources.
  65.   
  66.  It has been tested on many different PCs and DOS versions with no
  67.  problems encountered.
  68.  
  69.  This program has no connection with, or is in any way endorsed by my
  70.  employers.
  71.  
  72.  
  73.                  Table Of Contents
  74.  
  75. License ----------------------------------------------------------- 1
  76. Requirements ------------------------------------------------------ 1
  77. What is ChekMate? ------------------------------------------------- 1
  78. Before Installation ----------------------------------------------- 2
  79. Installation (ALL Operating Systems) ------------------------------ 3
  80. Installation (DOS) ------------------------------------------------ 3
  81. Installation (Windows) -------------------------------------------- 4
  82. Installation (OS/2) ----------------------------------------------- 4
  83. CHEKMATE.INI ------------------------------------------------------ 5
  84. Using SETUP ------------------------------------------------------- 6
  85. Upgrading from Version 1.06a -------------------------------------- 8
  86. How ChekMate Works ------------------------------------------------ 9
  87. A Guided Tour of ChekMate ----------------------------------------- 10
  88. DOS ERRORLEVEL return codes --------------------------------------- 12
  89. Command line switches/help ---------------------------------------- 12
  90. Known limitations ------------------------------------------------- 13
  91. Common Questions and Answers -------------------------------------- 13
  92. Latest versions (Where to get them)-------------------------------- 15
  93. Thanks ------------------------------------------------------------ 16
  94. Why was ChekMate Written? ----------------------------------------- 16
  95. Bug reports/suggestions (Where to send them)----------------------- 16
  96. And finally .... -------------------------------------------------- 17
  97. Information about MD5 --------------------------------------------- 18
  98.  
  99.  
  100. Page 1
  101. __________________________________________________________________________
  102.  
  103. License:
  104. _______
  105.  
  106. This version of ChekMate is hereby released under the Shareware concept.
  107.  
  108. ChekMate can be evaluated for up to 30 days without having to register.
  109. After that period of time please either register ChekMate or remove it
  110. from your system.
  111.  
  112. Registration will entitle you to the registered version which is free of
  113. the 'nag-screen' and has additional features. See REGISTER.TXT for full
  114. details.
  115.  
  116. The author retains the copyright of ChekMate and all of its components
  117. (except MD5 which is copyright RSA Data Security, Inc.)
  118.       
  119. ChekMate or any of its components may not be used as part of any other
  120. package unless written agreement is obtained from the author.
  121.  
  122. ChekMate must not be modified in any way.
  123.  
  124. MD5 is the RSA Data Security, Inc. MD5 Message-Digest Algorithm,
  125. Copyright 1991 RSA Data Security, Inc.
  126.  
  127.  
  128. Requirements:
  129. ____________
  130.  
  131. ChekMate requires you to have an IBM PC Compatible running DOS 3.3 or later
  132. and at least 384Kb of memory and a Hard Disk.
  133.  
  134. DEBUG must also be on your PC in your Path. DEBUG will always be in your DOS
  135. directory, and in your PATH, unless you have manualy removed it. The same is
  136. OS/2, Windows 3.x and Windows '95.
  137.      
  138.  
  139. What is ChekMate:
  140. ________________
  141.  
  142. ChekMate was written to detect new and known file, boot and partition table
  143. viruses.
  144.  
  145. It should be used alongside a good quality, up-to-date virus scanner.  
  146.  
  147.        !!! ChekMate is NOT a substitute for a virus scanner. !!! 
  148.  
  149. ChekMate can be integrated with your current DOS based virus scanner.
  150. It will detect most file infector, boot sector or partition table viruses.
  151.  
  152. ChekMate makes no wild claims about 'Providing 100% protection against all
  153. current and future viruses!' (I'll leave that to other products.)
  154.  
  155. ChekMate is simply an extra layer for a virus to try to defeat. When
  156. combined with 'frequent' backups and a good up-to-date virus scanner,
  157. ChekMate WILL help to protect your data from many known and unknown viruses.
  158.  
  159. One of ChekMate's users said: "ChekMate has been a real security blanket"
  160. Another ChekMate user wrote:  "I wouldn't boot up without it."
  161.  
  162. ChekMate will NOT bombard you with lots of false alarms (unless your
  163. system is always in a state of flux!). It just monitors the areas/files
  164. that a virus will frequently target.
  165.  
  166.          !!! Think of ChekMate as a viral smoke alarm. !!!
  167.  
  168. Page 2
  169. __________________________________________________________________________
  170.  
  171. Before Installation:
  172. ___________________
  173.  
  174. Before installation scan the target PC with a good quality up-to-date virus
  175. scanner.
  176.  
  177.     ***    Only once the PC is found to be free of viruses    ***
  178.     *** should you proceed with the installation of ChekMate. ***
  179.  
  180. Copy all the files to a floppy disk and write protect it. This disk can then
  181. be used in the event of a virus outbreak to replace infected ChekMate files.
  182.  
  183. Also copy the .CHK files after ChekMate is run for the first time to the
  184. floppy disk you've just created (above).
  185.       
  186. Before installation, ensure that the Validation information is correct.
  187.  
  188. The Validation information was generated by MD5 from RSA Inc. 
  189. (Supplied with this file as MD5.EXE)
  190.  
  191. Filename        Size    Date        Time  MD5 Hash
  192. --------        ----    ----        ----  --------
  193. CHEKMATE.EXE  131415    10-01-95    1:06a 4f1c7ffce27e83df46bc19b2621d986e                                  
  194. CHEKMATE.CHK     168    10-01-95    1:06a 8eba8ff7af3c69e7fa1c0e6c226e3fe4                               
  195. SETUP.EXE      40452    10-01-95    1:06a bb1e94a4986b1d36a2451030fe816ea7  
  196. REGISTER.EXE   31020    10-01-95    1:06a 87da56a677b796f059df264fc6fb622f
  197. MD5.EXE         9602    10-01-95    1:06a 7881d18adf5f4406984cd863beaecda7
  198. 04K.COM         4096    10-01-95    1:06a 45f2e0dc4a89a40c9f82860c6cba252b
  199. 04K.EXE         4096    10-01-95    1:06a 624929af93155ca39094bcc5bd56c0ed
  200. 10K.COM        10240    10-01-95    1:06a 01263656989c6359f8354579628fdcdc
  201. 10K.EXE        10240    10-01-95    1:06a 56207e514203cf23624e8655066a3a9a
  202. 25K.COM        25600    10-01-95    1:06a 3ee78a553665f85201459ca5929578f9
  203. 25K.EXE        25600    10-01-95    1:06a a70ad2d630652bc9c98d1e7023350707
  204. FILECHK1.CHK     193    10-01-95    1:06a 7229c907d982c01c9223f8dd18521867
  205. FILECHK2.CHK     193    10-01-95    1:06a b716719c540b2a2a02d445bf81b19f96
  206.  
  207. If these values do NOT match the files included with this document then
  208. please inform me and do not run them.
  209.  
  210. To check the MD5 Hash for the files do the following: At the DOS prompt in
  211. the directory where ChekMate was installed type:
  212.  
  213. MD5 <Filename.ext> where <Filename.ext> is the name of the file to check.
  214.  
  215. e.g. MD5 MD5.EXE CHEKMATE.EXE SETUP.EXE
  216.  
  217. This would return something like:
  218. (see the table above for the correct MD5 hash values)
  219.  
  220. md5 (md5.exe) 7881d18adf5f4406984cd863beaecda7
  221. md5 (chekmate.exe) 0601062a4b7d25a58f7a9217992d90f1
  222. md5 (setup.exe) 345e06107d1fd5ed03fa2a92cb6c678a
  223.  
  224.  
  225. Page 3
  226. __________________________________________________________________________
  227.  
  228. Install (ALL Operating Systems):
  229. _______________________________
  230.  
  231. Create a directory for this program and copy the files listed below to that
  232. directory:
  233.  
  234.     CHEKMATE.EXE    ->       The Main Program File
  235.     CHEKMATE.ICO    ->       Windows Icon File for ChekMate
  236.     CHEKMATE.PIF    ->       Windows PIF File for ChekMate
  237.     CHEKMATE.CHK    ->       ChekMate Finger-Print file 
  238.     REGISTER.EXE    ->       Registration Utility
  239.     SETUP.EXE       ->       Setup program for modifying CHEKMATE.INI
  240.     CHEKMATE.INI    ->       Program INI File (See Later)
  241.     MD5.EXE         ->       RSA's MD5 hash generator (PUBLIC DOMAIN)
  242.     FILECHK1.CHK    ->       Bait files Finger-Print file (Start of Files)
  243.     FILECHK2.CHK    ->       Bait files Finger-Print file (End of Files) 
  244.     04K.COM         \
  245.     04K.EXE          \
  246.     10K.COM           \         
  247.     10K.EXE           /  Bait files
  248.     25K.COM          /
  249.     25K.EXE         /
  250.  
  251. (Bait files are simple files that display a message and return to DOS,
  252. they act as a decoy to tempt a virus into infecting it. They have no other
  253. purpose and DO NOT execute any other code or files.)
  254.  
  255. The BAIT files MUST not be replaced with your own versions of BAIT or any
  256. other executable files as MD5 hash values for the files are stored within
  257. the main CHEKMATE.EXE file.
  258.  
  259. They must also be left in the same order in the CHEKMATE.INI provided,
  260. you can though, rename them if you so wish.
  261.  
  262.  
  263. Install (DOS):
  264. _____________
  265.  
  266. If you are running it from DOS then: 
  267.       
  268. Add ChekMate to your AUTOEXEC.BAT:
  269.  
  270. Either  add the line below:
  271.  
  272.     C:\<Directory_Name>\CHEKMATE.EXE
  273.     
  274.         If you use this option, then put CHEKMATE.INI in the ROOT directory '\'.
  275.  
  276. OR      Create a batch file that contains the following lines:
  277.     
  278.     CD\<Directory_Name>
  279.     CHEKMATE.EXE
  280.     CD\
  281.  
  282. <Directory_Name> should be the directory where you placed ChekMate
  283. eg. C:\CHEKMATE
  284.  
  285.  
  286. Page 4
  287. __________________________________________________________________________
  288.  
  289. Install (Windows):
  290. ________________
  291.  
  292. If you want to run ChekMate from Windows then:
  293.  
  294.     Use the 'File' 'New' 'Program Item' menu option in Program Manager
  295.     to create an entry for this program. (PIF file supplied.)
  296.  
  297.     Edit the .PIF file to reflect the correct 'working directory'.
  298.  
  299.     The ICON can be set to CHEKMATE.ICO  in the directory where
  300.     ChekMate was installed.
  301.  
  302.  
  303. Install (OS/2 2.x & Warp):
  304. _________________________
  305.  
  306. To set up ChekMate under OS/2, follow the instructions below:
  307.  
  308.     For both HPFS and FAT file systems:
  309.  
  310.     From  the OS/2 desktop, drag a new 'PROGRAM' icon from the
  311.     'Templates' folder and enter the following details:
  312.  
  313.     Path and file name:
  314.  
  315.     C:\<ChekMate Dir>\CHEKMATE.BAT 
  316.     
  317.     The batch file should contain the following commands:
  318.     (.... = any other batch file command)
  319.     
  320.     @ECHO OFF
  321.     CHEKMATE.EXE
  322.     .....
  323.     .....
  324.     .....
  325.     PAUSE
  326.  
  327.     This will make sure that ChekMate doesn't just exit back to the
  328.         OS/2 Desktop when it's finished.  (Optionaly, just check the 'do not
  329.         close on exit' box in the setting folder)
  330.  
  331.     Working directory:
  332.  
  333.     C:\<ChekMate Dir>
  334.  
  335.     Where <ChekMate Dir> is the directory that you installed ChekMate.
  336.     
  337.     eg. CHEKMATE
  338.  
  339.         Click on the General tab of the program notebook and change
  340.     the title to:
  341.  
  342.     ChekMate
  343.        
  344.         Now drag this icon to the Startup folder.
  345.  
  346.  
  347. Page 5
  348. __________________________________________________________________________
  349.  
  350. CHEKMATE.INI:
  351. ____________
  352.   
  353. You can use the SETUP.EXE file supplied to change the CHEKMATE.INI.
  354. (Strongly Recommended)
  355.  
  356. SETUP will in many cases tell you what the settings should be for a
  357. particular line.
  358.  
  359. (See SETUP later in this document)
  360.  
  361. Otherwise, manualy edit the CHEKMATE.INI file (Shown Below) if required:
  362.  
  363. Notes   Example File                    What each line is/means    
  364.  
  365.     [System]                Section Label
  366.     CMDir=C:\CHEKMATE       The Directory That ChekMate is Installed in.
  367. *1      Shell=C:\COMMAND.COM    Path & Name of Command Processor in use.
  368. *2      Drives=1                Number of drives (Physical or Logical).  
  369. *3      BaseMem=640             The BASE DOS Memory as reported by MEM /C.
  370.  
  371.     [BaitFiles]             Section Label
  372.     1=04K.COM               4096  Byte .COM Bait file.
  373.     2=04K.EXE               4096  Byte .EXE Bait file.
  374.     3=10K.COM               10240 Byte .COM Bait file.
  375.     4=10K.EXE               10240 Byte .EXE Bait file.
  376.     5=25K.COM               25600 Byte .COM Bait file.
  377.     6=25K.EXE               25600 Byte .EXE Bait file.
  378.  
  379.  
  380. This file MUST exist and the contents MUST be correct or ChekMate will NOT
  381. work correctly.
  382.  
  383. *1      The command processor can be COMMAND.COM. 4DOS & NDOS.COM are also
  384.     supported as common replacements for COMMAND.COM.
  385.    
  386.     Use SETUP.EXE if you are unsure about this. 
  387.  
  388. *2      ChekMate will handle up to drive F:
  389.     (The CHEKMATE.INI entry would then need to be 4)
  390.  
  391. *3      This is usually 640Kb (655,360 Bytes), Some systems may report 639Kb
  392.     due to HD controllers and some extended BIOSes 'borrowing' 1Kb for
  393.     their own purposes.
  394.  
  395.     If this causes problems you can disable this test by setting this
  396.     value to 0 (Zero).
  397.  
  398.     ** This is NOT recommended **
  399.  
  400.     ChekMate now displays the DOS base memory detected at run time.
  401.  
  402.  
  403. Page 6
  404. __________________________________________________________________________
  405.  
  406. Using SETUP:
  407. ___________
  408.  
  409. SETUP.EXE allows you to change/set the contents of CHEKMATE.INI without the
  410. use of an editor or require you to have any specialist knowledge of your
  411. system setup (apart from the number of LOCAL drive letters!).
  412.  
  413. To run SETUP, simply ensure that you are in the directory that CHEKMATE.INI
  414. (default is the ChekMate directory) was placed into, now type the line below
  415. at your DOS or OS/2 prompt:
  416.  
  417.     SETUP
  418.  
  419. Or to run SETUP on a mono screen type:
  420.  
  421.     SETUP /MONO
  422.  
  423. Either way, you will see the screen below: 
  424.  
  425. __________________________________________________________________________
  426.  
  427.  
  428.            +--- ChekMate  Version 1.06b [1st October 1995] ----+
  429.            |          Configuration / Setup Program            |
  430.            +---------------------------------------------------+
  431.  
  432.               The CHEKMATE.INI Currently Looks Like This
  433.               ChekMate Directory      :=     C:\CHEKMATE
  434.               Command Processor       :=     C:\COMMAND.COM
  435.               No. of Drive Letters    :=     3 
  436.               (C:,D:,E:)
  437.               DOS (BASE) Memory       :=     640 
  438.  
  439.           Please Note: Not showing BAIT file information 
  440.  
  441.                 Are These Values Correct (Y/N)
  442.  
  443.         Choose 'N' To Edit CHEKMATE.INI or 'Y' Will Exit Back To Dos
  444.  
  445. __________________________________________________________________________
  446.  
  447.  
  448. As you can see above the CURRENT settings are shown. You are asked if the
  449. values are correct.
  450.  
  451. If you answer 'Y' then SETUP simply exits back to the operating system
  452. without making any modifications.
  453.  
  454. If you answer 'N' then you will be asked questions. An example is shown
  455. below:
  456.  
  457.  
  458. Page 7
  459. __________________________________________________________________________
  460.       
  461.            +--- ChekMate  Version 1.06b [1st October 1995] ----+
  462.            |          Configuration / Setup Program            |
  463.            +---------------------------------------------------+
  464.  
  465.  
  466. Enter Directory Where ChekMate is Installed Currently (C:\CHEKMATE)
  467. Path=: c:\AV\CHEKMATE
  468. Set To: C:\AV\CHEKMATE
  469.  
  470. Enter The Path & Name of Your Command Processor, Currently (C:\COMMAND.COM)
  471. DOS Reports The Following (C:\OS2\MDOS\COMMAND.COM)
  472. Shall I Set It To That (Y/N) ?
  473. Set  To: D:\OS2\MDOS\COMMAND.COM
  474.  
  475. Enter The Number of Drive Letters (Up to F: Only), Currently ( 3)
  476. Number =: 2
  477. Set  To:  2
  478.  
  479. Enter The Amount of DOS BASE Memory (Up to 640Kb Only),Currently ( 640 )
  480. I Detect( 640 ) Set It to That Value (Y/N) ?
  481. Set  To:  640
  482.  
  483.               Is This Correct (Y/N) ?
  484.  
  485.       Choose 'N' To Try Again or 'Y' Will Write Changes And Exit To Dos
  486.  
  487. __________________________________________________________________________
  488.  
  489. As you can see SETUP will tell you what some of the settings SHOULD be set
  490. to. It will automatically work out what command processor is running from
  491. the environment variable COMSPEC.
  492.  
  493. The DOS base memory is also detected automatically. Common values are 640
  494. or 639, the latter is mainly found in systems with extended BIOSes.
  495.  
  496.           ANY other value should be questioned!
  497.  
  498. Once all the questions are answered, you are then asked to confirm whether
  499. the settings are correct.
  500.  
  501. Answering 'N' will restart the questions.
  502.  
  503. Answering 'Y' will write out the changes to CHEKMATE.INI and exit to Dos.
  504.  
  505.  
  506. Page 8
  507. __________________________________________________________________________
  508.  
  509. Upgrading From Version 1.06a:
  510. ____________________________
  511.  
  512. To upgrade ChekMate from version 1.06a, proceed as follows:
  513.  
  514. 1.      Read all of this manual BEFORE proceeding.
  515.  
  516. 2.      Copy CHEKMATE.EXE, CHEKMATE.CHK, SETUP.EXE & REGISTER.EXE to your
  517.     ChekMate directory.
  518.  
  519. 3.      Now run CHEKMATE.EXE, if ChekMate informs you that a FingerPrint
  520.     file is missing, Press any key to continue. You will then be told
  521.     that the missing .CHK file is being created.
  522.  
  523. 5.      ChekMate should now work fine with the updated files.
  524.  
  525. 6.      If the above does not work correctly, then run CHEKMATE.EXE /CREATE
  526.     as this will re-generate all the .CHK files.
  527.  
  528.  
  529. Page 9
  530. __________________________________________________________________________
  531.  
  532. How ChekMate Works:
  533. __________________
  534.  
  535. Every time ChekMate is run, it will first test key Interrupts and DOS memory
  536. for modifications (unless you disable this test, see below).
  537.  
  538. ChekMate, when run for the first time, will create a series of Finger-Print
  539. (.CHK) files of the following:
  540.  
  541.     COMMAND.COM or an alternate command processor, 
  542.     THE BOOT SECTOR(s) and THE PARTITION TABLE.
  543.       
  544. Any other time that ChekMate is run it will match the Finger-Print files
  545. with the actual files or image files taken at runtime.
  546.  
  547. These Finger-Print (.CHK) files are not CRC's (Checksums, as these are
  548. easily fooled by some viruses) but are actual code fragments of the start
  549. and in some cases the end of the file or area.
  550.  
  551. All the BAIT files, ChekMate.EXE, MD5.EXE and the Command Processor are
  552. also protected with MD5 hash values.
  553.  
  554. MD5 hash values are 128 bit cryptographic signatures of the files, which
  555. are VERY secure. Far more secure than other similar techniques.
  556.  
  557. If these Finger-Print files and/or hash values do NOT match the runtime
  558. images, then you will be warned that one or more of the files/areas have
  559. been changed. The actual area/file name will be displayed.
  560.  
  561. The information will also be written to the error log (ERROR.LOG) in the
  562. ChekMate directory.
  563.  
  564. If a change is detected then ChekMate will return to DOS without checking
  565. any other files/areas for modifications.
  566.  
  567. Most viruses change executable code at the beginning and/or end of a file
  568. or area. ChekMate checks for this sort of modification.
  569.  
  570. MD5 hash values are computed from the contents of the whole file and
  571. therefore will detect ANY change to the file(s).
  572.  
  573.  
  574. Page 10
  575. __________________________________________________________________________
  576.  
  577. A Guided Tour of ChekMate:
  578. _________________________
  579.  
  580. Below is an example of the output that ChekMate produces when run.        
  581.         
  582. Explanations are given at each stage of the process.
  583.  
  584. ___________________________________________________________________________
  585. █████████████ ChekMate √ 1.06b UNREGISTERED [1st October 1995] █████████████
  586.    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  587. *1 ▌         Checking ChekMate Files & The Command Processor ...      
  588.    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  589.      Current Task                       Progress
  590.    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  591. *2 ▌ ChekMate.EXE               OK ▐  ▌ Interrupts OK                     ▐ *3
  592.    ▌ MD5.EXE                    OK ▐  ▌ 640Kb (DOS BASE) Memory Detected  ▐
  593.    ▌ Command Processor          OK ▐  ▌                                   ▐
  594.    ▌                               ▐  ▌                                   ▐
  595.    ▌                               ▐  ▌                                   ▐
  596.    ▌                               ▐  ▌                                   ▐
  597.    ▌                               ▐  ▌                                   ▐
  598.    ▌                               ▐  ▌                                   ▐
  599.    ▌                               ▐  ▌                                   ▐
  600.    ▌                               ▐  ▌                                   ▐
  601.    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  602.    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  603. *4 ▌                                                                       ▐
  604.    ▌                                                                       ▐
  605.    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  606. _____________________________________________________________________________
  607.  
  608. Fig 1.
  609.  
  610. *1      Header, Shows current task identity.
  611. *2      Current Task Window, Shows detail of current task.
  612. *3      Progress, Shows completed task identities.
  613. *4      Message Window, Shows error messages etc.
  614.  
  615. The main screen (Fig 1.) shows ChekMate reporting the checked interrupts,
  616. the DOS base memory detected at execution. This is compared with a stored
  617. value in the CHEKMATE.INI. If these values are different, then a warning
  618. message is shown, ChekMate returns a DOS errorlevel and returns control to
  619. the  operating system.
  620.  
  621. Many boot sector or partition table viruses lower the base memory value by
  622. 1Kb or more.
  623.  
  624. ChekMate detects many of those viruses by this method alone.
  625.  
  626. The next step, assuming no change is detected in the DOS base memory is for
  627. ChekMate to check itself (it also checks itself BEFORE it gets this far!).
  628. It checks its fingerprint file against its own code and then checks its MD5
  629. cryptographic fingerprint against a stored value.
  630.  
  631. If either of these do not match, a warning message appears, ChekMate returns
  632. a DOS errorlevel and returns control to the operating system.
  633.  
  634.  
  635. Page 11
  636. __________________________________________________________________________
  637.  
  638. More detailed information is written out to the error log file (ERROR.LOG).
  639.  
  640. This is repeated for MD5.EXE and the Command Processor.
  641.  
  642. (The error/change reporting is the same at each stage of ChekMate's
  643. examination of your system files/areas.)
  644.  
  645. A similar routine is used for the boot sector(s) and the partition table.
  646.  
  647. The main difference is that the whole 512 bytes are compared with the
  648. values/images stored the first time that ChekMate was run.
  649.  
  650. If either of these do not match, a warning message appears,ChekMate returns
  651. a DOS errorlevel and returns control to the operating system.
  652.  
  653. The next phase of ChekMate is to check the decoy/bait files used to trap
  654. file infecting viruses, before they are executed.
  655.  
  656. These files are first checked in the same way as CHEKMATE.EXE etc., except
  657. the cryptographic fingerprints are stored inside CHEKMATE.EXE, and that the
  658. filesize is also checked.
  659.  
  660. This is done to minimise the chance of modifications to these files by an
  661. unknown party. That is to say, this is an anti-hacker ploy.
  662.  
  663. If these files are found to be unchanged, they are then executed. This
  664. is to purposely expose them to any viruses that are capable of infecting
  665. files.
  666.  
  667. This is like a lamb walking up to wolf and saying "my you have big teeth!"
  668.  
  669. This has proved to be very effective in trapping unknown file infecting
  670. viruses.
  671.  
  672. Yet again, if ANY changes are detected, you will see an error message.
  673.  
  674. The decoy/bait files are then checked AGAIN after they have been executed
  675. to determine whether a file infecting virus has modified them.
  676.  
  677. If you got this far without any warning messages, then your system is
  678. deemed to be clean (assuming it was clean BEFORE ChekMate was installed,
  679. and that an up to date, good quality virus scanner is used at reasonable
  680. intervals, say weekly!)
  681.  
  682.  
  683. Page 12
  684. __________________________________________________________________________
  685.  
  686. Dos ERRORLEVEL Returns:
  687. ______________________
  688.  
  689. The following errorlevel values are returned when ChekMate exits back to DOS.
  690.  
  691.  0  = No modifications detected
  692.  1  = COMMAND.COM (or other COMMAND processor) appears to have been changed
  693.  2  = ChekMate.EXE appears to have been changed
  694.  3  = The BOOT SECTOR(s) appears to have been changed
  695.  4  = The PARTITION TABLE appears to have been changed
  696.  5  = One or more of the BAIT files appear to have been changed
  697.  6  = The DOS base memory amount appear to have been changed
  698.  7  = MD5.EXE appears to have been changed
  699.  9  = A change has been detected in the CMOS *REGISTERED version only!
  700.  10 = One or more of the interrupts are outside the normal boundries
  701.  98 = Dir2.Byway appears to be active on this system
  702.  99 = A companion virus appears to be active on this system
  703.  
  704.  Q.     What can you do with this information?
  705.  
  706.  A.     You can use the errorlevels returned in a batch file to automatically
  707.     run your favourite virus scanner when ChekMate detects a modification
  708.     to your system.
  709.  
  710.     e.g. CHECK.BAT
  711.     @ECHO OFF
  712.     CLS
  713.     CD C:\CHEKMATE
  714.     CHEKMATE.EXE
  715.     IF NOT ERRORLEVEL 1 GOTO :End
  716.     :Change!
  717.         C:\SCANNER\SCAN.EXE /ADL
  718.     CD C:\
  719.     :End
  720.  
  721. The batch file above will only run your virus scanner (in this example the
  722. scanner is McAfee Scan) if the errorlevel does not equal (0) zero.
  723.  
  724.  
  725.  
  726. Help/Command Line Switches:
  727. __________________________
  728.  
  729. To get help, run: 
  730.      
  731.  
  732. CHEKMATE.EXE /? or /H
  733.  
  734.  
  735. Other command line switches:
  736.  
  737.  
  738. /CREATE         Creates a 'new' set of Finger-Print files.
  739.         Usually only used after DOS upgrade or after cleaning up
  740.         after a virus attack.
  741.  
  742. /NOEXPOSE       Used to only check Finger-Print files against original
  743.         files/area. Does NOT execute BAIT files.
  744.           
  745. /QUIET          Force ChekMate to run in QUIET mode.
  746.         (ChekMate will only display warnings no other information
  747.         is shown. REGISTERED version only!)
  748.  
  749. Page 13
  750. __________________________________________________________________________
  751.  
  752. Known problems/limitations:
  753. __________________________
  754.  
  755. 1)      May not detect Companion viruses very quickly. But as soon as one
  756.         of the bait files is infected it will alert you. A companion virus
  757.     is very easy to spot as it makes a 'Companion' .COM file for ANY
  758.     .EXE file on the infected system.
  759.  
  760.     Less of a problem with versions 1.06a or later
  761.   
  762. 2)      May not detect direct action non-TSR viruses very quickly. 
  763.     Most new viruses are TSR (memory resident) variants.
  764.  
  765.     The best way to test 'suspect' files is to place them in the same
  766.     directory as ChekMate, Virus Scan them and if they are not reported
  767.     as infected, then run them from there. Then run ChekMate.
  768.  
  769.            **** REMEMBER TO BACKUP YOUR SYSTEM FIRST ****
  770.   
  771. 3)      Link viruses, such are DIR II may not be detected as no executable
  772.     code is changed.
  773.  
  774.     A special routine has been added for the Dir2.Byway Link virus.
  775.  
  776.  
  777. Common Questions & Answers:
  778. __________________________
  779.  
  780. If ChekMate detects a change in your system then proceed as follows:
  781.  
  782.     To confirm this run your favourite virus scanner, after booting from
  783.     the original write-protected bootable system disk.
  784.  
  785.     If the scanner finds nothing then send the following files to me
  786.     (you will find them in the directory where ChekMate was installed):
  787.     
  788. For the correct files to send see the relevent question.
  789.  
  790.  
  791. Q1.     ChekMate informed me that the 'DOS Base Memory' value has changed
  792.     what should I do?
  793.  
  794. A1.     If ChekMate has been working fine before, then you have probably
  795.     been infected by a Boot Sector or Partition Table virus. Most of
  796.     these types of viruses 'steal' 1Kb or more from DOS.
  797.     
  798.     Please send me the following files for inspection:
  799.     
  800.     ?BOOT.SEC files  (Where ? is C, D, E or F)
  801.     ?BOOT.CHK files  (Where ? is C, D, E or F)
  802.     PART.CHK
  803.     PART.SEC
  804.     ERROR.LOG
  805.  
  806.  
  807. Q2.     ChekMate informed me that ChekMate.EXE has changed, what should I do?
  808.  
  809. A2.     ChekMate.EXE should NEVER change, apart from being upgraded to the
  810.     latest version.
  811.  
  812.     Please send me the CHEKMATE.EXE & CHEKMATE.CHK files to inspect.
  813.  
  814.  
  815. Q3.     ChekMate informed me that MD5.EXE has changed, what should I do?
  816.  
  817. A3.     MD5.EXE should NEVER change, apart from being upgraded to the
  818.     latest version.
  819.  
  820.     Please send me the MD5.EXE file to inspect.
  821.  
  822.  
  823. Page 14
  824. __________________________________________________________________________
  825.  
  826. Q4.     ChekMate informed me that 'The Command Processor' has changed, what
  827.     should I do?
  828.  
  829. A4.     Your Command Processor should NEVER change, apart from DOS being
  830.     upgraded to another version.
  831.  
  832.     Please send me a copy of your Command Processor file to inspect.
  833.     (Usually COMMAND.COM, could be NDOS.COM or 4DOS.COM)
  834.                                    
  835.  
  836. Q5.     ChekMate informed me that 'The Boot Sector' has changed, what should
  837.     I do?
  838.  
  839. A5.     If ChekMate has been working fine before, & you have NOT upgraded
  840.     your version of DOS or changed the 'Volume Label' then you have
  841.     probably been infected by a Boot Sector virus.
  842.     
  843.     Please send me the following files:
  844.     
  845.     ?BOOT.SEC files  (Where ? is C, D, E &/or F)
  846.     ?BOOT.CHK files  (Where ? is C, D, E &/or F)
  847.     ERROR.LOG
  848.  
  849.  
  850. Q6.     ChekMate informed me that 'The Partition Table' has changed, what
  851.     should I do?
  852.  
  853. A6.     If ChekMate has been working fine before, & you have NOT upgraded
  854.     your version of DOS or changed the Partition Table by running FDISK
  855.     then you have probably been infected by a Partition Table virus.
  856.     
  857.     Please send me the following files:
  858.     
  859.     PART.SEC
  860.     PART.CHK
  861.     ERROR.LOG
  862.  
  863.  
  864. Q7.     ChekMate informed me that '1 or More of The BAIT File(s)' have
  865.     changed, what  should I do?
  866.  
  867. A7.     The BAIT files should NEVER change. (except from version 1.05d to
  868.     1.06a)
  869.  
  870.     Please send me the following files to inspect.
  871.  
  872.     04K.COM
  873.     04K.EXE
  874.     10K.COM
  875.     10K.EXE
  876.     25K.COM
  877.     25K.EXE
  878.  
  879. Page 15
  880. __________________________________________________________________________
  881.  
  882. Q8.     ChekMate informed me that 'Interrupt xx has changed', what should I
  883.     do?
  884.  
  885. A8.     There are two posibilities:
  886.  
  887.     1. You are running a TSR that has modified an interrupt address that
  888.        is frequently used by memory resident and /or stealth virus.
  889.  
  890.        Remove all TSR programs and try ChekMate again to see if the
  891.        problem stops.
  892.  
  893.        If it does then re-load the TSR's one at a time (running ChekMate
  894.        after each one) until the problem re-occurs.
  895.  
  896.        Please inform me of the program and send me a copy of the
  897.        ERROR.LOG file for me to inspect. I will then try to fix the
  898.        problem.
  899.  
  900.     2. A memory resident and / or stealth virus is active in your system.
  901.  
  902.        Please manualy run the bait files, 04K.COM etc. and then send
  903.        them to me to inspect for signs of infection.
  904.  
  905.        Please send me a copy of the ERROR.LOG file for me to inspect. 
  906.  
  907. In all cases ensure that you have scanned your system with a good and
  908. up-to-date virus scanner (such as F-Prot, ThunderBYTE etc...).
  909.  
  910. Please remember to inform me which scanner & version was used. Also
  911. please ensure that you send the ERROR.LOG file.
  912.  
  913. Latest Version:
  914. ______________
  915.  
  916. The latest version of this application should always be available from the
  917. internet site or bulletin board that you originally obtained it from.
  918.  
  919. The main site is the SimTel archives (ftp.coast.net) or one of the mirror
  920. sites, in the simtel/msdos/virus directory.
  921.    
  922. The Secondary site is: ftp.demon.co.uk in /pub/antivirus/ibmpc/av-progs
  923.  
  924. You will also find it on many BBS's throughout the world.
  925.  
  926. Please E-Mail me if you want to know when a new version is released,
  927. I will add you to the mailing list for new version announcements.
  928.  
  929. Registered users will informed automatically.
  930.  
  931.  
  932. Page 16
  933. __________________________________________________________________________
  934.  
  935. Bug reports, suggestions, etc...
  936. ________________________________
  937.  
  938. If you catch a virus with ChekMate in one of the Bait files, then please
  939. send me a copy for analysis. I will send a reply to anyone who sends me
  940. such a file. If possible I will send a search string to correctly identify
  941. the new virus to aid removal.
  942.  
  943. To date ChekMate has trapped four unknown viruses ("in the wild"). The
  944. latest was even undetected by heuristic based scanners.
  945.  
  946. Mail files to the E-Mail or Postal address at the top of this document.
  947. (If you e-mail the file(s) then please use UUENCODE or MIME. Also for
  948. greater security please use PGP (my public key is supplied with 1.06a))
  949.  
  950. Please send all bug reports, suggestions, etc to the E-Mail or Postal
  951. address at the top of this document.
  952.   
  953. If you like this program, let other people know about it!
  954.  
  955. If you have tested ChekMate against any viruses then please let me know
  956. the outcome of these tests, whether the results are good or bad.
  957.  
  958. For details of viruses that ChekMate has been tested against, please see
  959. the file enclosed in this ZIP file, TESTS.TXT.
  960.  
  961.  
  962. Thanks:
  963. ______
  964.  
  965. Thanks to Philip Tong for early Beta testing and a copy of the then unknown
  966. 'Dalian' virus which ChekMate captured. Thanks also go to Ed Fenton, Hugh
  967. Brecher, Jon Dron, Flint Howard and many others for their suggestions for
  968. improvements, Beta testing of new versions and constructive feedback.
  969. A very BIG thank you goes to Christy Gemmell who has helped with some of the
  970. new routines used in this program.
  971.  
  972.  
  973. Why was ChekMate Written?:
  974. _________________________
  975.  
  976. I frequently receive suspect files from people throughout the world that
  977. believe, either rightly or wrongly, they are infected with a new/unknown or
  978. known virus.
  979.  
  980. I needed a way to confirm that the file/disk was indeed infected.
  981.  
  982. My first step was to scan it for known viruses, if that did not detect a
  983. known virus then the infected file/disk was run on a 'sheep-dip' PC and
  984. ChekMate was then used to tempt the virus into infecting one or more of the
  985. bait files or the Boot sector or Partition Table.
  986.  
  987. In all cases the virus was caught by ChekMate. Either by infecting one or
  988. more of the BAIT files or the Boot Sector or Partition Table.
  989.       
  990. Many people do not perform a daily scan of their PC, because they feel it
  991. takes too long (3-20 Minutes). ChekMate takes under 20 seconds to  run,
  992. even on 80286 based systems.
  993.       
  994.  
  995. Page 17
  996. __________________________________________________________________________
  997.  
  998.  
  999. And finally .........
  1000. _____________________
  1001.  
  1002.  
  1003. Thank you for trying ChekMate.
  1004.  
  1005.  
  1006.  
  1007. Page 18
  1008. __________________________________________________________________________
  1009.  
  1010. Information about MD5 (Quoted from RFC1321)
  1011. ___________________________________________
  1012.  
  1013. " 1. Executive Summary
  1014.  
  1015. This document describes the MD5 message-digest algorithm. The algorithm
  1016. takes as input a message of arbitrary length and produces as output a
  1017. 128-bit "fingerprint" or "message digest" of the input.
  1018.  
  1019. It is conjectured that it is computationally infeasible to produce two
  1020. messages having the same message digest, or to produce any message having
  1021. a given prespecified target message digest.
  1022.  
  1023. The MD5 algorithm is intended for digital signature applications, where
  1024. a large file must be "compressed" in a secure manner before being encrypted
  1025. with a private (secret) key under a public-key cryptosystem such as RSA.
  1026.    
  1027. The MD5 algorithm is designed to be quite fast on 32-bit machines. In
  1028. addition, the MD5 algorithm does not require any large substitution tables;
  1029. the algorithm can be coded quite compactly.
  1030.  
  1031. The MD5 algorithm is an extension of the MD4 message-digest algorithm 1,2].
  1032. MD5 is slightly slower than MD4, but is more "conservative" in design. MD5
  1033. was designed because it was felt that MD4 was perhaps being adopted for use
  1034. more quickly than justified by the existing critical review; because MD4 was
  1035. designed to be exceptionally fast, it is "at the edge" in terms of risking
  1036. successful cryptanalytic attack. MD5 backs off a bit, giving up a little in
  1037. speed for a much greater likelihood of ultimate security. It incorporates
  1038. some suggestions made by various reviewers, and contains additional
  1039. optimizations. The MD5 algorithm is being placed in the public domain for
  1040. review and possible adoption as a standard. "
  1041.    
  1042. *** END OF DOCUMENT ***
  1043.  
  1044.  
  1045.