ZVTST.DOC 11 / 23 / 89 The programs described herein, excepting SCAN (Copyright McAfee associates) and PKUNZIP (Copyright PKware) are released into the public domain as of 11/23/89. They may be freely distributed as long as no fee over $5.00 US is charged for duplication services. What is the Z/V test Kit? ------------------------- ZVtest is a set of modular programs designed for the BBS SysOp and the average computer user. ZVtest allows you to automatical- ly test ZIP files damage and the files contained in the ZIP file for viruses. Caveats (Warnings) ------------------ SysOps Please note: The SysOp components are written for PCBoard BBSs. This is the ONLY type of BBS that I am SURE will be able to use the SysOp componants of the ZVtest kit, try others at your own risk. In order to make use of the ZVtest kit, you will need a version of McAfee Associates virus tester "SCAN". I recommend version 1.7V49 or higher, since this is the version that I used to test ZVTEST. You will also need the PKZIP/PKUNZIP utility from PKware Inc. The latest version available at this time is 1.02 Both of these utilities should be in your path or in the current directory (the one you'll be running ZVtest from). PLEASE NOTE that both of these utilities are shareware, and should be regis- tered with their respective authors if you plan on using them regularly. You will also need plenty of free disk space, aproximately enough to hold the unzipped contents of your largest ZIP file plus about 60 K. Please also note that there are NO provisions in the ZVtest kit for the use of ARC-type files. Anyone still using ARC format files deserves what he gets. Files Contained in ZVtest. (approximately in order of use) and projected user. ---------------------------------------------------------- ZVTST.TXT (all) DFFIX.EXE (SysOp) FLIST.EXE (all) BATBLD.EXE (all) DFUPD.EXE (SysOp) Thumbnail descriptions: ----------------------- ZVTST.TXT you're currently reading it. DFFIX.EXE 'Synchronize' the file dates in your directory list file with the date & time stamps of the files described therein. Also rewrites the description information in proper case. FLIST.EXE Builds the list of files to be tested. BATBLD.EXE Creates a DOS batch file to test all of the selected files for the presence of viruses, as well as for damaged ZIP files. DFUPD.EXE Updates your directory list file to reflect any prob- lems found. Using ZVtest ------------ I'll go thru this twice, once for SysOps and once for normal users - You may want to skip whichever section doesn't apply to you. SysOps ------ For reasons of preserving my sanity, we'll start with some basic terminology: DIR - the DOS drive & path where the files are actually located. DIRLIST - the text files that your BBS uses to hold the associated file name & description. TMPDIR - an empty subdirecory that can be located on any drive that will be used as temporary work space. ZVtest will NOT create this. Okay, having gotten that out of the way. I use a batch file to run ZVtest, you'll probably want to also. The batch file that I use is included in the ZVtest release file as "SYSTST.BAT". DFFIX.EXE --------- Purpose: DFFIX does 2 things; it reconciles the time & date stamp of the file with the date contained in your dir list. (some transfer protocols keep the originating file creation date, and the file date is what FLIST uses to determine if the file needs to be tested.) and re-writes the dir file description information in proper upper/lower case convention. Usage: DFFIX requires 3 command line parameters. They are; Parameter 1 is the drive, path and name of your DIRLIST file. Parameter 2 is the drive & path of your DIR. Parameter 3 is the drive, path and filename of the new DIRLIST file that dffix is about to create. FLIST.EXE --------- Purpose: FLIST creates a file named TESTFILS.LST that contains the drive, path and filename of all files to be tested. This file will be located in the current directory. Usage: FLIST requires 1 command line parameter and has an optional second parameter. The first argument is the drive and path of the directory containing the files to be tested. The optional second argument is the word ALL , which will instruct FLIST not to do the normal date testing. This option will simple produce a list of the files in the directory to be tested. BATBLD.EXE ---------- Purpose: BATBLD reads the list of files produced by FLIST and creates a BAT file containing the DOS commands neces- sary to extract the file, detect any errors with the extract process, scan the files contained in the ZIP file for the presence of virus infections, detect any virus found information, and create a list of any 'problem' files. Usage: BATBLD requires 1 command line parameter, the directory to be used as temporary storage space for the tests. This directory MUST exist (nothing in the ZVTEST kit creates or deletes directories), and should be empty. If you supply the name of a directory that contains files, it won't contain them for long.... TESTFILS.BAT ------------ Purpose: BATBLD.EXE creates this file. If one existed before, it was overwritten. This is the DOS BAT file that performs all of the tests and captures the results. Usage: TESTFILS.BAT requires and accepts no parameters or configuration files. Any problems that the testing procedure finds will be in a file named PROBLEMS.LST, which will be located in the current directory. The files are listed one file per line of the file. The type of problem will also be in this file - if the last character on the line is a 'Z', it was unextractable. If the last character on the line is a 'V', a virus was detected. DFUPD.EXE --------- Purpose: DFUPD.EXE reads the list of files that had problems and updates your dirlist file, as well as deleting the file in question. If the file was damaged, the first de- scription line for that file will be rewritten to say" DAMAGED UPLOAD: DELETED ". If the file had a virus " infection, the first description line will be rewritten to say "VIRUS DETECTED: DELETED". Each line will start with three (3) ascii code 240 (decimal)s. I did NOT make the file delete an option, if you want me to, drop me a comment and I'll hook it up. Personally, I didn't see the point. Usage: DFUPD requires 3 command line parameters. They are; Parameter 1 is the drive, path and name of your DIRLIST file. Parameter 2 is the drive & path of your DIR. Parameter 3 is the drive, path and filename of the new DIRLIST file that dffix is about to create. SysOp usage comments, etc. -------------------------- The following is the section of my event that runs the ZVtest routines; dffix q:\pcb\gen\dir21 r:\pcb\dir21 q:\pcb\gen\newupdr.tmp Reconcile the file dates with when they were uploaded, and clean up after the upper case typists of the world. flist e:\pcb\dir21 Check the files located in my recent uploads directory & list all of the ones that have been uploaded in the last 2 days. batbld e:\pcb\dir21\testwrk Build the BAT file to perform all of the tests, and use the directory '\pcb\dir21\testwrk' on drive e: for the tempo- rary workspace. call testfils Call the BAT file you just built. Don't forget to CALL it, or control will never return to the event BAT! (If you're using a DOS version pre 3.3, use the command/c construct.) if not exist problems.lst goto noprob If the file PROBLEMS.LST doesn't exist bypass the next step or you'll get a 'file not found' error, and the system will sit & wait for you to hit . dfupd q:\pcb\gen\dir21 r:\pcb\dir21 q:\pcb\gen\newupdr.tmp Update the dir list file to reflect any problems found and delete the problem files. :noprob No problems were found in any of the files to be tested. Standard Users -------------- FLIST.EXE --------- Purpose: FLIST creates a file named TESTFILS.LST that contains the drive, path and filename of all files to be tested. This file will be located in the current directory. Usage: FLIST requires 1 command line paramater and has an optional second parameter. The first argument is the drive and path of the directory containing the files to be tested. The optional second argument is the word ALL , which will instruct FLIST not to do the normal date testing. This option will simple produce a list of the files in the directory to be tested. BATBLD.EXE ---------- Purpose: BATBLD reads the list of files produced by FLIST and creates a BAT file containing the DOS commands neces- sary to extract the file, detect any errors with the extract process, scan the files contained in the ZIP file for the presence of virus infections, detect any virus found information, and create a list of any 'problem' files. Usage: BATBLD requires 1 command line parameter, the directory to be used as temporary storage space for the tests. This directory MUST exist (nothing in the ZVTEST kit creates or deletes directories), and should be empty. If you supply the name of a directory that contains files, it won't contain them for long.... TESTFILS.BAT ------------ Purpose: BATBLD.EXE creates this file. If one existed before, it was overwritten. This is the DOS BAT file that performs all of the tests and captures the results. Usage: TESTFILS.BAT requires and accepts no parameters or configuration files. Any problems that the testing procedure finds will be in a file named PROBLEMS.LST, which will be located in the current directory. The files are listed one file per line of the file. The type of problem will also be in this file - if the last character on the line is a 'Z', it was unextractable. If the last character on the line is a 'V', a virus was detected. General Comments on ZVTEST -------------------------- I made little effort to make these programs 'pretty' since I was in a hurry and simply needed them to WORK. They do indeed work, I have been using them on my BBS for about 8 weeks with no prob- lems at all. If you have questions or problems with the ZVtest kit, this is where to reach me. The Hacker Central BBS | 201-334-2555 | 300/1200/2400 8N1 Since the ZVtest kit makes use of PKwares' PKZIP utility and McAfee Associates SCAN I want to urge you to register them if you plan on using the ZVtest kit regularly. I ask for no registration fees for ZVtest because I basically wrote them for my own BBS. If they do something that will help you, I'm glad I was able to be of help. If you want to send some money, I'd appreciate a donation to the Red Cross or the American Cancer Society. Better yet - donate some blood at your local hospital. If you want to call my BBS and drop a comment (or a scream) I'll be pleased to hear from you. Michael W. Cocke 12/2/89