=============================================
  CRC Guard v1.0  (Win98/XP)
=============================================

If a program makes changes inside a file while walks round the directory handling services of the operating system then not the file date nor the archive attribute will reveal the fact of change. This can happen for example when using a program that directly changes the disk sectors, functionally or accidentally. Some undiscoverable changes can be caused by a disk error, too, but a part of the viruses also hide their own traces similarly. These modifications can not be noticed easily even in case of document files, and we said nothing of the program files. Recently this kind of problem happened to me, too; it took a pretty long time to discover what was the source of the damages, which files were destroyed, and mostly: about which files can I know that those are kept intact. To have not to drudge with these problem any more, not for me nor you, I made this application.

There are well known methods that can help to notice if the content of a file has been changed in the slightest degree. One of these methods is the making and checking the CRC value. CRC stands for Cyclic Redundancy Check. From the content of the file (or other data sequence) to be checked a number must be generated by a complicated algorithm, and this number has to be stored somewhere. Later this CRC value has to be generated again from that file by the same algorithm, and we have to compare that with the stored one. If the values are different then the file became modified somewhere in the meantime, at least at one point, at least in one bit. The method is quite sensitive; while using a 32 bits long CRC value the probability of a modification which results an unchanged CRC and an undiscovered change is lower then 1/4000000000.

Many programs can watch or display file CRCs. The PKZIP and ARJ archivers check the integrity of the compressed files by this method, and the VALIDATE.EXE and the Total Commander also can generate CRC values from any file. But I could not find any programs to easily check large amount of files, several subdirectories. So I made this program just for this purpose.

CRC Guard performs checking so that when it meets a file at the first time then it calculates and registrates in a database the size, date and CRC value of the file. When later anytime we check this file again with the program then it compares first the date of that. If the current file date doesn't match to the registered one then no more check will be done, because the file presumably is modified on the regular way, like when we make changes in a document, or when an application saves the events and preferences of the last run into a file. CRC Guard does not check the CRC value of a file like this, otherwise you would always receive a lot of false alarm messages. These files will be handled as newcomers.

But if the dates are equal then the program will compare the current size and the newly calculated CRC with the stored ones. If any of them is changed then it can easily mean an uncontrolled modification of the file, maybe the damage of a disk sector or the infection with a virus. (The detection of virus infections is only a secondary, presumed ability of this program, please use virus detector programs instead to certainly detect viruses.)

I tell you once more: this program can detect only the CHANGE of the size or the CRC, so if the file is already corrupted at the first check then it can not be noticed by this way. It's worth running the program quite often to make the "first encounter" with the files having born or changed in the meantime, and to record their data. This procedure can guard mostly over the files which are not changed ever or too frequently. Program files, device drivers, DLLs and others are there in this group.



  Using of the program
  ----------------------
Well, this is very very simple. Of course, first install it into a folder, anywhere you want. Then after run select the subdirectories (folders) which contain the files that you want to check. The job will be done in a single session, the comparing of the stored data and the recording of the new ones will be made in one pass. At the end of the job the results will be shown up, with the lists of the problematic files.

The program displays green colour while there are not problems found in the current session. The yellow colour does not mark serious problem, but indicates that there are file or folder names longer than the capacity of the database records, these items will not be checked. The real errors will be marked with red colour. The lists of problematic files will be shown at the end of work, and they will be saved on the disk, in the program's folder, into a folder identified with the job date. The question that whether the listed files are really injured the user or system operator has to decide. (After reinstallation or registration of an application some legal modifications can be made, which are indicated only by the change of CRC value, this is not a damage in this case. But you would better pay attention to the listed errors.)



  Limits
  --------
The program can store the data of files or subdirectories only if its name is not longer than 64 characters.
The stored file size can not be more than 2 gigabytes.
The checked subtree must not exceed the 25th levels of the drive. This means that if the path to a folder from the root is longer that 25 steps then this folder will be left out from checking procedure.
The databases can store not more then 2000 millions of file or subdirectory records, including the deleted records. The program is made to be used on personal computers, not on servers or other huge systems.
You can check removable disks with this program in principle, but this version does not really fit to this duty, as I see.



  Future plans
  --------------
Checking removable disks, maybe.



  Known bugs
  ------------
If somebody knows about bugs in his own program then fix them, not list.



  Warranties
  ------------
The usual: nothing at all. Use this program at your own risk. And, as it's often said, don't use it in power plants or in life supporting systems.
Apart from this I've been using this program for some time under MS Windows 98 (and it has already helped on me), I've tested it under Windows XP, too, and I can not imagine that it could cause damages in your machine, unless the operating system goes really crazy. You can have problems mostly during the installation if any of the program components (they are listed in SETUP.LST) could not be inserted into your system.



  License
  ---------
Freeware, as is right and proper. In other words you may use this application on any number of machines, any times. It does not include any kind of restrictions, or services to be activated with password, or spyware, or other kinds of squalidity. But in return for this if you spread or pass this program on then please do that with the complete and original installation package.

IMPORTANT!  ********
The installation package includes and the program uses to calculate CRC values the component CRCCTRL.OCX. [CRC Calculation Control, Version 1.5, (c) Chris Amos, 1998, 1999, 2000]. You can download the full CRCOCX.ZIP package from http://homepage.ntlworld.com/chris_a/ . I express my thanks to the author Chris Amos for this rapid and handy control.



  Epilogue
  ----------
Every notice, proposition, bug report will be welcome. I will inform the senders of these in the future about issuing of all new versions, although I tried everything to make this version to be the good one, not the following.



	Gyula Hódi
	ocx@freemail.hu
