home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / WINDOWS / VIRUS / WINCRC2 / WINCRC.DOC < prev    next >
Text File  |  1994-03-01  |  19KB  |  521 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                     WinCRC
  17.  
  18.                            Cyclical Redundancy Code
  19.                             Generator for Windows
  20.  
  21.                                  Version 1.0
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.                                                Eric Roe
  58.                                                3137 Briarcliff Avenue
  59.                                                Vestal, New York  13850
  60.                                                Copyright (c) 1994
  61.  
  62.  
  63.  
  64.                                                                       
  65.  
  66.  
  67.  
  68.                                                                       
  69.  
  70.  
  71.         INTRODUCTION
  72.  
  73.            Welcome to WinCRC version 1.0.  WinCRC can generate many of
  74.            the  most  popular CRCs, checksums, and message digests for
  75.            your files. This information can be written  to  a  special
  76.            'key file', so you can verify your files at a later time.
  77.  
  78.            "What exactly is a CRC?", you might ask.  CRCs or  Cyclical
  79.            Redundancy  Codes are a popular method of error control for
  80.            digital data -- like a file on your PC.   A  CRC  generator
  81.            takes  as  input  a  stream  of  digital  data,  does  some
  82.            mathematical footwork on the data,  and  outputs  a  number
  83.            called  (amazingly) the CRC.  This number, which is usually
  84.            16 or 32 bits in length, can be used to detect  any  errors
  85.            which  might  occur  (or  be  introduced) into the original
  86.            data.  How?  WinCRC does it by comparison.
  87.  
  88.            Say you want to verify that a certain  file  has  not  been
  89.            corrupted.  If  you  had generated a CRC for the file at an
  90.            earlier date, you could simply generate a CRC for the  same
  91.            file again -- making sure you used the same CRC method.  If
  92.            the two CRCs are identical, the file is most likely intact.
  93.            I  say 'most likely' because there is always a possibility,
  94.            usually extremely remote, that an error  is  not  detected.
  95.            This method of comparing two CRCs also works with checksums
  96.            and message digests.
  97.  
  98.            Checksums and message  digests  are  also  used  for  error
  99.            detection.  Checksums  are  quite fast but are not terribly
  100.            robust.  As their name implies, they are the  sum  of  each
  101.            byte  of  the  input  data.  Since it's easy to get several
  102.            different numbers to add to the same sum, checksums can  be
  103.            fooled  with  very  little effort.  Message digests, at 128
  104.            bits in length, are extremely secure. It has been theorized
  105.            that  it  is  not  computationally possible to generate two
  106.            files  that  will  have  the  same  message  digest.   This
  107.            security does come at a cost -- it's more time consuming to
  108.            generate a message digest than a CRC or checksum.
  109.  
  110.            "OK, so what good does it do me?"  A  good  question.   Any
  111.            time  you  move  data  around  there's a chance of an error
  112.            creeping in.  Most telecommunication software has some form
  113.            of  built-in error detection.  That way if there's a glitch
  114.            when you're downloading or uploading a file,  the  software
  115.            can  re-send  the  part that got messed up.  The same thing
  116.            can happen when you move a lot of data around on  your  PC.
  117.            A  very  good example is a hard disk defragmenting program.
  118.            On a large drive, hundreds of megabytes  might  be  swapped
  119.            about.   If  a  single  bit  in  your  favorite  game  gets
  120.            inverted...  POOF! it might not work.  Or, what happens  if
  121.            there's  a  power  loss when defragmenting?  Which, if any,
  122.            files might be corrupted? There's the magic of WinCRC.
  123.  
  124.            Use WinCRC to generate a key  file  for  any  files  you're
  125.            concerned about.  Then do the defragmentation, tape backup,
  126.            or whatever other operation you need to do to your files or
  127.  
  128.  
  129.                                                                       
  130.  
  131.  
  132.  
  133.                                                                       
  134.  
  135.  
  136.            disk.  Now when  the  defrag  program  is  done  or  you've
  137.            restored  from  tape, use WinCRC to do a file verification.
  138.            Any files whose CRCs have changed will be flagged and their
  139.            name  and  error  recorded.   You  can  easily pinpoint any
  140.            erroneous files  and  deal  with  them.   If  a  particular
  141.            package has been zapped, you only have to re-install it and
  142.            not worry "Maybe something else  is  messed  up  too."   It
  143.            saves  a  lot  of  time  if you only have to re-install one
  144.            package, rather than everything on the drive  just  to  get
  145.            peace of mind.
  146.  
  147.            WinCRC version 1.0 can generate the following 16 bit CRCs:
  148.  
  149.                 CRC-16         CRC-CCITT         SDLC
  150.                 IBM            CRC-16 Reverse    CRC-CCITT Reverse
  151.                 SLDC Reverse   IBM Reverse       LHA
  152.                 ARC            Zoo               LRCC-16
  153.  
  154.            and these 32 bit CRCs:
  155.  
  156.                 CRC-32         ETHERNET          ZModem
  157.                 PK-Zip         ARJ
  158.  
  159.            It can also generate the following  checksums  (the  number
  160.            indicates how many bits wide it is):
  161.  
  162.                 Checksum 8     Checksum 16       Checksum 32
  163.  
  164.            and these 128 bit Message Digests:
  165.  
  166.                 MD4            MD5 (experimental; see note)
  167.  
  168.            ** Note that many of these are actually the  same  CRC  but
  169.            with different names.  See ALIASES for more information.
  170.  
  171.  
  172.         USING WINCRC
  173.  
  174.         SELECTING A KEY FILE
  175.  
  176.            WinCRC is most useful when you are using a Key File.   When
  177.            generating  CRCs,  WinCRC can write the filename, path, and
  178.            CRC to the key file.  This same key file  can  be  used  to
  179.            verify  the  files.  When  WinCRC  starts,  no  key file is
  180.            selected and '<none>' is shown for the key file.  Press the
  181.            'KEY  FILE'  button and the Select Key File dialog will pop
  182.            up.  By default, files with the extension .KEY  are  shown.
  183.            You  can  type  a  new  search  spec  and click 'OK' or hit
  184.            <RETURN> and whatever spec you entered will become the  new
  185.            default for this session.
  186.  
  187.            Select an existing key file or type a name in the  Filename
  188.            edit  control.   If  the  file  exists,  it will become the
  189.            selected key file. If not, you are prompted as  to  whether
  190.            or not you want the file created.  Select 'YES' to have the
  191.            file created or 'NO' to  return  to  the  Select  Key  File
  192.  
  193.  
  194.                                                                       
  195.  
  196.  
  197.  
  198.                                                                       
  199.  
  200.  
  201.            dialog.  Note that  the  file  is  NOT  created  until  you
  202.            actually do a generate.
  203.  
  204.            Once you have selected a key file, you must check the  'Use
  205.            Key  File'  check box to actually use the file.  The Verify
  206.            option requires you select a key file and check the Use Key
  207.            File option before it becomes available.
  208.  
  209.            WinCRC tests the selected key file to make sure it's valid.
  210.            If  you're  generating  CRCs  and the key file does not yet
  211.            exist, it is created.  If the file exists,  but  is  not  a
  212.            WinCRC  key  file,  CRC generation or verification will not
  213.            continue.
  214.  
  215.            Key files are standard ASCII files and  can  be  viewed  by
  216.            most  editors  including  Windows Notepad, MS-DOS Edit, and
  217.            DRDOS Editor.
  218.  
  219.  
  220.         GENERATING
  221.  
  222.            You can Generate CRCs for files with or without a key file.
  223.            If  you  don't  use  a  key  file, the CRC for each file is
  224.            generated and you can choose to do  the  next  file  or  to
  225.            quit.   The  CRC  is  shown  on  the 'Message:' line of the
  226.            Generating dialog box.  When using a key file, the  CRC  is
  227.            not shown.
  228.  
  229.            Before generating any CRCs you'll need to select some files
  230.            and  also what method you're going to use.  The current CRC
  231.            method is indicated in the 'Method' drop  down  combo  box.
  232.            After  selecting  what  method  to  use you have to ways to
  233.            select some files.  You can use the Files listbox to select
  234.            file  individually, or the Include/Exclude edit controls to
  235.            set up a 'File Inclusion Mask.'
  236.  
  237.            WinCRC can generate CRCs for all files  that  fit  a  given
  238.            specification.   The  basic  logic  is to include any files
  239.            that: have been selected in the file listbox, or those that
  240.            match   the   Include  specification  but  not  an  Exclude
  241.            specification.  The Include/Exclude controls  use  standard
  242.            DOS  wildcards  and  can  contain  multiple  specifications
  243.            separated by spaces.
  244.  
  245.            For example, to  include  all  files  with  .COM  and  .EXE
  246.            extensions  type:  '*.EXE  *.COM'  (don't  type  the single
  247.            quotes) in the Include edit control.   Remember  to  put  a
  248.            space  between the two specs.  Now if you click 'GENERATE',
  249.            CRCs for all .EXE and .COM files will be generated.  If you
  250.            want to Exclude any files that start with the letter 'A' or
  251.            'B', just enter 'A*.*  B*.*'  in  the  Exclude  line.   Now
  252.            you'll  get  all  .EXE and .COM files that don't begin with
  253.            either A or B.  Since files selected in the  Files  listbox
  254.            are  always  included, you can override the Include/Exclude
  255.            specifications for the directory WinCRC is currently in.
  256.  
  257.  
  258.  
  259.                                                                       
  260.  
  261.  
  262.  
  263.                                                                       
  264.  
  265.  
  266.            If  you're  using  a  key  file,  right  after  you   click
  267.            'GENERATE', you will be presented with the Generate Options
  268.            dialog box.  This dialog contains two check boxes.  You can
  269.            select  to  overwrite an existing key file and/or to record
  270.            only file (no path) information in the key file.  Recording
  271.            only  file info is useful if you're moving a group of files
  272.            and don't know if they'll have the same path specification.
  273.            The   file   SAMPLE.KEY  included  with  this  package  was
  274.            generated without path info in the  key  file.   Note  that
  275.            because  no  path  info is recorded it's not very useful to
  276.            check Include Subdirectories; you'll just end up with  alot
  277.            of File Not Found errors when you do a Verify.
  278.  
  279.  
  280.         VERIFYING
  281.  
  282.            To verify files, you must have selected a key file.   Check
  283.            the  Use  Key  File  check box and the 'VERIFY' button will
  284.            become active. When you press 'VERIFY', CRCs for all  files
  285.            in  the  key  file  are  generated and then compared to the
  286.            stored values.  If the CRCs don't match or a file can't  be
  287.            found,  the  error is printed on the 'Message:' line in the
  288.            Verifying dialog.  The file in error and the error  message
  289.            is  also  written  to  a  file  named WINCRC.ERR.  Like key
  290.            files, WINCRC.ERR is a standard ASCII file.  Each time  you
  291.            use Verify, WINCRC.ERR is overwritten.
  292.  
  293.            WINCRC.ERR is located in the working directory for  WinCRC.
  294.            You  can  change the working directory by using the Program
  295.            Manager.
  296.  
  297.            During verification, WinCRC will stop when it encounters an
  298.            error.  You  can press 'NEXT' which continues but will stop
  299.            with the next  error,  or  you  can  press  'FINISH'  which
  300.            continues  without  stopping  until  all  files  have  been
  301.            verified.  It you use the Finish  option,  you  can  always
  302.            look in WINCRC.ERR to check on any verification errors.
  303.  
  304.            When using Verify with a key file that includes file  names
  305.            but  no path information, you must be in the directory that
  306.            contains the files to be verified otherwise WinCRC won't be
  307.            able to find the files.
  308.  
  309.            There is one thing to note when using CRCs to verify files.
  310.            Many  programs maintain configuration files.  SYSTEM.INI is
  311.            an example of one of Microsoft Window's config files.  Some
  312.            programs  actually write configuration information to their
  313.            executable rather than in a separate file.   Of  course  if
  314.            the file changes, so does the CRC. In these cases, the file
  315.            has not been corrupted, rather the user has changed one  or
  316.            more of the program's options.  To avoid having WinCRC flag
  317.            these files, make your  changes  BEFORE,  using  WinCRC  to
  318.            generate CRCs.
  319.  
  320.  
  321.         CHOOSING A DEFAULT METHOD
  322.  
  323.  
  324.                                                                       
  325.  
  326.  
  327.  
  328.                                                                       
  329.  
  330.  
  331.            When you first run WinCRC, the default method  is  Checksum
  332.            8.  WinCRC  can  maintain a different default method in the
  333.            file WINCRC.INI.  To choose a  new  default  method  choose
  334.            'DEFAULT',  select  whichever  method  you  want, and click
  335.            'OK'.  Next time you run WinCRC, the  method  you  selected
  336.            will  be the current one.  Note that choosing a new default
  337.            method does not alter the current method selected for  this
  338.            session.
  339.  
  340.  
  341.         ALIASES
  342.  
  343.            A number of the methods WinCRC uses are  known  by  several
  344.            different  names.   The  table  below  shows  the alternate
  345.            names.
  346.  
  347.                 Method                   Alias
  348.                 --------------------------------------------------
  349.                 CRC-16                   ARC, LHA, Zoo
  350.                 CRC-32                   ETHERNET
  351.                 ZModem                   PK-Zip, ARJ
  352.                 CRC-CCITT                SDLC, IBM
  353.                 CRC-CCITT Reverse        SDLC Reverse, IBM Reverse
  354.  
  355.            Do not confuse CRC-32 with PK-Zip or ARJ.  PK-Zip  and  ARJ
  356.            precondition  the  CRC before and after generation.  CRC-32
  357.            does not. If you use CRC-32 you  won't  get  the  same  CRC
  358.            values that PK-Zip or ARJ generate.
  359.  
  360.  
  361.         KEYBOARD USERS
  362.  
  363.            If you're using a keyboard rather than a mouse, all of  the
  364.            Window's  controls  respond in their default fashion.  I.e.
  365.            to "press" a button, tab to it and  then  press  the  space
  366.            bar.   The one exception it the Directories list box on the
  367.            main window.  Since there is no button to switch to another
  368.            directory, this list box uses the <RETURN> key.  Hightlight
  369.            the directory you want (using the arrow keys  or  spacebar)
  370.            and  then  press  <RETURN>.   WinCRC will switch to the new
  371.            directory.
  372.  
  373.  
  374.         A NOTE ON MD5
  375.  
  376.            As  of  version  1.0  of  WinCRC,  I  am   considering   my
  377.            implementation   of   the   Message   Digest   5  algorithm
  378.            experimental.  Although the algorithm is similar to MD4,  I
  379.            didn't  have  any  other  working  code  to  verify the MD5
  380.            results that WinCRC generates.  If you're not  getting  the
  381.            MD5 output that you expected, this is probably the reason.
  382.  
  383.  
  384.         REGISTRATION
  385.  
  386.            WinCRC is not a free or public domain program.  You may use
  387.  
  388.  
  389.                                                                       
  390.  
  391.  
  392.  
  393.                                                                       
  394.  
  395.  
  396.            it  for  a  period  of  thirty  (30)  days  for  evaluation
  397.            purposes.   To  continue  using  it  after  that,  you must
  398.            register the software.  The more people who  register,  the
  399.            more  incentive  I have to update the program and implement
  400.            user suggestions.  Makes sense, huh?
  401.  
  402.            To register, send a check or money  order  for  US  $15.00,
  403.            payable to Eric Roe, to the following address:
  404.  
  405.                 Eric Roe
  406.                 WinCRC Registration
  407.                 3137 Briarcliff Avenue
  408.                 Vestal, New York  13850-2859
  409.  
  410.            Also, if you have any comments and/or suggestions on how  I
  411.            can  improve  WinCRC  you  can send them to me at the above
  412.            address.   I  can  also   be   reached   via   e-mail   at:
  413.            ericroe@aol.com.
  414.  
  415.  
  416.         DISTRIBUTION
  417.  
  418.            WINCRC.EXE and associated help files and documentation  are
  419.            Copyright  (c) 1994 by Eric Roe, all rights reserved.  They
  420.            may not be distributed in an incomplete or  modified  form,
  421.            nor  can  they  be  sold  for  profit without prior written
  422.            consent of the author.
  423.  
  424.            If  this  software  is  to  be  distributed  it   must   be
  425.            distributed as a package consisting of the following files:
  426.  
  427.                 WINCRC.EXE
  428.                 WINCRC.HLP
  429.                 WINCRC.DOC
  430.                 WINCRC.ERR
  431.                 SAMPLE.KEY
  432.                 REGISTER.DOC
  433.                 README.1ST
  434.  
  435.            Software dealers  and  shareware  libraries  may  charge  a
  436.            minimal  copying/disk  fee  for  the  above  package not to
  437.            exceed US $8.00.
  438.  
  439.  
  440.         DISCLAIMER
  441.  
  442.            This software, WINCRC.EXE and its associated  documentation
  443.            and  help  files,  is  provided on an "as is" basis without
  444.            warranty of any kind, express or  implied,  including,  but
  445.            not  limited  to,  implied  warranties  of merchantability,
  446.            fitness  for  a  particular  purpose,  functionality,  data
  447.            integrity, or data protection.  Persons using this software
  448.            bear all risk as to the  quality  and  performance  of  the
  449.            software.   The  author  will  not  be liable for direct or
  450.            indirect damages or data  loss,  even  if  the  author  was
  451.            informed of the possibility of such damages or data loss.
  452.  
  453.  
  454.                                                                       
  455.  
  456.  
  457.  
  458.                                                                       
  459.  
  460.  
  461.            Suggestions, improvements, diagrams, and other documents or
  462.            documentation  sent  to  the  author become property of the
  463.            author.  No reimbursements or remuneration will be made.
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.                                                                       
  520.  
  521.