Please leave the next line intact for update patches to be applied later! $VER: CFX 5.258 *************************************************************************** * * * CFX PRO 5 - Crunched File Xaminer * * * * by BOB RYE and MARCUS MROCZKOWSKI * * * * Public Release: Friday 25/09/1992 * * * *************************************************************************** Everything contained in this release of CFX PRO 5 for the Amiga is USE-AT-OWN-RISK. We, the authors, make no guarantee as to the fitness for use of this software. We accept no responsibility for possible damages incurred before, during or after execution of this software. #### # #### #### #### #### #### #### #### ### ##### # # # #### # # # # # # # # # # # # # # # # # # # # # # #### # ### #### #### ### #### ### #### # # # #### # #### # # # # # # # # # # # # # # # # # # # # # #### #### # # #### #### # # #### # # ### # # # # #### # ***************************************************************************** DID YOU PAY MONEY FOR THIS SOFTWARE? CFX is FREEWARE This software is FREEWARE. This software is free. If you have paid money for this software, then you have been ripped off. I have written this program for you, for free. If you paid for "support" from where you got this file, then you are also being ripped off. There are only two people who can fully help you with the operation of this program: Marcus Mroczkowski (co-author), and myself (Bob Rye, the guy who wrote this program.) You cannot obtain support from some unqualified desk-doofus hiding behind the facade of "a support specialist". All that these people are doing is making money from you, the innocent end-user, and ripping me off by immorally making money from *MY* programs. Please take a stand against these companies. Please don't buy *FREE* software from these companies. If you would like copies of any (or all) of MY software (anything by Bob Rye) you can have them for *FREE*. That's right, for nothing. All I ask for is a blank disk, to copy the programs onto, and the cost of return postage (and your address!) Then if you want "support" for my programs, send Fido Netmail to me (addresses are at the bottom of this document) or snail-mail me and you'll get real support. STAND UP AND BE COUNTED. Say NO! to costly FREE software. ***************************************************************************** If you represent a PD/Shareware/Freeware library or electronic distribution system, then please feel free to contact me to gain written permission to allow you to legally include this software in your library, for distribution. The "ADS" electronic distribution system has my written permission to redistribute this software, as does Fred Fish. You may copy and transfer copies of this package to whoever you like, provided that this package is transferred completely intact, with all documentation and executables unmodified therein (modification of copyrighted works is called "contributory copyright infringement" and persons found infringing copyright are liable to legal action); however, if you represent a registered (or otherwise) company, and you wish to redistribute this package, you MUST obtain my written permission. The registered version of the CFX executable may not under any circumstances be copied, (pirated) distributed or given away. The copyright to CFX, the documentation, the source-code, and the actual software remains the explicit property of Bob Rye, İ 1988-1992 inclusive. Distributors of this package must cease distributing this package, if and/or when, specifically requested to do so by the author(s). This request will be made in writing. ANY commercial distribution of this package without the prior written consent of the author (Bob Rye) is expressly prohibited. DISCLAIMER ŻŻŻŻŻŻŻŻŻŻ ALTHOUGH OUTSTANDING BUGS IN THE CODE HAVE BEEN ELIMINATED, THERE REMAINS THE POSSIBILITY OF UNFORESEEN PROBLEMS. WE RESERVE THE RIGHT TO REFUTE THE EXISTENCE OF SUCH 'BUGS', BUT IF FOUND, WE WILL ATTEMPT TO FIX SUCH PROBLEM(S). IF, HOWEVER, UNFORESEEN BUGS ARE FOUND TO CAUSE YOU MENTAL AND/OR PHYSICAL ANGUISH, THEN THAT IS AS THEY SAY IN THE CLASSICS, BAD LUCK! WE ACCEPT NO BLAME FOR ANY LOSS OR INCONVENIENCE FOUND TO ARISE FROM THE (MIS)USAGE OF THIS PROGRAM. WE RESERVE THE RIGHT TO WITHDRAW SUPPORT AND UPGRADES AT ANY TIME. WE PROBABLY WON'T DO THIS, BUT WE HAVE THIS RIGHT. ALL INSTANCES OF COMPANY AND/OR PRODUCT NAMES ARE (C), (R) AND (TM) RESPECTIVELY, WHERE APPLICABLE. "CFX" AND "CFX PRO" ARE COPYRIGHT BOB RYE, 1988 - 1992 INCLUSIVE. CFX VERSION 5 has been extensively tested on: Amigas 500, 1000, 2000, 3000 (all vanilla PAL, 1.3 - 2.04 OS) B2000 GVP 22mhz & 33mhz ALL-IN-ONE accelerator PAL 1.3 - 2.04 OS A3000 PP&S 68040 (CAVE-YOUR-BRAINS-IN) accelerator, 2.04 OS ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ CFX PRO 5 Page 1 Table of contents: ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ 1...... Contents 2...... Preview 3...... Usages 4...... Switches (filetypes) 7...... Options 15...... Bits and Pieces 16...... CFX output 17...... Correspondence 18...... Registration (ho ho, I'm a cynic.) 19...... Credits & Acknowledgments 20...... Registered Users 21...... Registration form CFX PRO 5 Page 2 Preview ŻŻŻŻŻŻŻ CFX has the ability to enter the directory tree of your disks. The directory tree of a disk can be extensively deep. CFX will only allow you to enter 48 directory levels, and no more. To allow for the recursive collecting of 48 layers of directories, you need 30000 bytes of stack. Since the average system-floppy will usually contain no more than 6 levels, this shouldn't be a problem, since 4000 bytes of stack allows you to enter 8 directory levels. So, to be sure, please allow 30000 bytes of stack if you intend to examine possibly-large directory trees. You have been warned! CFX requires the ReqTools.library and the PowerPacker.library to run. CFX was written to enable the Amiga user to identify certain characteristics of given files. The file, let's call it 'TEST', is a file that you received from a BBS, but there were no accompanying docs with it. The file is executable, but you have a feeling that it is crunched. PowerPacker doesn't know this file's 'crunch' type, so you can't easily identify the filetype. You could use a debugger/monitor to find what the filetype is, but the most you'll get out of that is to ascertain that the file REALLY IS crunched. Well, from my experiences on the Aust Amiga Fido Echo, I know that there are a lot of you who don't like receiving crunched files. This program attempts to let you know if it is crunched, and most possibly, what it is crunched with. You can then decide what to do with the mysterious file 'TEST'. Keep it or trash it???? Unlike many other so-called 'file examiners' on the Amiga, CFX has a very large brainfile from which it can acknowledge a large percentage of the current Amiga filetypes. It will then report to you what type of cruncher was used to crunch the file, or, if it isn't crunched, what type of file 'TEST' really is. The information that CFX gives isn't really self-explanatory, so let's describe what the various displays mean. CFX PRO 5 Page 3 USAGES ŻŻŻŻŻŻ Upon invocation with the standard "help" switch: 1> CFX ? {return} CFX will show this screen: CFX Crunched File Examiner Pro İ Bob Rye & Marcus Mroczkowski Registered Copyright (c) 1988->1992 incl. 68030 VER 5.229 16:47:28 Aug 10 1992 Version Usage: CFX [<-f>switch] [-options] [file1,file2,,,] Switches: -f where = Options: a Address crunched -a About CFX b Binary (non-exec) files -b Be quiet c Crunched (a+r+t) files -c Checksum calculation d Document/text files -d Deep directory scan i IFF files -e Extended hunk scan k Known files -h<=># files with <#, =# or ># Hunks o Overlayed files -i[p|f] Integrity check [pass|fail] p ILBM Picture files -l[f] real file Length [FFS] r Relocator crunched -n No virus-requester warnings t Transmission archives -r Requester usage u Unknown files -s[l] Summary [Loud] v Viruses -u deep Uncrunch/virus check x eXecutable files -x file eXplosion information As you can see, CFX accepts switches and options, along with filenames and/or directory/device names. CFX also examines the current directory via: 1> CFX {return} First, let us explain the switches. CFX's switches can be thought of as "find" switches. When you use a particular switch, you are really asking CFX to find a specific filetype. Therefore, when using a CFX switch, you must prepend the action specifier with an immediate "-f". Here are some examples: 1> CFX -fa dh1: {return} will examine the root-level of DH1: for any files that are of the address-crunched type. The action specifier in this case is the "a" after the "-f". The "a" of course stands for "address". No other filetypes will be displayed other than address-crunched files. By using this switch, you are effectively filtering out every other filetype other than address-crunched. (See ADDRESS-CRUNCHED in the FILETYPES chapter) 1> CFX -ft MAIL: {return} will examine the root-level of your MAIL: directory for any filetypes that fall into CFX's "transfer archive" category, hence the "t" after the "-f". (See TRANSFER ARCHIVE in the FILETYPES chapter) All of the specific filetypes are explained in full in the FILETYPES chapter. CFX PRO 5 Page 4 SWITCHES (FILETYPES) ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ The following switches must be immediately appended to the "-f" find switch, thus: CFX -fr dh0: {return} (find relocator-crunched) a address-crunched - this switch will force CFX to only display files that have been output by an address-cruncher. Address-crunchers tend to be the scourge of the computing society, so these files shouldn't really be allowed to live, unless of course, you really need the file. CFX knows most of the Amiga address-cruncher formats. CFX doesn't currently check the uncrunched contents of all of these filetypes, although some are now covered (See "-u deep Uncrunch" option later). This switch cannot be used in conjunction with any other switch, although some options may be used. See BRAINFILE INFORMATION for more info on address-crunchers. b binary (non-exec) files - when this switch is used, CFX will only display information on non-executable files. This filetype covers all non-executable filetypes, including transmission archives, text files, picture files etc. This switch may be used in conjunction with the "known files" and "unknown files" switches, and some options. Obviously, you cannot ask CFX to display only executable binary files, as binary files are NOT executable in the eyes of CFX! c crunched (a+r+t) files - this switch will allow CFX to display all files that it finds that have been crunched by something. This includes Address-crunched files, Relocator-crunched files, and Transmission archives, hence the (a+r+t) after the description. This switch cannot be used in conjunction with any other switches, although it is possible to mix this switch and some options. i IFF files - this switch allows CFX to find and display only IFF format files. Practically all IFF files are catered for in this switch. If CFX finds an IFF file that it doesn't actively know or recognise, then it will print "Unknown IFF format". If this happens, please send us a copy (or the first 4000 bytes) of the file(s) in question and we'll add it to our brainfile. This switch cannot be used in conjunction with other switches, but may be used with some options. k known files - this switch is for use in conjunction with one of these other switches: . When used without another switch (ie. CFX -fk {return} or CFX -fk dh3: {return}) CFX will only display files that it knows. Considering that the list of filetypes that CFX knows is rather extensive, you should find a lot of files! When used with the binary switch (ie. CFX -fk -fb {return}) CFX will only display files of non-executable type that it actively knows. This could cover filetypes of known IFF's, or certain configuration filetypes etc. In conjunction with the overlayed switch, this switch will find known overlayed files. This could include the "DImp executable disk archive" or the "PowerPacker 3 overlayed file crunched file". Finally, you may use this switch with the executable switch. This will ensure that CFX only displays executable files of known type. This could include all crunched executable files that CFX knows. CFX PRO 5 Page 5 o overlayed files - this is a very handy switch that allows the user to find overlayed filetypes. Since it may be difficult for the non-technically minded user to find the overlay id long-word in an executable file-header, this option allows you to find which files are overlayed. Overlayed files use a special technique for loading into the Amiga's memory. Certain software producers use this technique on their larger files so as to not rob the Amiga of vital memory during loads (ie. instead of loading a 340k file directly into the Amiga's memory, an overlayed file may only load in what parts of the file that they need at any one time. Therefore this file may only load 50k at any one time, thereby freeing about 300k of memory for other uses.) Obviously, this switch finds executable files (only they can be overlayed!) Therefore, no other switches work with this one, other than the "known" and "unknown" switches, and some of the options. p ILBM picture files - this is almost a subset switch of the IFF switch. This allows CFX to find and display ONLY IFF picture files, and not *ALL* of the entire IFF gamut. Also, all IFF (ILBM and ANIM) picture files found will be displayed with normal and additional information (if possible.) The picture's size and number of bitplanes will also be displayed, making this switch an excellent tool in itself. This switch is mutually exclusive from other switches, but may be used with some options. r relocator-crunched - CFX will display files of this type if this switch is used. Whilst similar to address-crunched files in some ways, relocator-crunched files tend to be more useful, and more kind to the machine. Some of these relocator-crunched files actually use more intelligent scatter-loading methods than AmigaDOS itself (wouldn't be hard, though *;-) This switch can only be used by itself, with a couple of the options thrown in for good measure. After all, you don't want to find all of the files that are address-crunched relocator IFF's, do you?? t transmission archives - this is another handy little switch for finding (and examining, to an extent) files that are considered transmission archives by CFX. Since most of you use these archiving methods, I won't go into the "Complete works of Lempel and Ziv", or explain the inner workings of "adaptive Huffman encoding". Instead, let it suffice to say, that CFX knows lots of 'em. If you have any of these cute archive types that CFX doesn't know, then please let us know! This switch is mutually exclusive with other switches, but some options may be used with it. u unknown files - see "known files" and reverse what has been said. CFX PRO 5 Page 6 v viruses - unluckily, the Amiga is following the rest of the computer/PC cliques (or should that be cliches??) that have hordes of rabid spotty juveniles writing heroic viruses (I think I must attribute that line to Andrew Clayton!) These authors are of course witless beyond belief. Luckily, we have been allowed to obtain several file-virus filetypes from Amiga Quarantine, in New South Wales. The guys at A.Q. (Richard and Brian Logan) were gracious enough to allow us access to some of the common (and some uncommon) nasties that might visit you, if you're not careful! With this switch, you can force CFX to ONLY check each file found for virus infection. This will ensure that CFX ONLY displays information about files that are of a virus filetype. You don't, however, have to manually use this switch for CFX to virus-check your files. CFX automatically checks each executable file for infection EVERY time it is run. Since CFX is a hybrid of assembly and C, the asm virus checking routines are lightning quick, hence the automatic checking. When/if CFX finds a virus-infected file, it will print its usual information, AND display a requester informing you of your infection (ooh, sounds nasty.) CFX doesn't remove or disinfect infected files. It is only there to find such infections. So far, CFX has performed beautifully, and has even outperformed most of the latter-day anti-virus utilities. Another thing to be aware of, is CFX's built-in anti-virus protection. CFX has two intelligent routines that it performs every time CFX is invoked. Firstly, CFX checks it's filename (argv[0]) and if this isn't "CFX" then it will bomb out, with a warning. This is for protection against those "replacement" viruses which rename your original file to something like "DEVS: ". Secondly, CFX performs a self-anti-virus test upon each invocation. If CFX finds that itself has been infected, CFX will not run further, as doing so may infect each and every file that CFX checks! Not good. Therefore, CFX needs to be able to find itself upon every invocation. This means one of two things: you MUST place your copy of CFX in a system-pathed directory (ie. C:) or you must call CFX with it's full pathname (ie. DH1:TOOLS/CFX.) The latter is cumbersome, so use the former method. If CFX cannot find itself, through pathnames, or through tracing its own argument vectors, then it will run without checking itself. This is your problem. ************************************************************************ *** In conclusion, only use -fv if you are specifically looking ONLY *** *** for infected files, as CFX will always check ALL executables for *** *** infection anyway. *** ************************************************************************ x executable files - will force CFX to only display executable files that are found during its scan. This switch can be used with the "known" and "unknown" switches. You can't use this switch with many other switches (other than find unknown and known), but some options are available with this one. This switch is useful for finding files which you can run on an unknown disk (AND CFX performs a virus check on each executable that it finds!) CFX PRO 5 Page 7 OPTIONS ŻŻŻŻŻŻŻ CFX's options are "support" options, which should make your prospective examinations easier. Let's dissect the options singularly: Options: -a About CFX - this option shows one of two things. If you have paid a registraton contribution to the authors, you will receive a personal version of CFX. This version will have your name and other information in this screen: CFX Crunched File Examiner Pro İ Bob Rye & Marcus Mroczkowski Registered Copyright (c) 1988->1992 incl. 68030 VER 5.229 16:47:28 Aug 10 1992 Version Compiler: SAS/C version 5.10b This CFX is registered to: Bob Rye Registration contact: BOB RYE 11 BEAVER STREET ST. ALBANS, VICTORIA AUSTRALIA, 3021 Otherwise, if you are still using the public release version, this screen will explain the FREEWARE concept, and give you information about how to contact the authors for when you decide to register CFX. CFX Crunched File Examiner Pro İ Bob Rye & Marcus Mroczkowski Public Copyright (c) 1988->1992 incl. 68000 VER 5.226 17:13:59 Jul 14 1992 Version CFX is a file examiner with a difference. It doesn't claim to be anything but a file examiner. Of course, something written today will be out of date tomorrow, but we are committed to making, and keeping, CFX the best file examiner that your precious registration money can buy. This version of CFX is FREEWARE, which means that if you use CFX, you don't have to provide a small contribution to the authors, but if you do contribute a small amount, you will receive a fully functional version of CFX, with built-in virus-check-uncrunch. We suggest a nominal fee of $25 AUS (See DOCS), which will not only endear you to us forever, but will also allow you free updates and upgrades whenever they are available. Be daring! Register this FREEWARE product today! Registration contact: BOB RYE 11 BEAVER STREET ST. ALBANS, VICTORIA AUSTRALIA, 3021 Surely for this much work, we deserve something, don't we??) This option is best used by itself. *-------------------------------------------------------------------------* CFX PRO 5 Page 8 -b Be quiet - this option will allow you to dodge the CFX title/heading which CFX prints at the start of each session. Why this option? If you use Directory Opus (quite fantastic IMO) and you have CFX hooked into a tool gadget, you will soon realise that DOpus uses (or did use, I don't know if it's changed!?) a 256-byte string buffer for selected filenames. If you picked 23 filenames in DOpus, and the length of all these filenames exceeded 256 bytes, then another string buffer would be allocated for you. Therefore, CFX would print its title, and then do its work, and then get its next string buffer and do it all over again. Seeing the CFX title after every 6 files have been CFX'd gets a bit annoying. This option alleviates this somewhat. *-------------------------------------------------------------------------* -c checksum calculation - an option for the paranoid! In your examination travels, you may feel like gaining a magic number for each file that is examined. This number shouldn't change between invocations of CFX. It is a little checksum of the file's header, and can show you whether a filetype has changed since you last CFX'd it. To properly use this, you should redirect CFX's output to a text file, and store that textfile somewhere safe. Later, you can cross-reference another of these outputs against the original. Any changed files will have a different checksum. Perhaps later, we may add a built-in function to automatically cross-reference these files. This option can be used in conjunction with most switches and other options. *-------------------------------------------------------------------------* -d deep directory scan - one of the most basic (and important) options. The "-d" will allow you to recursively enter directory levels. If you were to use: 1> CFX -d dh0: {return} CFX would first examine the root level of dh0:, and then each of the sub-directories from the root. The above example would provide an examination report for ALL files and directories on drive dh0:. This option can be used to modify all action switches and options. When CFX outputs its findings, it doesn't sort the directory entries in any way, as this would entail buffering and sorting before output. We believe that reading a directory structure straight from DOS is the best way to get to filenames, hence no sorting/pausing. CFX now has a limit as to how many directory-levels it can descend. As of this writing, the number has been set at 48 levels, although this may change at any time, for bigger or smaller. This has been implemented because of the fact that CFX recurses, and uses more memory each time it enters a new directory-level. This memory comes from the system-stack. If you have a low system-stack when you use "-d", and CFX crashes, then you should set your stack to a higher number. The bigger the stacksize, the better. To allow for the recursive collecting of 48 layers of directories, you need 30000 bytes of stack. You have been warned! *-------------------------------------------------------------------------* CFX PRO 5 Page 9 -e extended hunk scan - another option for the technically minded. This allows the user to FULLY examine the hunk structure of a specified file(s). Of course, this will only be effective with executable files, so non-executable files won't provide an extended-hunk report. This can be useful for checking whether a file contains annoying debug hunks, symbol hunks, or anything else hunk-oriented. You can use this option with most other options and switches, although extended hunk-information won't be provided for non-executable files. *-------------------------------------------------------------------------* -h<=># files with <#, =# or ># hunks - this option is practically a "find" switch camouflaged as an option. If you would like to know which files on your disk contain a certain number of hunks, this is the option to use. Some programmers release executables containing innumerable hunks. This can be good and bad. If your system contains severely fragmented memory, a program of 97 hunks will probably scatter-load a bit easier (memory permitting) than a 2 hunk file of the same size. Imagine your Amiga's memory as being a big box containing several pigeon-holes. When the memory isn't fragmented, there might only be 4 pigeon-holes, that are quite large. When fragmented, the pigeon holes are more in number, and a fair bit smaller. A large program of two hunks will need a certain amount of contiguous memory to scatter-load. If fragmented, your machine may not be able to load the file. On the other hand, the fragmented machine may be able to load the same sized program of 97 hunks, as each hunk is small, and easily fitted into the "broken" memory. If you are an avid Imploder 4 user, then you may want to "hunk-merge" such programs with huge numbers of hunks. If you need to know whether your TOOLS: directory contains any files of more than 10 hunks (my personal cut-off level), then CFX the directory with: 1> CFX -h>10 TOOLS: {return} CFX will then inform you of the files of more than 10 hunks in your TOOLS: directory. You can also find files containing a specific number of hunks by using the "=" operator, or files containing less than a certain number through the "<" operator. Hence: 1> CFX -h<3 TOOLS: {return} will find files of less than 3 hunks in TOOLS:. Of course, you cannot specify an illegal formula like: 1> CFX -h<1 TOOLS: {return} or 1> CFX -h<-10 TOOLS: {return} as executables cannot contain less than 1 hunk. The numbers that you give to CFX for this option MUST BE positive decimals. This option can be used with many other options and switches, although useless if used in conjunction with "-fb" for instance. If you don't understand this concept, Addison-Wesley print excellent books for the Amiga... *-------------------------------------------------------------------------* CFX PRO 5 Page 10 -i[p|f] integrity check of files - have you ever received a disk of pictures from someone and noted that some of the files have disk-errors right in the middle of them? Have you also noted that the pictures with the errors in their guts are the ones that you REALLY want? Just as Mostra is about to show you the incredibly viable HAM interlaced version of "KELLY_BUNDY_GOES_NAKED_SEX_FEST.pic" you hear that sickening noise from DF0:. Oh, I'm all a-swoon from the thought of it! This can provide you with quite a lot of teeth-gnashing. The "-i" option checks all specified files on a disk for these horrid read/write errors. If CFX finds a file that has compromised integrity, CFX will report this with a flag in its output. (See "CFX OUTPUT" later...) You then know that this file is knackered. Brett O'Callaghan then asked for more from this option, so he got it. Brett said that he'd like CFX to be able to report just WHAT files passed or failed an integrity check, while skipping other irrelevant information. Well, this function is now implemented, as you can now specify either: 1) a straight integrity check of all files, with reporting of all file's statuses, or; 2) an integrity check of all files, but only receiving reports about which files FAILED the check, or; 3) an integrity check of all files, but only receiving reports about which files PASSED the check. To gain a complete integrity check of all files (and receive full reporting), use the '-i' option. For a full check, but only receiving reports for FAILED or PASSED files, use '-if' or '-ip' respectively. This option is subject to all other dynamic switches/options, as in using the '-s' option with the '-i' option, you won't receive any information (unless you use the BOC '-sl' option) about individual files, but only a summary report. Then check the number of entries in the 'Compromised files' area for how many bad files there are. This option can be used with most other options and switches. NOTE: Attempting the check an emtpy file's integrity is not possible (why bother?) Thanks to Martin Ozolins who made some chilling discoveries about CFX... *-------------------------------------------------------------------------* -l[f] real file length [FFS] - "Bob, I have a cunning plan." This is what Brett O'Callaghan once said in response to the completely blasphemous way that AmigaDOS handles filesizes. I won't explain the way that DOS handles the filesize information, but suffice it to say, it's stuffed (just like Baldrick's plans.) Brett came up with a plan so cunning, you could cut your lunch with it. This involved asking DOS how big a file is, and then rolling it in a cute little algorithm of mine. Now, using this option, CFX will list filesizes CORRECTLY. That is, instead of being told that your disk containing one hundred 3-byte files contains 300 bytes of information, CFX will tell you that you really have a lot less than 835.7 k free. Don't forget, that each of these 3-byte files is really exactly 1-kilobyte long (one parent block = 512-bytes, one data block = 512-bytes). This option defaults to standardfilesystem sizes. You can use fastfilesystem sizes via: 1> CFX -lf ... {return} I don't know how useful this option is, as it would be handier in a directory-handling program (like that excellent Australian one with the author who doesn't reply to netmail.) This option is also safe to use with most other options and switches, as its actions are practically passive. *-------------------------------------------------------------------------* CFX PRO 5 Page 11 -n no requester-warnings - this is for those of you who like to redirect your outputs. When CFX finds a file-virus on a disk, it reports this via a big requester. Since this requester will sit there on your CLI for an eon or two, you can turn off the requesters. Now you can check a disk for viruses, whilst redirecting CFX's output, without having to worry about clicking requesters every 7 seconds. Another excellent idea by CFX's co-author, Marcus Mroczkowski. This option can be used in conjunction with other options and switches, although you must be careful with its use, as CFX would (by default) warn you that it has found a virus on your disk. If you turn off the requester-warning, then pay attention to CFX's file-information area, as CFX will ALWAYS print to the standard output that a file-virus has been found. *-------------------------------------------------------------------------* -r requester usage - for those people who like to point and click. This version of CFX allows a *MUCH* better representation of a file-requester, using the brilliant Nico François ReqTools.library requester (makes the ARP and REQ requester look very dense.) By using the command-line: 1> CFX -r {return} CFX will bring up the requester, and ask for your selection(s). You can either change directories or sit where you are; point and hit "OK"; double-click a filename; or extended-select a group of files (thankyou Brett!) using the shift-key for the extended-selection modifier (ala WorkBench), select ALL of the files in the current directory by hitting the "ALL" gadget, select files via a wildcard arrangement, using the "MATCH" gadget; or just hit "CANCEL" and do nothing. *-------------------------------------------------------------------------* CFX PRO 5 Page 12 -s[l] summary [LOUD] - when examining a whole directory tree, the user may not want or need CFX to display everything about the files found. You may only want a summary of valid points about the dir-tree. This information can be very interesting, and is generally quicker than a full-display of CFX's work. Here is a summary of my DH1: partition that CFX gave me after the command line: 1> CFX -d -s dh1: {return} CFX Crunched File Examiner Pro İ Bob Rye & Marcus Mroczkowski Copyright (c) 1988, 89, 90, 91 VER 5.08p 14:53:02 Oct 20 1991 CFX Summary of "dh1:" (HD_1): -> Relocator-crunched.......: 74 Size : 1225988 -> Address-crunched.........: 1 Size : 6164 -> Other known executables..: 0 Size : 0 ?? Unknown executables......: 115 Size : 4104876 --------------------------- Executable files checked.....: 190 Size : 5337028 -> Crunched data files......: 1 Size : 54708 -> Other known data files...: 4 Size : 68606 ?? Unknown data files.......: 0 Size : 0 --------------------------- Data files checked...........: 5 Size : 123314 Acceptable files.............: 195 Size : 5460342 Compromised files............: 0 Size : 0 Directories found............: 7 FILE/LINK VIRUSES found......: 0 Total % of known files.......: 41.03% The only other thing I should explain is the [LOUD] sub-option. With the above example, (and as is usual) CFX used the default QUIET option. You can force CFX to print it's usual information display whilst doing the summary scan. The LOUD option must be specified immediately after the "-s". (Thanks again to Brett O'Callaghan for this little titbit!) This option is particularly useful when used in conjunction with some of the "find" switches. Of course, the percentage known total at the bottom of the summary output can appear silly at times. For example: 1> CFX -fr -d -s dh0: {return} will search (deeply) through drive dh0: for all relocator-crunched files, and then display a summary screen on the found files. Of course, the % known field will be 100% if any files were found. If you can't figure out why this is so, go back and use Whatis. NOTE: CFX now allows stacked device/dir/file names to be passed to the summary function. This means that the following command line is perfectly valid: 1> CFX -fr -d -s dh0: dh1: dh2: dh3:{return} as long as you don't include too many name directives. CFX now ceases counting at 30 files/devs and will only examine the first 30 given. One thing you should also be made aware of is the fact that CFX's switches and options are NOT case-sensitive. So, either -FA, -Fa, -fA, or -fa will gain the same action. Another caveat is the argument positioning. CFX doesn't need arguments in any particular order. For example: CFX PRO 5 Page 13 1> CFX -s -d -fr dh0: {return} is identical to: 1> CFX -d -s -fr dh0: {return} is identical to: 1> CFX -d dh0: -fr -s {return} 1> CFX -s -d -fr dh0: dh1: dh2: dh3: temp: {return} is identical to: 1> CFX dh0: -s dh1: -d dh2: -fr dh3: temp: {return} is identical to: 1> CFX dh0: dh1: dh2: dh3: temp: -s -d -fr {return} If CFX gives you this warning: CFX Crunched File Examiner Pro İ Bob Rye & Marcus Mroczkowski Copyright (c) 1988, 89, 90, 91 VER 5.08t 14:18:14 Oct 23 1991 Argument conflict: illegal combination of switches. then you know that you have offended CFX's logic. If you have a mixture of switches that CFX refuses to accept, that YOU think should be OK, then please netmail me with your ideas. I'll certainly have a look at them. *-------------------------------------------------------------------------* -u deep uncrunch/virus check - this is a new option which will definitely grow as we add more cruncher types to this function. What this does is quite simple (from the user's viewpoint!) If CFX finds a file that has been crunched by a certain cruncher type that it can uncrunch, and the -u option has been given, CFX will attempt to uncrunch the file, and then scan the uncrunched memory for viruses. Currently this option supports these cruncher types: ByteKiller 1.2-1.3 Tuff 1.0 Tetragon "Tetrapack" 2.1 - 2.2 +PRO DefJam 3.2 PowerPacker data PowerPacker 2.x OTHER THAN MASTER modes PowerPacker 3.x OTHER THAN MASTER, overlayed and encrypted modes PowerPacker 4.x OTHER THAN overlayed, loadseg and encrypted modes All Imploders, 1.0-4.0 OTHER THAN S-Lib & L-Lib crunched, overlayed crunched, and some mutants. Technically speaking, ByteKiller, Tuff, Tetragon(s) and DefJam(s) usually stomp memory where they uncrunch, but CFX doesn't allow this to happen. CFX allocates a safe memory area (memory permitting) and allows these crunched files to uncrunch safely. The uncrunched programs in this mode DO NOT launch, so this function is safe. If a virus is found hidden in a crunched file, CFX will give the appropriate warnings. Of course this option can take some time to fully execute if you have 300 (supported) crunched files in a directory to check. Usage example: 1> CFX -u -d DH1: {return} will examine ALL directory levels of drive DH1:, and if CFX finds any of the supported crunchers, it will attempt to uncrunch them, check them, and report it's findings. Sometimes CFX may report that a file was too mutated for uncrunch-examination: this is just tough luck. CFX will then skip this file. One file comes to mind, and that is MandelMountains 2.1 (mutated like the be-jingos.) To uncrunch this file, run two copies of Zap, load in MM2.1 into one Zap, and another Imploder Normal file into the other Zap. Now, after the longwords $000003E9, $00000014 in MM2.1, copy Normal Imploder code into the MM2.1 Zap window, until you hit the first $000003F2. Now use PowerPacker 3.0+ to uncrunch this file. Experiment... On registered versions of CFX Pro, some MUTANT Imploder filetypes were so mutated that CFX had NO real chance of uncrunching them for the file-virus check. This has still not changed, and any attempt to use the "-U" option on mutated files may result in a severe system crash. CFX has, however, been changed so that it now attempts to determine the extent of mutation, and if found to be severe, CFX will not uncrunch the file. This does not preclude the possibility that the crunched file is knackered, and CFX may still crash the machine when attempting such examinations, even though CFX now has tighter control on the situation. This now also applies to the PowerPacker MUTATIONS as well. CFX will mostly uncrunch and virus-check these files, but if the PowerPacker file is comprehensively mutated, CFX may unfortunately crash your system. Please note that this hasn't happened on my machine for quite some time, and I regularly virus-check crunched files of this type... *-------------------------------------------------------------------------* CFX PRO 5 Page 14 -x file eXplosion information - this is a new option which will investigate/disassemble certain files. The file explosion ability can be quite handy, since it peeks into several archive/crunched-file types. An example of this would be: 1> CFX -x DH1:SRC_BAK/CFX5_92_08_11.lha {return} CFX Crunched File Examiner Pro İ Bob Rye & Marcus Mroczkowski Registered Copyright (c) 1988->1992 incl. 68030 VER 5.229 16:47:28 Aug 10 1992 Version "DH1:SRC_BAK" (BAK) CFX5_92_08_11.lha 204595 --D-- -- Lharc -lh5- arc -> F = 87 h0 = 0 h1 = 0 h2 = 0 h3 = 0 h4 = 0 h5 = 87 h6 = 0 -> h7 = 0 hd = 0 z4 = 0 z5 = 0 zs = 0 ?? = 0 T = 494490 1 files 1 directories 204595 bytes CFX finished! The key to the above format: F = number of files found in this archive (whatever the format.) h0 = number of stored (-lh0-) files in this archive h1 = number of -lh1- files in this archive h2 = number of -lh2- files in this archive h3 = number of -lh3- files in this archive h4 = number of -lh4- files in this archive h5 = number of -lh5- files in this archive h6 = number of -lh6- files in this archive h7 = number of -lh7- files in this archive hd = number of -lhd- files in this archive z4 = number of -lz4- files in this archive z5 = number of -lz5- files in this archive zs = number of -lzs- files in this archive ?? = number of unknown-format files in this archive T = total uncrunched/exploded size of files in this archive The filetypes that CFX can disassemble are many varied. Obviously, LHA and LZH files (along with quite a few *.LZ* variants) are supported. Also supported are several disk-crunchers, like DMS. Address-crunchers are also supported, like: 1> CFX -x CFX:ETEST/tetra21_plain {return} CFX Crunched File Examiner Pro İ Bob Rye & Marcus Mroczkowski Registered Copyright (c) 1988->1992 incl. 68030 VER 5.229 16:47:28 Aug 10 1992 Version tetra21_plain 4948 X-A-- H1 Tetrapack 2.1 norm-decrunch -> UNCR AREA = $30000-$50000 JUMP ADDR = $30000 EXPL. SIZE = 8822 1 files 0 directories 4948 bytes CFX finished! The key to the above: UNCR AREA [Uncrunch Area] = hex address $30000 - $50000. This is the area of your memory that will be bulldozed when this address-cruncher expands. JUMP ADDR [Jump Address] is where execution of the newly expanded data will commence. EXPL. SIZE [Exploded Size] is how big this crunched file will expand to inside the Amiga's memory. This feature allows you to check files more deeply, and may be confusing to some users. If so, don't let it worry you. This option may not even be of any use to you. CFX PRO 5 Page 15 BITS AND PIECES ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ - CFX PRO 5 requires the Nico François ReqTools.library in your LIBS: dir. - CFX PRO 5 requires the Nico Francois PowerPacker.library in your LIBS: dir. - The ReqTools.library accepts extended select (Brett's idea), so use it! - Options and switches may be either case (upper or lower). - Options and switches may be in any order (including pathnames/files). - Filenames/directorynames may be stacked, for example: 1> CFX -d dh0: dh1: dh2: {return} will recursively enter and examine all files in ALL levels of drive dh0:, then when finished, repeat the same for drives dh1: and dh2:; or 1> CFX -d c:dir tools:CED dh2:MAIL/trapdoor {return} will examine the files c:dir, tools:CED and dh2:MAIL/trapdoor and then recursively enter and examine all files in drive dh4: What will happen if you type: 1> CFX -fr c:dir {return} and the file c:dir ISN'T crunched with a relocator cruncher?? Check it and see if you're right. This same thing will happen if you specify a find switch along with asking for the requester. Only specified ('find') filetypes will be displayed if you ask for a specific find-mask. The AmigaDOS protect bits for the CLI can make CFX's life a misery. If a file hasn't got it's 'R' (Read) bit set, then CFX will report a "READ PROTECTION ERROR" and fail to examine the file. This is not CFX's fault per se, it's the AmigaDOS function "Read()" which won't allow us the privilege, which is just as well, 'cos that's its job! Never mind, just check the protection bits for the file if CFX reports a "READ PROTECTION ERROR" and change the bits via "protect" if you'd like to examine this file. CFX did have the ability to change the bits automatically, but this was not quite right, since you might have unset the "R" bit for a very good reason: file protection. CFX does NOT behave automatically under any circumstances, and does not take matters into it's own hands. Before launching its activities, CFX checks your DOSBase vectors for intrusion by the Xeno file-virus. This virus is very dangerous if running in a system that CFX is about to utilise. If Xeno is running when you CFX a directory (or if you launch a 'dir' command, or 'list' or ANYTHING that examines directory trees) there is a good chance that some or all of the examined files will be infected. This is the reason that CFX checks the system's current DOSBase. If there is a nasty wedged into DOSBase, CFX will refuse to run, and will explain its decision not to do so. Believe me, you don't want anything like CFX running alongside the Xeno virus. CFX may sometimes give you the wrong filetype description of a file, because of some utter twist of fate. This is rare. This is unfortunate. This is life. There is nothing we can do about this. Unfortunately, some files "look" like other filetypes, sometimes. Just be happy in the knowledge that CFX doesn't get things confused very often. CFX version 5.000+ were (and will continue to be) developed with: - SAS C-compiler, versions 5.10 - 5.10b. - SAS assembler 5.10b - DevPac GenIm assembler version 2.14. - Cygnus Editor Professional version 2.12. CFX PRO 5 Page 16 CFX OUTPUT ŻŻŻŻŻŻŻŻŻŻ For the moment, if you think of CFX PRO 5 as just a directory replacement, then you shouldn't have any problems using it. It's a very informative and comprehensive replacement, however! The standard CFX output line format is: < filename > < size > < file information > 'filename' is a 28-character field, which will automatically expand with a bigger filename. 'size' is the filesize of the file being examined (defaulting to standardfilesystem size.) 'flg' is the important part here. 'flg' is a 5-character field of flags which tells you everything you needed to know about the file. Let's check what each of the flag-elements means: 1 - the first element can be only one of two things: 'X' or '-' 'X' tells you that the file is 'eXecutable' '-' tells you that the file is NOT executable (ie. is binary) 2 - the second element can only be one of two things: 'O' or '-' 'O' tells you that the file is 'Overlayed' '-' tells you that the file is NOT overlayed 3 - the third element can only be one of four things: 'A' or 'D' or 'R' or '-' 'A' tells you that the file is of 'Address-crunched' type 'D' tells you that the file is of 'transmission-archived' (DATA) type 'R' tells you that the file is of 'Relocator-crunched' type '-' tells you that the file is NOT of any discernible type 4 - the fourth element can only be one of three things: 'M' or 'V' or '-' 'M' tells you that the file is a 'Mutant' type 'V' tells you that the file is a 'Virus' type '-' tells you that the file is NOT a known mutant or virus 5 - the fifth element can only be one of four things: 'F' or 'P' or 'L' or '-' 'F' tells you that the file FAILED a full integrity check 'P' tells you that the file PASSED a full integrity check 'L' tells you that the file is a LINKED file, or, in other words, that this file is the product of a hard link. This flag is only rendered visible when CFX's integrity-checking option is NOT on. This flag entry will appear when CFX finds either a hard-linked file, or a pipe-linked file under AmigaDOS 2.0+. '-' tells you that a file integrity check was NOT performed 'hnk' is the 'number' of hunks field. This takes the form of 'Hxxx' where 'xxx' equals the number of hunks in the file. Only executable files contain hunks, so binary files won't feature this field. CFX PRO 5 should handle files with as many hunks as is possible. 'file information' is another crucial part of CFX's output. This is where you receive a description string of the file in question. This may be 'Unknown executable type' or any of the other filetype descriptions that CFX currently knows. Here is the CFX output resulting from CFX checking itself: CFX 48104 X---- H2 executable type Obviously, the filename is 'CFX', its filesize is 48104 bytes (SFS), it's an eXecutable file, has 2 hunks, and is unknown (ie. not a virus or a crunched-file.) Now you should experiment with CFX. Check your entire SYSTEM disk for interest's sake via: 1> CFX -d SYS: {return} and ENJOY your program! CFX PRO 5 Page 17 CORRESPONDENCE, BUG REPORTS, PRETTY POSTCARDS, MONEY ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ Mail: ŻŻŻŻŻ BOB RYE 11 BEAVER STREET ST. ALBANS VICTORIA AUSTRALIA 3021 Don't forget to include your FIDO Netmail address or Internet Email address, and personal postal address. Bob's electronic mail addresses: ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ 3:633/359.7@fido 41:300/359.7@amiganet 42:8699/8.7@trinet bobrye@csource.oz.au Bob_Rye@guru.apana.org.au CRAZY DIAMOND 3:633/359@fido Phone: [Intl. +61 3 5698873] [National 03 5698873] up to 14.4k SysOp: Chris Quonoey The latest PUBLIC version of CFX will always be available on this BBS, in the Amiga files section. Marcus's electronic mail addresses: ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ 3:635/509.5@fido Marcus.Mroczkowski@p5.f509.n635.z3.fidonet.org BALLARAT MAIL 3:635/509@fido Phone: [Intl. +61 53 420845] [National 053 420845] up to 14.4k SysOp: Stephen Walsh CFX PRO 5 Page 18 REGISTRATION = $25 AUS! ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ If you're using a non-registered version of CFX PRO 5, and you like it (let's face it, what's there not to like??) then please register it. Hundreds of hours, very long hours, have been put into this program. AND it's the best of it's kind, worldwide. Support us and we'll support you. This is the FREEWARE announcement straight from CFX's "-a" option. Please read it: /*-----------------------------------------------------------------------*/ CFX Crunched File Examiner Pro İ Bob Rye & Marcus Mroczkowski Public Copyright (c) 1988->1992 incl. 68000 VER 5.226 17:13:59 Jul 14 1992 Version CFX is a file examiner with a difference. It doesn't claim to be anything but a file examiner. Of course, something written today will be out of date tomorrow, but we are committed to making, and keeping, CFX the best file examiner that your precious registration money can buy. This version of CFX is FREEWARE, which means that if you use CFX, you don't have to provide a small contribution to the authors, but if you do contribute a small amount, you will receive a fully functional version of CFX, with built-in virus-check-uncrunch. We suggest a nominal fee of $25 AUS (See DOCS), which will not only endear you to us forever, but will also allow you free updates and upgrades whenever they are available. Be daring! Register this FREEWARE product today! Registration contact: BOB RYE 11 BEAVER STREET ST. ALBANS, VICTORIA AUSTRALIA, 3021 /*-----------------------------------------------------------------------*/ What do you get for registering?? Here is the short list: Personal compiled copies, compiled to your specifications (ie. fully optimised, 68000, 68010, 68020, 68030, 68040, all supporting maths-coprocessors. The ability to utilise the "-u" option and fully virus-check and report on crunched files. The ability to use the "-x" option, to disassemble crunched files' structures. A clear conscience. Due to my unemployment, and the fact that I'm flat stoney broke, I cannot cover the costs of postage for updates and upgrades. Your immediate FREEWARE registration contribution does cover the primary media and postage cost, but, unfortunately, I cannot continue to supply a printed manual. If you would like a printed manual, please enclose an additional $10 AUS. For Air-Mail postage, please enclose an additional $10 AUS. All registered users may send their original disk, a stamped (PRE-PAID) self-addressed disk-mailer (please quote your registration number) to me at any time and they will receive the latest version update/upgrade for no cost. To register, fully complete and sign a printout of the registration form at the end of this document, and get it to me, pronto! CFX PRO 5 Page 19 CREDITS & ACKNOWLEDGMENTS ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ Kim Benson - for putting up with my very late nights and for feeding me and keeping me warm. There you go, Poss, you've now been read by at least 5 users worldwide! You're famous! Marcus Mroczkowski - for technical expertise, keeping my Amiga alive, ideas, manual filetype examination, ideas, beer, dim-sims, exhaustive virus-examination and infection, beta-testing, ideas and company. Want a sick computer fixed?? See Marcus. Brett O'Callaghan - one of THE beta-testers who also contributed positively to the development process, for brilliant ideas, for being intelligent, and for telling me about Larry Niven. (Anyone know where I can get a Nessus doll??) Stephen Walsh - another beta-tester and sysop of a great BBS and who made constant suggestions for improvement. Martin Ozolins - a well-hard beta-tester and reg'd owner who, with the help of Enforcer, found several whoppers... Brendan Pratt - a beta-tester from Qld, with a big BBS to boot. Thanks for the access to SideCar, the files, and the testing! Guns N' Roses - another spectacular album (or two.) While I can't really admit that Axl actively beta-tested during the recording of UYI 1 & 2, I have heard a rumour that Slash did have a quick tinker during mixing... Van Halen - thank God Sammy didn't leave Van Halen. Otherwise I couldn't have cruised to 'Judgement Day' from 'For Unlawful Carnal Knowledge'. Could you imagine that pose David Lee Roth singing THAT?? And a word for Eddie, stick to the guitars, mate... Brian and Richard - thanks for the viruses, guys. I hope the program lives up to all expectations. Talk to you soon. Darius Ignasiak - who was my first "SHAREWARE" contributor, and who has continued to support the project. Darius, here is your 5 minutes of fame: Darius is the first person in the WORLD to receive a registered (paid) copy of CFX. I hope it gets there on Friday! I also hope you like this Darius... Justin Downey - who was the first to comment on the program, and who has dissappeared. Where are you, Justin?? Mike West - from the center of Australia. Two questions remain on my lips. Where are you Mike?? Had your baby yet?? *;-) SAS/C - for providing an *awesome* compiler. Competition? What competition? The first (and foremost) supportive computer/software company that I've ever seen. Commodore Amiga - for OS 2.x. This is great. One thing though, where is my developers kit?? Surely you've seen my application by now?? Actually, ANTI-THANKS to C= Australia for their pathetic slowness and irrevocable uselessness. Two years I've been trying to get devleoper status with these turkeys, and every time I've called them I am told "Mr. Mason is on holidays" or "Mr. Mason hasn't got around to looking at your presentation yet." What crap. Stick it C=. Thank God YOU didn't really invent such a great machine. I'll get my include files from SAS in the future. Nico François - A special thankyou goes to Nico François, whose ReqTools.library makes a program look, feel and behave supremely, and whose PowerPacker.library makes uncrunching things extremely fluffy! Thanks Nico! CFX PRO 5 Page 20 REGISTERED USERS AS OF 24/09/92 ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ Marcus and myself would like to thank the following people: 1. Stephen Walsh 2. Darius Ignasiak 3. Mike West 4. Brett O'Callaghan 5. Richard McElvenny 6. Justin Downey 7. Brendan Pratt 8. Amiga Quarantine 9. Andrew Garth 10. David Margerison 11. Wolfgang Schoenfelder 12. Commodore Australia (Ha!) 13. Ron Hocking 14. Andrew Rogl 15. John Paul Lonie 16. Andrew Leniart 17. Chris McCallum 18. Ian Rodbourn 19. Chris Quonoey 20. Martin Ozolins 21. Kenneth Simpson 22. Geoff Lake 23. Anthony Horan 24. Pat Caldon 25. Rob Nottage 26. Claus Pedersen 27. James Abram 28. Howard Alexander Updates are available whenever you feel like one! MAIL TO: BOB RYE 11 BEAVER STREET ST. ALBANS VICTORIA AUSTRALIA 3021 CFX REGISTRATION: I (Bob Rye) will not accept monies from any person in payment for registration of CFX if the person's signature is not included on this form. You have been warned. Please read the registration page and this notice fully: DISCLAIMER ŻŻŻŻŻŻŻŻŻŻ ALTHOUGH OUTSTANDING BUGS IN THE CODE HAVE BEEN ELIMINATED, THERE REMAINS THE POSSIBILITY OF UNFORESEEN PROBLEMS. WE RESERVE THE RIGHT TO REFUTE THE WORD OF THE USER AS TO THE EXTENT OF SUCH 'BUGS', BUT IF FOUND, WE WILL ATTEMPT TO FIX SUCH PROBLEM(S). IF, HOWEVER, UNFORESEEN BUGS ARE FOUND TO CAUSE YOU MENTAL AND/OR PHYSICAL PAIN, THEN THAT IS AS THEY SAY IN THE CLASSICS, BAD LUCK! WE ACCEPT NO BLAME FOR ANY LOSS OR INCONVENIENCE FOUND TO ARISE FROM THE (MIS)USAGE OF THIS PROGRAM. WE RESERVE THE RIGHT TO WITHDRAW SUPPORT AND UPGRADES AT ANY TIME. WE PROBABLY WON'T DO THIS, BUT WE HAVE THIS RIGHT. If you would like to continue with registration, please fill in the below. The registration fee is $25 Australian. NAME:______________________________________________________________________ ADDRESS:___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ MACHINE CONFIGURATION: (ie. 500, 1000, 2000, 3000, accelerator etc) ___________________________________________________________________________ ___________________________________________________________________________ I hereby attest to my understanding of the above terms by giving my signature: SIGNATURE:____________________________________________ DATED:_____________________ Depending upon mode of mailing chosen (by you, read the registration page!) please allow up to eight weeks for delivery of your copy of CFX.