Dec 112017
Virus checking prgm using CRC technique.
File VCHECK.ZIP from The Programmer’s Corner in
Category System Diagnostics
Virus checking prgm using CRC technique.
File Name File Size Zip Size Zip Type
VCHECK.DOC 8054 2652 deflated
VCHECK.EXE 12986 5731 deflated
VCHECK.FX 10973 2837 deflated

Download File VCHECK.ZIP Here

Contents of the VCHECK.DOC file

by Systemberatung A. Dunkel


As the danger of computer viruses rises from day to day,
VCHECK.EXE was developed as a virus detection program for IBM
(compatible) computers.


VCHECK [Options]

Options: /P : directory for data file
/D : documentation file
/DL : list all files in docu-file
/DX : create new docu-file
/S : do only compare file sizes
/SD : calculate check sums only if not yet
done today


VCHECK.EXE creates a database of all executable files (*.EXE and
*.COM) and calculates check-sums of these files. Presumed that a
virus has to change the code of a program in order to infect it,
it is possible to detect the infection by either a change of the
programs' size or by a change of its checksum. This work of
watching and comparing file sizes/checksums is done by VCHECK.

On every invokation of VCHECK, the program will compare the data
stored in the database with the current state of the files. If any
differences occur, VCHECK will give a warning. In this case,
VCHECK will also ask you to acknowledge the warnings by pressing a

The program can NOT decide, whether a given program is a virus,
but it will recognize changes in present programs.

All recognized changes in programs will be documented in a
documentation file; all changes will be listed there together with
the date and time of the examination, affected file names, old and
new sizes, and old and new checksums.

If the documentation file already exists, the new information will
be appended to file. By doing this, you will always have a history
of examinations and changes.

In case a program changes (especially if more than one program
changes at one time) it is time to consider the possibility of the
presence of a virus. One has to keep in mind that there are
programs that change themself without being a virus (e.g.
configuration data).

If you come to the conclusion, that there is a virus present, then
(to cut the matter short) reboot from a KNOWN DOS-disk, consider
the list of affected files and delete/restore them.


by Systemberatung A. Dunkel

AGAIN: the program can NOT prevent any virus to infect other
programs, so the most important thing is to keep backups of every


VCHECK [/P ] [/DXL ] [/SD]


VCHECK will examine all files in the given directory and its
subdirectories. For example 'C:\' if you want all (executable)
files on drive C: to be examined.

/P :

VCHECK creates the file 'vcheck.dta' which will be used to store
the present state (size/checksum) of the files. With option '/P'
you may tell VCHECK in which directory to store this file.

/D[LX] :

All recogniced changes will be written into the documentation
file. If the file already exists, the new information will be
appended to the file. The file will look like the the following:

Virus-Check V1.0E
by Systemberatung Axel Dunkel

Check Sum Size
Filename old new old new
Date: 14.11.1988 Time: 9.26: No Changes
Date: 14.11.1988 Time: 20.45: (No check-sums tested)
D:\TMP\TEST.EXE - 00F6E8D2 - 158708
Date: 14.11.1988 Time: 22.12: (No check-sums tested) No Changes

The additional option 'X' will tell VCHECK to delete the
documentation file first if it already exists.

If you give the additional option 'L', ALL files will be listed in
the documentation file, not only the one's that have changed.

/S[D] :

VCHECK will only compare the file sizes and not calculate the

If you use the additional option 'D' (daily), VCHECK will
calculate checksums only if they were not yet calculated today.
This is especially useful in the AUTOEXEC.BAT, so that every day
the files will be checked completely once at startup, but not
every time you reboot the system (time saver).


by Systemberatung A. Dunkel

Distribution of VCHECK:

This program is *NOT* public domain. It may be copied freely to
anyone if done so without charge and together with this
documentation. If you use VCHECK, send a registration of $25 to

Systemberatung Axel Dunkel
Robert-Schuman-Ring 37
D 6239 Kriftel
West Germany

You will then receive the next version of VCHECK, which will have
some additional features like CRC-checks, etc. Please add
information whether you need VCHECK on 5.25" or 3.5" disks.

There is also a german version of VCHECK available.

There is NO WARRENTY what-so-ever given by the author, it is
especially not guaranteed that VCHECK will detect every virus that
may come up.


- Comments and suggestions are welcome. Please mail them to:
...!mcvax!unido!cosmo!ADSOFT or [email protected]

- Equipment: VCHECK was tested on an IBM PS/2 Model 60 with
DOS 3.3

- VCHECK will also access hidden files (like IBMDOS.COM) and read-
only files.

- Since the checksum is calculated as an 32-bit checksum, there is
nearly no chance for a virus to modify a program without changing
its checksum. However, there will be an additional CRC-check
available in the next version of VCHECK.

- Speed: On an IBM PS/2 Model 60, VCHECK calculates the checksums
of aprox. 5.4 MB/min or 90 KB/sec.

- Since viruses most likely will infect only EXE- and COM-files
(so VCHECK itself can be infected as well) you may rename
VCHECK.EXE to e.g. VCHECK.PG and rename it just before using the
program. This will prevent viruses from trying to infect VCHECK.
You may then write a batchfile like the following:

rename vcheck.exe
vcheck c:\ /P c:\vcheck /D c:\vcheck\check.doc /SD
rename vcheck.exe

This will start VCHECK on drive C: in all directories, the data
file will be placed in the directory c:\vcheck, the documentation
will be appended to the file c:\vcheck\check.doc, and checksums
will only be calculated if not yet done today (this may be used in


 December 11, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>