home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d08xx / d0866.lha / CFX / CFX.doc < prev    next >
Text File  |  1993-04-08  |  63KB  |  1,339 lines

  1. Please leave the next line intact for update patches to be applied later!
  2. $VER: CFX 5.275
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24. ***************************************************************************
  25. *                                                                         *
  26. *                     CFX PRO 5 - Crunched File Xaminer                   *
  27. *                                                                         *
  28. *                     by BOB RYE and MARCUS MROCZKOWSKI                   *
  29. *                                                                         *
  30. *                     Public Release: Friday 25/09/1992                   *
  31. *                                                                         *
  32. ***************************************************************************
  33.  
  34. Everything contained in this release of CFX PRO 5 for the Amiga is
  35. USE-AT-OWN-RISK. We, the authors, make no guarantee as to the fitness for
  36. use of this software. We accept no responsibility for possible damages
  37. incurred before, during or after execution of this software.
  38.  
  39.  
  40.  #### #    #### #### #### ####   #### #### #### ###    ##### #  # # ####   #
  41.  #  # #    #    #  # #    #      #  # #    #  # #  #     #   #  # # #      #
  42.  #### #    ###  #### #### ###    #### ###  #### #  #     #   #### # ####   #
  43.  #    #    #    #  #    # #      # #  #    #  # #  #     #   #  # #    #
  44.  #    #### #### #  # #### ####   #  # #### #  # ###      #   #  # # ####   #
  45.  
  46. *****************************************************************************
  47.  
  48.                    DID YOU PAY MONEY FOR THIS SOFTWARE?
  49.  
  50.                               CFX is FREEWARE
  51.  
  52.  This software is FREEWARE. This software is free. If you have paid
  53.  money for this software, then you have been ripped off. I have written
  54.  this program for you, for free. If you paid for "support" from where you
  55.  got this file, then you are also being ripped off. There are only two
  56.  people who can fully help you with the operation of this program:
  57.  Marcus Mroczkowski (co-author),
  58.  and myself (Bob Rye, the guy who wrote this program.)
  59.  
  60.  You cannot obtain support from some unqualified desk-doofus hiding behind
  61.  the facade of "a support specialist". All that these people are doing is
  62.  making money from you, the innocent end-user, and ripping me off by
  63.  immorally making money from *MY* programs.
  64.  
  65.  Please take a stand against these companies. Please don't buy *FREE*
  66.  software from these companies. If you would like copies of any (or all)
  67.  of MY software (anything by Bob Rye) you can have them for *FREE*. That's
  68.  right, for nothing. All I ask for is a blank disk, to copy the programs
  69.  onto, and the cost of return postage (and your address!) Then if you want
  70.  "support" for my programs, send Fido Netmail to me (addresses are at the
  71.  bottom of this document) or snail-mail me and you'll get real support.
  72.  
  73.                           STAND UP AND BE COUNTED.
  74.  
  75.                       Say NO! to costly FREE software.
  76.  
  77. *****************************************************************************
  78.  
  79. If you represent a PD/Shareware/Freeware library or electronic distribution
  80. system, then please feel free to contact me to gain written permission to
  81. allow you to legally include this software in your library, for
  82. distribution. The "ADS" electronic distribution system has my written
  83. permission to redistribute this software, as does Fred Fish.
  84.  
  85. You may copy and transfer copies of this package to whoever you like,
  86. provided that this package is transferred completely intact, with all
  87. documentation and executables unmodified therein (modification of
  88. copyrighted works is called "contributory copyright infringement" and
  89. persons found infringing copyright are liable to legal action); however,
  90. if you represent a registered (or otherwise) company, and you wish to
  91. redistribute this package, you MUST obtain my written permission. The
  92. registered version of the CFX executable may not under any circumstances be
  93. copied, (pirated) distributed or given away. The copyright to CFX, the
  94. documentation, the source-code, and the actual software remains the
  95. explicit property of Bob Rye, ⌐ 1988-1992 inclusive.
  96.  
  97. Distributors of this package must cease distributing this package, if
  98. and/or when, specifically requested to do so by the author(s). This request
  99. will be made in writing.
  100.  
  101. ANY commercial distribution of this package without the prior written
  102. consent of the author (Bob Rye) is expressly prohibited.
  103.  
  104.  
  105.  
  106.                                 DISCLAIMER
  107.                                 »»»»»»»»»»
  108. ALTHOUGH OUTSTANDING BUGS IN THE CODE HAVE BEEN ELIMINATED, THERE REMAINS
  109. THE POSSIBILITY OF UNFORESEEN PROBLEMS. WE RESERVE THE RIGHT TO REFUTE THE
  110. EXISTENCE OF SUCH 'BUGS', BUT IF FOUND, WE WILL ATTEMPT TO FIX SUCH
  111. PROBLEM(S). IF, HOWEVER, UNFORESEEN BUGS ARE FOUND TO CAUSE YOU MENTAL
  112. AND/OR PHYSICAL ANGUISH, THEN THAT IS AS THEY SAY IN THE CLASSICS, BAD
  113. LUCK! WE ACCEPT NO BLAME FOR ANY LOSS OR INCONVENIENCE FOUND TO ARISE FROM
  114. THE (MIS)USAGE OF THIS PROGRAM. WE RESERVE THE RIGHT TO WITHDRAW SUPPORT
  115. AND UPGRADES AT ANY TIME. WE PROBABLY WON'T DO THIS, BUT WE HAVE THIS
  116. RIGHT.
  117.  
  118.  
  119. ALL INSTANCES OF COMPANY AND/OR PRODUCT NAMES ARE (C), (R) AND (TM)
  120. RESPECTIVELY, WHERE APPLICABLE. "CFX" AND "CFX PRO" ARE COPYRIGHT BOB RYE,
  121. 1988 - 1992 INCLUSIVE.
  122.  
  123. CFX VERSION 5 has been extensively tested on:
  124.   Amigas 500, 1000, 2000, 3000 (all vanilla PAL, 1.3 - 2.04 OS)
  125.   B2000 GVP 22mhz & 33mhz ALL-IN-ONE accelerator PAL 1.3 - 2.04 OS
  126.   A3000 PP&S 68040 (CAVE-YOUR-BRAINS-IN) accelerator, 2.04 OS
  127.  
  128. »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  129.                                                         CFX PRO 5   Page 1
  130.  
  131.  
  132.  
  133.  
  134.  
  135.                             Table of contents:
  136.                             »»»»»»»»»»»»»»»»»»
  137.  
  138.                              1...... Contents
  139.  
  140.                              2...... Preview
  141.  
  142.                              3...... Usages
  143.  
  144.                              4...... Switches (filetypes)
  145.  
  146.                              7...... Options
  147.  
  148.                             15...... Bits and Pieces
  149.  
  150.                             16...... CFX output
  151.  
  152.                             17...... Correspondence
  153.  
  154.                             18...... Registration (ho ho, I'm a cynic.)
  155.  
  156.                             19...... Credits & Acknowledgments
  157.  
  158.                             20...... Registered Users
  159.  
  160.                             21...... Registration form
  161.                                                         CFX PRO 5   Page 2
  162.  
  163.                                   Preview
  164.                                   »»»»»»»
  165.         CFX has the ability to enter the directory tree of your disks. The
  166. directory tree of a disk can be extensively deep.  CFX will only allow you
  167. to enter 48 directory levels, and no more.  To allow for the recursive
  168. collecting of 48 layers of directories, you need 30000 bytes of stack.
  169. Since the average system-floppy will usually contain no more than 6 levels,
  170. this shouldn't be a problem, since 4000 bytes of stack allows you to enter
  171. 8 directory levels.  So, to be sure, please allow 30000 bytes of stack if
  172. you intend to examine possibly-large directory trees.  You have been
  173. warned!
  174.  
  175.         CFX requires the ReqTools.library and the PowerPacker.library to run.
  176.  
  177.         CFX was written to enable the Amiga user to identify certain
  178. characteristics of given files.  The file, let's call it 'TEST', is a file
  179. that you received from a BBS, but there were no accompanying docs with it.
  180. The file is executable, but you have a feeling that it is crunched.
  181. PowerPacker doesn't know this file's 'crunch' type, so you can't easily
  182. identify the filetype.  You could use a debugger/monitor to find what the
  183. filetype is, but the most you'll get out of that is to ascertain that the
  184. file REALLY IS crunched.  Well, from my experiences on the Aust Amiga Fido
  185. Echo, I know that there are a lot of you who don't like receiving crunched
  186. files.  This program attempts to let you know if it is crunched, and most
  187. possibly, what it is crunched with.  You can then decide what to do with
  188. the mysterious file 'TEST'.  Keep it or trash it????
  189.  
  190.         Unlike many other so-called 'file examiners' on the Amiga, CFX has
  191. a very large brainfile from which it can acknowledge a large percentage of
  192. the current Amiga filetypes.  It will then report to you what type of
  193. cruncher was used to crunch the file, or, if it isn't crunched, what type
  194. of file 'TEST' really is.  The information that CFX gives isn't really
  195. self-explanatory, so let's describe what the various displays mean.
  196.                                                         CFX PRO 5   Page 3
  197.  
  198.                                   USAGES
  199.                                   »»»»»»
  200. Upon invocation with the standard "help" switch:
  201. 1> CFX ? {return}
  202.  
  203. CFX will show this screen:
  204.  
  205.  CFX Crunched File Examiner Pro
  206.  ⌐ Bob Rye & Marcus Mroczkowski    Registered
  207.  Copyright (c) 1988->1992 incl.    68030
  208.  VER 5.229 16:47:28 Aug 10 1992    Version
  209.  
  210. Usage: CFX [<-f>switch] [-options] [file1,file2,,,]
  211.  
  212.  Switches: -f<?> where <?> =        Options:
  213.     a    Address crunched             -a      About CFX
  214.     b    Binary (non-exec) files      -b      Be quiet
  215.     c    Crunched (a+r+t) files       -c      Checksum calculation
  216.     d    Document/text files          -d      Deep directory scan
  217.     i    IFF files                    -e      Extended hunk scan
  218.     k    Known files                  -h<=>#  files with <#, =# or ># Hunks
  219.     o    Overlayed files              -i[p|f] Integrity check [pass|fail]
  220.     p    ILBM Picture files           -l[f]   real file Length [FFS]
  221.     r    Relocator crunched           -n      No virus-requester warnings
  222.     t    Transmission archives        -r      Requester usage
  223.     u    Unknown files                -s[l]   Summary [Loud]
  224.     v    Viruses                      -u      deep Uncrunch/virus check
  225.     x    eXecutable files             -x      file eXplosion information
  226.  
  227. As you can see, CFX accepts switches and options, along with filenames
  228. and/or directory/device names.  CFX also examines the current directory
  229. via:
  230.  
  231. 1> CFX {return}
  232.  
  233. First, let us explain the switches.  CFX's switches can be thought of as
  234. "find" switches.  When you use a particular switch, you are really asking
  235. CFX to find a specific filetype.  Therefore, when using a CFX switch, you
  236. must prepend the action specifier with an immediate "-f".  Here are some
  237. examples:
  238.  
  239. 1> CFX -fa dh1: {return}
  240.  
  241. will examine the root-level of DH1:  for any files that are of the
  242. address-crunched type.  The action specifier in this case is the "a" after
  243. the "-f".  The "a" of course stands for "address".  No other filetypes will
  244. be displayed other than address-crunched files.  By using this switch, you
  245. are effectively filtering out every other filetype other than
  246. address-crunched.  (See ADDRESS-CRUNCHED in the FILETYPES chapter)
  247.  
  248. 1> CFX -ft MAIL: {return}
  249.  
  250. will examine the root-level of your MAIL:  directory for any filetypes that
  251. fall into CFX's "transfer archive" category, hence the "t" after the "-f".
  252. (See TRANSFER ARCHIVE in the FILETYPES chapter)
  253.  
  254. All of the specific filetypes are explained in full in the FILETYPES
  255. chapter.
  256.                                                         CFX PRO 5   Page 4
  257.  
  258.                            SWITCHES (FILETYPES)
  259.                            »»»»»»»»»»»»»»»»»»»»
  260.  
  261. The following switches must be immediately appended to the "-f" find
  262. switch, thus:  CFX -fr dh0:  {return} (find relocator-crunched)
  263.  
  264.     a    address-crunched - this switch will force CFX to only display
  265. files that have been output by an address-cruncher.  Address-crunchers tend
  266. to be the scourge of the computing society, so these files shouldn't really
  267. be allowed to live, unless of course, you really need the file.  CFX knows
  268. most of the Amiga address-cruncher formats.  CFX doesn't currently check
  269. the uncrunched contents of all of these filetypes, although some are now
  270. covered (See "-u deep Uncrunch" option later).  This switch cannot be used
  271. in conjunction with any other switch, although some options may be used.
  272. See BRAINFILE INFORMATION for more info on address-crunchers.
  273.  
  274.     b    binary (non-exec) files - when this switch is used, CFX will only
  275. display information on non-executable files.  This filetype covers all
  276. non-executable filetypes, including transmission archives, text files,
  277. picture files etc.  This switch may be used in conjunction with the "known
  278. files" and "unknown files" switches, and some options.  Obviously, you
  279. cannot ask CFX to display only executable binary files, as binary files are
  280. NOT executable in the eyes of CFX!
  281.  
  282.     c    crunched (a+r+t) files - this switch will allow CFX to display all
  283. files that it finds that have been crunched by something.  This includes
  284. Address-crunched files, Relocator-crunched files, and Transmission
  285. archives, hence the (a+r+t) after the description.  This switch cannot be
  286. used in conjunction with any other switches, although it is possible to mix
  287. this switch and some options.
  288.  
  289.     i    IFF files - this switch allows CFX to find and display only IFF
  290. format files.  Practically all IFF files are catered for in this switch.
  291. If CFX finds an IFF file that it doesn't actively know or recognise, then
  292. it will print "Unknown IFF format".  If this happens, please send us a copy
  293. (or the first 4000 bytes) of the file(s) in question and we'll add it to
  294. our brainfile.  This switch cannot be used in conjunction with other
  295. switches, but may be used with some options.
  296.  
  297.     k    known files - this switch is for use in conjunction with one of
  298. these other switches:  <NONE> <BINARY> <OVERLAYED> <EXECUTABLE>.  When used
  299. without another switch (ie.  CFX -fk {return} or CFX -fk dh3:  {return})
  300. CFX will only display files that it knows.  Considering that the list of
  301. filetypes that CFX knows is rather extensive, you should find a lot of
  302. files!  When used with the binary switch (ie.  CFX -fk -fb {return}) CFX
  303. will only display files of non-executable type that it actively knows.
  304. This could cover filetypes of known IFF's, or certain configuration
  305. filetypes etc.  In conjunction with the overlayed switch, this switch will
  306. find known overlayed files.  This could include the "DImp executable disk
  307. archive" or the "PowerPacker 3 overlayed file crunched file".  Finally, you
  308. may use this switch with the executable switch.  This will ensure that CFX
  309. only displays executable files of known type.  This could include all
  310. crunched executable files that CFX knows.
  311.                                                         CFX PRO 5   Page 5
  312.  
  313.     o    overlayed files - this is a very handy switch that allows the
  314. user to find overlayed filetypes.  Since it may be difficult for the
  315. non-technically minded user to find the overlay id long-word in an
  316. executable file-header, this option allows you to find which files are
  317. overlayed.  Overlayed files use a special technique for loading into the
  318. Amiga's memory.  Certain software producers use this technique on their
  319. larger files so as to not rob the Amiga of vital memory during loads (ie.
  320. instead of loading a 340k file directly into the Amiga's memory, an
  321. overlayed file may only load in what parts of the file that they need at
  322. any one time.  Therefore this file may only load 50k at any one time,
  323. thereby freeing about 300k of memory for other uses.) Obviously, this
  324. switch finds executable files (only they can be overlayed!) Therefore, no
  325. other switches work with this one, other than the "known" and "unknown"
  326. switches, and some of the options.
  327.  
  328.     p    ILBM picture files - this is almost a subset switch of the IFF
  329. switch.  This allows CFX to find and display ONLY IFF picture files, and
  330. not *ALL* of the entire IFF gamut.  Also, all IFF (ILBM and ANIM) picture
  331. files found will be displayed with normal and additional information (if
  332. possible.) The picture's size and number of bitplanes will also be
  333. displayed, making this switch an excellent tool in itself.  This switch is
  334. mutually exclusive from other switches, but may be used with some options.
  335.  
  336.     r    relocator-crunched - CFX will display files of this type if this
  337. switch is used.  Whilst similar to address-crunched files in some ways,
  338. relocator-crunched files tend to be more useful, and more kind to the
  339. machine.  Some of these relocator-crunched files actually use more
  340. intelligent scatter-loading methods than AmigaDOS itself (wouldn't be hard,
  341. though *;-) This switch can only be used by itself, with a couple of the
  342. options thrown in for good measure.  After all, you don't want to find all
  343. of the files that are address-crunched relocator IFF's, do you??
  344.  
  345.     t    transmission archives - this is another handy little switch
  346. for finding (and examining, to an extent) files that are considered
  347. transmission archives by CFX.  Since most of you use these archiving
  348. methods, I won't go into the "Complete works of Lempel and Ziv", or explain
  349. the inner workings of "adaptive Huffman encoding".  Instead, let it suffice
  350. to say, that CFX knows lots of 'em.  If you have any of these cute archive
  351. types that CFX doesn't know, then please let us know!  This switch is
  352. mutually exclusive with other switches, but some options may be used with
  353. it.
  354.  
  355.     u    unknown files - see "known files" and reverse what has been said.
  356.                                                         CFX PRO 5   Page 6
  357.  
  358.     v    viruses - unluckily, the Amiga is following the rest of the
  359. computer/PC cliques (or should that be cliches??) that have hordes of rabid
  360. spotty juveniles writing heroic viruses (I think I must attribute that line
  361. to Andrew Clayton!) These authors are of course witless beyond belief.
  362. Luckily, we have been allowed to obtain several file-virus filetypes from
  363. Amiga Quarantine, in New South Wales.  The guys at A.Q.  (Richard and Brian
  364. Logan) were gracious enough to allow us access to some of the common (and
  365. some uncommon) nasties that might visit you, if you're not careful!  With
  366. this switch, you can force CFX to ONLY check each file found for virus
  367. infection.  This will ensure that CFX ONLY displays information about files
  368. that are of a virus filetype.  You don't, however, have to manually use
  369. this switch for CFX to virus-check your files.  CFX automatically checks
  370. each executable file for infection EVERY time it is run.  Since CFX is a
  371. hybrid of assembly and C, the asm virus checking routines are lightning
  372. quick, hence the automatic checking.  When/if CFX finds a virus-infected
  373. file, it will print its usual information, AND display a requester
  374. informing you of your infection (ooh, sounds nasty.) CFX doesn't remove or
  375. disinfect infected files.  It is only there to find such infections.  So
  376. far, CFX has performed beautifully, and has even outperformed some of the
  377. latter-day anti-virus utilities.  Another thing to be aware of, is CFX's
  378. built-in anti-virus protection.  CFX has two intelligent routines that it
  379. performs every time CFX is invoked.  Firstly, CFX checks it's filename
  380. (argv[0]) and if this isn't "CFX" then it will bomb out, with a warning.
  381. This is for protection against those "replacement" viruses which rename
  382. your original file to something like "DEVS:  ".  Secondly, CFX performs a
  383. self-anti-virus test upon each invocation.  If CFX finds that itself has
  384. been infected, CFX will not run further, as doing so may infect each and
  385. every file that CFX checks!  Not good.  Therefore, CFX needs to be able to
  386. find itself upon every invocation.  This means one of two things:  you MUST
  387. place your copy of CFX in a system-pathed directory (ie.  C:) or you must
  388. call CFX with it's full pathname (ie.  DH1:TOOLS/CFX.) The latter is
  389. cumbersome, so use the former method.  If CFX cannot find itself, through
  390. pathnames, or through tracing its own argument vectors, then it will run
  391. without checking itself.  This is your problem. Also, from version 5.267,
  392. CFX will notify the user audibly that a virus has been found in any way.
  393. Even if the user has selected '-n' for No Virus Warning Requesters, CFX
  394. will still beep you when a virus is found.
  395.  
  396. ************************************************************************
  397. *** In conclusion, only use -fv if you are specifically looking ONLY ***
  398. *** for infected files, as CFX will always check ALL executables for ***
  399. ***                         infection anyway.                        ***
  400. ************************************************************************
  401.  
  402.     x    executable files - will force CFX to only display executable files
  403. that are found during its scan.  This switch can be used with the "known"
  404. and "unknown" switches.  You can't use this switch with many other switches
  405. (other than find unknown and known), but some options are available with
  406. this one.  This switch is useful for finding files which you can run on an
  407. unknown disk (AND CFX performs a virus check on each executable that it
  408. finds!)
  409.                                                         CFX PRO 5   Page 7
  410.  
  411.                                   OPTIONS
  412.                                   »»»»»»»
  413.  
  414. CFX's options are "support" options, which should make your prospective
  415. examinations easier.  Let's dissect the options singularly:
  416.  
  417. Options:
  418.  
  419.   -a      About CFX - this option shows one of two things. If you have paid
  420. a registraton contribution to the authors, you will receive a personal
  421. version of CFX.  This version will have your name and other information in
  422. this screen:
  423.  
  424.  CFX Crunched File Examiner Pro
  425.  ⌐ Bob Rye & Marcus Mroczkowski    Registered
  426.  Copyright (c) 1988->1992 incl.    68030
  427.  VER 5.229 16:47:28 Aug 10 1992    Version
  428.  
  429.  Compiler: SAS/C version 5.10b
  430.  
  431.  This CFX is registered to: Bob Rye
  432.  
  433.  Registration contact:
  434.         BOB RYE
  435.         11 BEAVER STREET
  436.         ST. ALBANS, VICTORIA
  437.         AUSTRALIA, 3021
  438.  
  439. Otherwise, if you are still using the public release version, this screen
  440. will explain the FREEWARE concept, and give you information about how to
  441. contact the authors for when you decide to register CFX.
  442.  
  443.  CFX Crunched File Examiner Pro
  444.  ⌐ Bob Rye & Marcus Mroczkowski    Public
  445.  Copyright (c) 1988->1992 incl.    68000
  446.  VER 5.226 17:13:59 Jul 14 1992    Version
  447.  
  448.  CFX is a file examiner with a difference. It doesn't claim to be anything
  449.  but a file examiner. Of course, something written today will be out of
  450.  date tomorrow, but we are committed to making, and keeping, CFX the best
  451.  file examiner that your precious registration money can buy.
  452.  
  453.  This version of CFX is FREEWARE, which means that if you use CFX, you
  454.  don't have to provide a small contribution to the authors, but if you do
  455.  contribute a small amount, you will receive a fully functional version of
  456.  CFX, with built-in virus-check-uncrunch. We suggest a nominal fee of $25
  457.  AUS (See DOCS), which will not only endear you to us forever, but will
  458.  also allow you free updates and upgrades whenever they are available. Be
  459.  daring! Register this FREEWARE product today!
  460.  
  461.  Registration contact:
  462.         BOB RYE
  463.         11 BEAVER STREET
  464.         ST. ALBANS, VICTORIA
  465.         AUSTRALIA, 3021
  466.  
  467.  
  468. Surely for this much work, we deserve something, don't we??) This option is
  469. best used by itself.
  470.  
  471. *-------------------------------------------------------------------------*
  472.                                                         CFX PRO 5   Page 8
  473.  
  474.   -b      Be quiet - this option will allow you to dodge the CFX
  475. title/heading which CFX prints at the start of each session.  Why this
  476. option?  If you use Directory Opus (quite fantastic IMO) and you have CFX
  477. hooked into a tool gadget, you will soon realise that DOpus uses (or did
  478. use, I don't know if it's changed!?) a 256-byte string buffer for selected
  479. filenames.  If you picked 23 filenames in DOpus, and the length of all
  480. these filenames exceeded 256 bytes, then another string buffer would be
  481. allocated for you.  Therefore, CFX would print its title, and then do its
  482. work, and then get its next string buffer and do it all over again.  Seeing
  483. the CFX title after every 6 files have been CFX'd gets a bit annoying.
  484. This option alleviates this somewhat.
  485.  
  486. *-------------------------------------------------------------------------*
  487.  
  488.   -c      checksum calculation - an option for the paranoid! In your
  489. examination travels, you may feel like gaining a magic number for each file
  490. that is examined.  This number shouldn't change between invocations of CFX.
  491. It is a little checksum of the file's header, and can show you whether a
  492. filetype has changed since you last CFX'd it.  To properly use this, you
  493. should redirect CFX's output to a text file, and store that textfile
  494. somewhere safe.  Later, you can cross-reference another of these outputs
  495. against the original.  Any changed files will have a different checksum.
  496. Perhaps later, we may add a built-in function to automatically
  497. cross-reference these files.  This option can be used in conjunction with
  498. most switches and other options.
  499.  
  500. *-------------------------------------------------------------------------*
  501.  
  502.   -d      deep directory scan - one of the most basic (and important)
  503. options.  The "-d" will allow you to recursively enter directory levels.
  504. If you were to use:
  505.  
  506. 1> CFX -d dh0: {return}
  507.  
  508. CFX would first examine the root level of dh0:, and then each of the
  509. sub-directories from the root.  The above example would provide an
  510. examination report for ALL files and directories on drive dh0:.  This
  511. option can be used to modify all action switches and options.  When CFX
  512. outputs its findings, it doesn't sort the directory entries in any way, as
  513. this would entail buffering and sorting before output.  We believe that
  514. reading a directory structure straight from DOS is the best way to get to
  515. filenames, hence no sorting/pausing.  CFX now has a limit as to how many
  516. directory-levels it can descend.  As of this writing, the number has been
  517. set at 48 levels, although this may change at any time, for bigger or
  518. smaller.  This has been implemented because of the fact that CFX recurses,
  519. and uses more memory each time it enters a new directory-level.  This
  520. memory comes from the system-stack.  If you have a low system-stack when
  521. you use "-d", and CFX crashes, then you should set your stack to a higher
  522. number. The bigger the stacksize, the better. To allow for the recursive
  523. collecting of 48 layers of directories, you need 30000 bytes of stack. You
  524. have been warned!
  525.  
  526. *-------------------------------------------------------------------------*
  527.                                                         CFX PRO 5   Page 9
  528.  
  529.   -e      extended hunk scan - another option for the technically minded.
  530. This allows the user to FULLY examine the hunk structure of a specified
  531. file(s).  Of course, this will only be effective with executable files, so
  532. non-executable files won't provide an extended-hunk report.  This can be
  533. useful for checking whether a file contains annoying debug hunks, symbol
  534. hunks, or anything else hunk-oriented.  You can use this option with most
  535. other options and switches, although extended hunk-information won't be
  536. provided for non-executable files.
  537.  
  538. *-------------------------------------------------------------------------*
  539.  
  540.   -h<=>#  files with <#, =# or ># hunks - this option is practically a
  541. "find" switch camouflaged as an option.  If you would like to know which
  542. files on your disk contain a certain number of hunks, this is the option to
  543. use.  Some programmers release executables containing innumerable hunks.
  544. This can be good and bad.  If your system contains severely fragmented
  545. memory, a program of 97 hunks will probably scatter-load a bit easier
  546. (memory permitting) than a 2 hunk file of the same size.  Imagine your
  547. Amiga's memory as being a big box containing several pigeon-holes.  When
  548. the memory isn't fragmented, there might only be 4 pigeon-holes, that are
  549. quite large.  When fragmented, the pigeon holes are more in number, and a
  550. fair bit smaller.  A large program of two hunks will need a certain amount
  551. of contiguous memory to scatter-load.  If fragmented, your machine may not
  552. be able to load the file.  On the other hand, the fragmented machine may be
  553. able to load the same sized program of 97 hunks, as each hunk is small, and
  554. easily fitted into the "broken" memory.  If you are an avid Imploder 4
  555. user, then you may want to "hunk-merge" such programs with huge numbers of
  556. hunks.  If you need to know whether your TOOLS:  directory contains any
  557. files of more than 10 hunks (my personal cut-off level), then CFX the
  558. directory with:
  559.  
  560. 1> CFX -h>10 TOOLS: {return}
  561.  
  562. CFX will then inform you of the files of more than 10 hunks in your TOOLS:
  563. directory.  You can also find files containing a specific number of hunks
  564. by using the "=" operator, or files containing less than a certain number
  565. through the "<" operator.  Hence:
  566.  
  567. 1> CFX -h<3 TOOLS: {return}
  568.  
  569. will find files of less than 3 hunks in TOOLS:.  Of course, you cannot
  570. specify an illegal formula like:
  571.  
  572. 1> CFX -h<1 TOOLS: {return} or
  573.  
  574. 1> CFX -h<-10 TOOLS: {return}
  575.  
  576. as executables cannot contain less than 1 hunk.  The numbers that you give
  577. to CFX for this option MUST BE positive decimals.  This option can be used
  578. with many other options and switches, although useless if used in
  579. conjunction with "-fb" for instance.  If you don't understand this concept,
  580. Addison-Wesley print excellent books for the Amiga...
  581.  
  582. *-------------------------------------------------------------------------*
  583.                                                         CFX PRO 5   Page 10
  584.  
  585.   -i[p|f] integrity check of files - have you ever received a disk of
  586. pictures from someone and noted that some of the files have disk-errors
  587. right in the middle of them?  Have you also noted that the pictures with
  588. the errors in their guts are the ones that you REALLY want?  Just as Mostra
  589. is about to show you the incredibly viable HAM interlaced version of
  590. "KELLY_BUNDY_GOES_NAKED_SEX_FEST.pic" you hear that sickening <grrr><grrr>
  591. noise from DF0:.  Oh, I'm all a-swoon from the thought of it!  This can
  592. provide you with quite a lot of teeth-gnashing.  The "-i" option checks all
  593. specified files on a disk for these horrid read/write errors.  If CFX finds
  594. a file that has compromised integrity, CFX will report this with a flag in
  595. its output.  (See "CFX OUTPUT" later...) You then know that this file is
  596. knackered.  Brett O'Callaghan then asked for more from this option, so he
  597. got it.  Brett said that he'd like CFX to be able to report just WHAT files
  598. passed or failed an integrity check, while skipping other irrelevant
  599. information.  Well, this function is now implemented, as you can now
  600. specify either:
  601.  
  602. 1) a straight integrity check of all files, with reporting of all file's
  603.   statuses, or;
  604.  
  605. 2) an integrity check of all files, but only receiving reports about which
  606.   files FAILED the check, or;
  607.  
  608. 3) an integrity check of all files, but only receiving reports about which
  609.   files PASSED the check.
  610.  
  611. To gain a complete integrity check of all files (and receive full
  612. reporting), use the '-i' option.  For a full check, but only receiving
  613. reports for FAILED or PASSED files, use '-if' or '-ip' respectively.  This
  614. option is subject to all other dynamic switches/options, as in using the
  615. '-s' option with the '-i' option, you won't receive any information (unless
  616. you use the BOC '-sl' option) about individual files, but only a summary
  617. report.  Then check the number of entries in the 'Compromised files' area
  618. for how many bad files there are.  This option can be used with most other
  619. options and switches.
  620.  
  621. NOTE: Attempting the check an emtpy file's integrity is not possible (why
  622. bother?) Thanks to Martin Ozolins who made some chilling discoveries about
  623. CFX...
  624.  
  625. *-------------------------------------------------------------------------*
  626.  
  627.   -l[f]   real file length [FFS] - "Bob, I have a cunning plan." This
  628. is what Brett O'Callaghan once said in response to the completely
  629. blasphemous way that AmigaDOS handles filesizes.  I won't explain the way
  630. that DOS handles the filesize information, but suffice it to say, it's
  631. stuffed (just like Baldrick's plans.) Brett came up with a plan so cunning,
  632. you could cut your lunch with it.  This involved asking DOS how big a file
  633. is, and then rolling it in a cute little algorithm of mine.  Now, using
  634. this option, CFX will list filesizes CORRECTLY.  That is, instead of being
  635. told that your disk containing one hundred 3-byte files contains 300 bytes
  636. of information, CFX will tell you that you really have a lot less than
  637. 835.7 k free.  Don't forget, that each of these 3-byte files is really
  638. exactly 1-kilobyte long (one parent block = 512-bytes, one data block =
  639. 512-bytes).  This option defaults to standardfilesystem sizes.  You can use
  640. fastfilesystem sizes via:
  641.  
  642. 1> CFX -lf ... {return}
  643.  
  644. I don't know how useful this option is, as it would be handier in a
  645. directory-handling program (like that excellent Australian one with the
  646. author who doesn't reply to netmail.) This option is also safe to use with
  647. most other options and switches, as its actions are practically passive.
  648.  
  649. *-------------------------------------------------------------------------*
  650.                                                         CFX PRO 5   Page 11
  651.  
  652.   -n      no requester-warnings - this is for those of you who like to
  653. redirect your outputs.  When CFX finds a file-virus on a disk, it reports
  654. this via a big requester.  Since this requester will sit there on your CLI
  655. for an eon or two, you can turn off the requesters.  Now you can check a
  656. disk for viruses, whilst redirecting CFX's output, without having to worry
  657. about clicking requesters every 7 seconds.  Another excellent idea by CFX's
  658. co-author, Marcus Mroczkowski.  This option can be used in conjunction with
  659. other options and switches, although you must be careful with its use, as
  660. CFX would (by default) warn you that it has found a virus on your disk.  If
  661. you turn off the requester-warning, then pay attention to CFX's
  662. file-information area, as CFX will ALWAYS print to the standard output that
  663. a file-virus has been found.
  664.  
  665. *-------------------------------------------------------------------------*
  666.  
  667.   -r      requester usage - for those people who like to point and click.
  668. This version of CFX allows a *MUCH* better representation of a
  669. file-requester, using the brilliant Nico Franτois ReqTools.library
  670. requester (makes the ARP and REQ requester look very dense.) By using the
  671. command-line:
  672.  
  673. 1> CFX -r {return}
  674.  
  675. CFX will bring up the requester, and ask for your selection(s).  You can
  676. either change directories or sit where you are; point and hit "OK";
  677. double-click a filename; or extended-select a group of files (thankyou
  678. Brett!) using the shift-key for the extended-selection modifier (ala
  679. WorkBench), select ALL of the files in the current directory by hitting the
  680. "ALL" gadget, select files via a wildcard arrangement, using the
  681. "MATCH" gadget; or just hit "CANCEL" and do nothing.
  682.  
  683. *-------------------------------------------------------------------------*
  684.                                                         CFX PRO 5   Page 12
  685.  
  686.   -s[l]   summary [LOUD] - when examining a whole directory tree, the user
  687. may not want or need CFX to display everything about the files found.  You
  688. may only want a summary of valid points about the dir-tree.  This
  689. information can be very interesting, and is generally quicker than a
  690. full-display of CFX's work.  Here is a summary of my DH1:  partition that
  691. CFX gave me after the command line:
  692.  
  693. 1> CFX -d -s dh1: {return}
  694.  
  695.  CFX Crunched File Examiner Pro
  696.  ⌐ Bob Rye & Marcus Mroczkowski
  697.  Copyright (c) 1988, 89, 90, 91
  698.  VER 5.08p 14:53:02 Oct 20 1991
  699.  
  700. CFX Summary of "dh1:" (HD_1):
  701.  
  702.  -> Relocator-crunched.......: 74        Size :  1225988
  703.  -> Address-crunched.........: 1         Size :     6164
  704.  -> Other known executables..: 0         Size :        0
  705.  ?? Unknown executables......: 115       Size :  4104876
  706.                               ---------------------------
  707. Executable files checked.....: 190       Size :  5337028
  708.  
  709.  -> Crunched data files......: 1         Size :    54708
  710.  -> Other known data files...: 4         Size :    68606
  711.  ?? Unknown data files.......: 0         Size :        0
  712.                               ---------------------------
  713. Data files checked...........: 5         Size :   123314
  714.  
  715. Acceptable files.............: 195       Size :  5460342
  716. Compromised files............: 0         Size :        0
  717. Directories found............: 7       
  718. FILE/LINK VIRUSES found......: 0       
  719.  
  720. Total % of known files.......: 41.03%
  721.  
  722. The only other thing I should explain is the [LOUD] sub-option.  With the
  723. above example, (and as is usual) CFX used the default QUIET option.  You
  724. can force CFX to print it's usual information display whilst doing the
  725. summary scan.  The LOUD option must be specified immediately after the
  726. "-s".  (Thanks again to Brett O'Callaghan for this little titbit!) This
  727. option is particularly useful when used in conjunction with some of the
  728. "find" switches.  Of course, the percentage known total at the bottom of
  729. the summary output can appear silly at times. For example:
  730.  
  731. 1> CFX -fr -d -s dh0: {return}
  732.  
  733. will search (deeply) through drive dh0:  for all relocator-crunched files,
  734. and then display a summary screen on the found files.  Of course, the %
  735. known field will be 100% if any files were found.  If you can't figure out
  736. why this is so, go back and use Whatis.
  737.  
  738. NOTE: CFX now allows stacked device/dir/file names to be passed to the
  739. summary function. This means that the following command line is perfectly
  740. valid:
  741.  
  742. 1> CFX -fr -d -s dh0: dh1: dh2: dh3:{return}
  743.  
  744. as long as you don't include too many name directives. CFX now ceases
  745. counting at 30 files/devs and will only examine the first 30 given.
  746.  
  747.         One thing you should also be made aware of is the fact that CFX's
  748. switches and options are NOT case-sensitive.  So, either -FA, -Fa, -fA, or
  749. -fa will gain the same action. Another caveat is the argument positioning.
  750. CFX doesn't need arguments in any particular order. For example:
  751.                                                         CFX PRO 5   Page 13
  752.  
  753. 1> CFX -s -d -fr dh0: {return}  is identical to:
  754. 1> CFX -d -s -fr dh0: {return}  is identical to:
  755. 1> CFX -d dh0: -fr -s {return}
  756.  
  757. 1> CFX -s -d -fr dh0: dh1: dh2: dh3: temp: {return}  is identical to:
  758. 1> CFX dh0: -s dh1: -d dh2: -fr dh3: temp: {return}  is identical to:
  759. 1> CFX dh0: dh1: dh2: dh3: temp: -s -d -fr {return}
  760.  
  761. If CFX gives you this warning:
  762.  
  763.  CFX Crunched File Examiner Pro
  764.  ⌐ Bob Rye & Marcus Mroczkowski
  765.  Copyright (c) 1988, 89, 90, 91
  766.  VER 5.08t 14:18:14 Oct 23 1991
  767.  
  768. Argument conflict: illegal combination of switches.
  769.  
  770. then you know that you have offended CFX's logic.  If you have a mixture of
  771. switches that CFX refuses to accept, that YOU think should be OK, then
  772. please netmail me with your ideas.  I'll certainly have a look at them.
  773.  
  774. *-------------------------------------------------------------------------*
  775.  
  776.   -u      deep uncrunch/virus check - this is a new option which will
  777. definitely grow as we add more cruncher types to this function.  What this
  778. does is quite simple (from the user's viewpoint!) If CFX finds a file that
  779. has been crunched by a certain cruncher type that it can uncrunch, and the
  780. -u option has been given, CFX will attempt to uncrunch the file, and then
  781. scan the uncrunched memory for viruses.  Currently this option supports
  782. these cruncher types:
  783.  
  784. ByteKiller 1.2-1.3
  785. Tuff 1.0
  786. Tetragon "Tetrapack" 2.1 - 2.2 +PRO
  787. DefJam 3.2
  788. PowerPacker data
  789. PowerPacker 2.x OTHER THAN MASTER modes
  790. PowerPacker 3.x OTHER THAN MASTER, overlayed and encrypted modes
  791. PowerPacker 4.x OTHER THAN overlayed, loadseg and encrypted modes
  792. All Imploders, 1.0-4.0 OTHER THAN S-Lib & L-Lib crunched, overlayed
  793. crunched, and some mutants.
  794.  
  795. Technically speaking, ByteKiller, Tuff, Tetragon(s) and DefJam(s) usually
  796. stomp memory where they uncrunch, but CFX doesn't allow this to happen.
  797. CFX allocates a safe memory area (memory permitting) and allows these
  798. crunched files to uncrunch safely.  The uncrunched programs in this mode DO
  799. NOT launch, so this function is safe.  If a virus is found hidden in a
  800. crunched file, CFX will give the appropriate warnings.  Of course this
  801. option can take some time to fully execute if you have 300 (supported)
  802. crunched files in a directory to check.  Usage example:
  803.  
  804. 1> CFX -u -d DH1: {return}
  805.  
  806. will examine ALL directory levels of drive DH1:, and if CFX finds any of
  807. the supported crunchers, it will attempt to uncrunch them, check them, and
  808. report it's findings.  Sometimes CFX may report that a file was too mutated
  809. for uncrunch-examination:  this is just tough luck.  CFX will then skip
  810. this file.  One file comes to mind, and that is MandelMountains 2.1
  811. (mutated like the be-jingos.) To uncrunch this file, run two copies of Zap,
  812. load in MM2.1 into one Zap, and another Imploder Normal file into the other
  813. Zap.  Now, after the longwords $000003E9, $00000014 in MM2.1, copy Normal
  814. Imploder code into the MM2.1 Zap window, until you hit the first $000003F2.
  815. Now use PowerPacker 3.0+ to uncrunch this file.  Experiment...
  816.  
  817. On registered versions of CFX Pro, some MUTANT Imploder filetypes were so
  818. mutated that CFX had NO real chance of uncrunching them for the file-virus
  819. check.  This has still not changed, and any attempt to use the "-U" option
  820. on mutated files may result in a severe system crash.  CFX has, however,
  821. been changed so that it now attempts to determine the extent of mutation,
  822. and if found to be severe, CFX will not uncrunch the file.  This does not
  823. preclude the possibility that the crunched file is knackered, and CFX may
  824. still crash the machine when attempting such examinations, even though CFX
  825. now has tighter control on the situation.  This now also applies to the
  826. PowerPacker MUTATIONS as well.  CFX will mostly uncrunch and virus-check
  827. these files, but if the PowerPacker file is comprehensively mutated, CFX
  828. may unfortunately crash your system.  Please note that this hasn't happened
  829. on my machine for quite some time, and I regularly virus-check crunched
  830. files of this type...
  831.  
  832. *-------------------------------------------------------------------------*
  833.                                                         CFX PRO 5   Page 14
  834.  
  835.   -x      file eXplosion information - this is a new option which will
  836. investigate/disassemble certain files. The file explosion ability can be
  837. quite handy, since it peeks into several archive/crunched-file types. An
  838. example of this would be:
  839.  
  840. 1> CFX -x DH1:SRC_BAK/CFX5_92_08_11.lha {return}
  841.  
  842.  CFX Crunched File Examiner Pro
  843.  ⌐ Bob Rye & Marcus Mroczkowski    Registered
  844.  Copyright (c) 1988->1992 incl.    68030
  845.  VER 5.229 16:47:28 Aug 10 1992    Version
  846.  
  847. <BASE DIRECTORY> "DH1:SRC_BAK" (BAK)
  848. CFX5_92_08_11.lha            204595   --D-- --    Lharc -lh5- arc
  849.  -> F = 87   h0 = 0   h1 = 0   h2 = 0   h3 = 0   h4 = 0   h5 = 87  h6 = 0  
  850.  -> h7 = 0   hd = 0   z4 = 0   z5 = 0   zs = 0   ?? = 0   T = 494490
  851.  
  852.   1 files  1 directories  204595 bytes  CFX finished!
  853.  
  854. The key to the above format:
  855.  
  856. F  = number of files found in this archive (whatever the format.)
  857. h0 = number of stored (-lh0-) files in this archive
  858. h1 = number of -lh1- files in this archive
  859. h2 = number of -lh2- files in this archive
  860. h3 = number of -lh3- files in this archive
  861. h4 = number of -lh4- files in this archive
  862. h5 = number of -lh5- files in this archive
  863. h6 = number of -lh6- files in this archive
  864. h7 = number of -lh7- files in this archive
  865. hd = number of -lhd- files in this archive
  866.  
  867. z4 = number of -lz4- files in this archive
  868. z5 = number of -lz5- files in this archive
  869. zs = number of -lzs- files in this archive
  870.  
  871. ?? = number of unknown-format files in this archive
  872.  
  873. T  = total uncrunched/exploded size of files in this archive
  874.  
  875. The filetypes that CFX can disassemble are many varied. Obviously, LHA and
  876. LZH files (along with quite a few *.LZ* variants) are supported. Also
  877. supported are several disk-crunchers, like DMS. Address-crunchers are also
  878. supported, like:
  879.  
  880. 1> CFX -x CFX:ETEST/tetra21_plain {return}
  881.  
  882.  CFX Crunched File Examiner Pro
  883.  ⌐ Bob Rye & Marcus Mroczkowski    Registered
  884.  Copyright (c) 1988->1992 incl.    68030
  885.  VER 5.229 16:47:28 Aug 10 1992    Version
  886.  
  887. tetra21_plain                4948     X-A-- H1    Tetrapack 2.1 norm-decrunch
  888.  -> UNCR AREA = $30000-$50000  JUMP ADDR = $30000  EXPL. SIZE = 8822
  889.  
  890.   1 files  0 directories  4948 bytes  CFX finished!
  891.  
  892. The key to the above:
  893.  
  894. UNCR AREA [Uncrunch Area] = hex address $30000 - $50000. This is the area
  895. of your memory that will be bulldozed when this address-cruncher expands.
  896.  
  897. JUMP ADDR [Jump Address] is where execution of the newly expanded data will
  898. commence.
  899.  
  900. EXPL. SIZE [Exploded Size] is how big this crunched file will expand to
  901. inside the Amiga's memory.
  902.  
  903. This feature allows you to check files more deeply, and may be confusing to
  904. some users.  If so, don't let it worry you.  This option may not even be of
  905. any use to you.
  906.                                                         CFX PRO 5   Page 15
  907.  
  908.                               BITS AND PIECES
  909.                               »»»»»»»»»»»»»»»
  910. - CFX PRO 5 requires the Nico Franτois ReqTools.library in your LIBS: dir.
  911. - CFX PRO 5 requires the Nico Francois PowerPacker.library in your LIBS: dir.
  912. - The ReqTools.library accepts extended select (Brett's idea), so use it!
  913. - Options and switches may be either case (upper or lower).
  914. - Options and switches may be in any order (including pathnames/files).
  915. - Filenames/directorynames may be stacked, for example:
  916.  
  917.         1> CFX -d dh0: dh1: dh2: {return}
  918.  
  919. will recursively enter and examine all files in ALL levels of drive dh0:,
  920. then when finished, repeat the same for drives dh1:  and dh2:;
  921.  
  922. or
  923.  
  924.         1> CFX -d c:dir tools:CED dh2:MAIL/trapdoor {return}
  925.  
  926. will examine the files c:dir, tools:CED and dh2:MAIL/trapdoor and then
  927. recursively enter and examine all files in drive dh4:
  928.  
  929. What will happen if you type:
  930.  
  931. 1> CFX -fr c:dir {return}
  932.  
  933. and the file c:dir ISN'T crunched with a relocator cruncher??  Check it and
  934. see if you're right.  This same thing will happen if you specify a find
  935. switch along with asking for the requester.  Only specified ('find')
  936. filetypes will be displayed if you ask for a specific find-mask.
  937.  
  938. The AmigaDOS protect bits for the CLI can make CFX's life a misery.  If a
  939. file hasn't got it's 'R' (Read) bit set, then CFX will report a "READ
  940. PROTECTION ERROR" and fail to examine the file.  This is not CFX's fault
  941. per se, it's the AmigaDOS function "Read()" which won't allow us the
  942. privilege, which is just as well, 'cos that's its job!  Never mind, just
  943. check the protection bits for the file if CFX reports a "READ PROTECTION
  944. ERROR" and change the bits via "protect" if you'd like to examine this
  945. file.  CFX did have the ability to change the bits automatically, but this
  946. was not quite right, since you might have unset the "R" bit for a very good
  947. reason:  file protection.  CFX does NOT behave automatically under any
  948. circumstances, and does not take matters into it's own hands.
  949.  
  950. Before launching its activities, CFX checks your DOSBase vectors for
  951. intrusion by the Xeno file-virus.  This virus is very dangerous if running
  952. in a system that CFX is about to utilise.  If Xeno is running when you CFX
  953. a directory (or if you launch a 'dir' command, or 'list' or ANYTHING that
  954. examines directory trees) there is a good chance that some or all of the
  955. examined files will be infected.  This is the reason that CFX checks the
  956. system's current DOSBase.  If there is a nasty wedged into DOSBase, CFX
  957. will refuse to run, and will explain its decision not to do so.  Believe
  958. me, you don't want anything like CFX running alongside the Xeno virus.
  959.  
  960. CFX may sometimes give you the wrong filetype description of a file,
  961. because of some utter twist of fate. This is rare. This is unfortunate.
  962. This is life. There is nothing we can do about this. Unfortunately, some
  963. files "look" like other filetypes, sometimes. Just be happy in the
  964. knowledge that CFX doesn't get things confused very often.
  965.  
  966. CFX version 5.000+ were (and will continue to be) developed with:
  967.         - SAS C-compiler, versions 5.10 - 5.10b.
  968.         - SAS assembler 5.10b
  969.         - DevPac GenIm assembler version 2.14.
  970.         - Cygnus Editor Professional version 2.12.
  971.                                                         CFX PRO 5   Page 16
  972.  
  973.                                 CFX OUTPUT
  974.                                 »»»»»»»»»»
  975. For the moment, if you think of CFX PRO 5 as just a directory replacement,
  976. then you shouldn't have any problems using it.  It's a very informative and
  977. comprehensive replacement, however! The standard CFX output line format is:
  978.  
  979. <         filename         > < size > <flg> <hnk> <    file information    >
  980.  
  981. 'filename' is a 28-character field, which will automatically expand with a
  982. bigger filename.
  983.  
  984. 'size' is the filesize of the file being examined (defaulting to
  985. standardfilesystem size.)
  986.  
  987. 'flg' is the important part here.  'flg' is a 5-character field of flags
  988. which tells you everything you needed to know about the file.  Let's check
  989. what each of the flag-elements means:
  990.  
  991.   1 - the first element can be only one of two things:
  992.   'X' or '-'
  993.       'X' tells you that the file is 'eXecutable'
  994.       '-' tells you that the file is NOT executable (ie. is binary)
  995.  
  996.   2 - the second element can only be one of two things:
  997.   'O' or '-'
  998.       'O' tells you that the file is 'Overlayed'
  999.       '-' tells you that the file is NOT overlayed
  1000.  
  1001.   3 - the third element can only be one of four things:
  1002.   'A' or 'D' or 'R' or '-'
  1003.       'A' tells you that the file is of 'Address-crunched' type
  1004.       'D' tells you that the file is of 'transmission-archived' (DATA) type
  1005.       'R' tells you that the file is of 'Relocator-crunched' type
  1006.       '-' tells you that the file is NOT of any discernible type
  1007.  
  1008.   4 - the fourth element can only be one of three things:
  1009.   'M' or 'V' or '-'
  1010.       'M' tells you that the file is a 'Mutant' type
  1011.       'V' tells you that the file is a 'Virus' type
  1012.       '-' tells you that the file is NOT a known mutant or virus
  1013.  
  1014.   5 - the fifth element can only be one of four things:
  1015.   'F' or 'P' or 'L' or '-'
  1016.       'F' tells you that the file FAILED a full integrity check
  1017.       'P' tells you that the file PASSED a full integrity check
  1018.       'L' tells you that the file is a LINKED file, or, in other words,
  1019.           that this file is the product of a hard link. This flag is only
  1020.           rendered visible when CFX's integrity-checking option is NOT on.
  1021.           This flag entry will appear when CFX finds either a hard-linked
  1022.           file, or a pipe-linked file under AmigaDOS 2.0+.
  1023.       '-' tells you that a file integrity check was NOT performed
  1024.  
  1025. 'hnk' is the 'number' of hunks field.  This takes the form of 'Hxxx' where
  1026. 'xxx' equals the number of hunks in the file.  Only executable files
  1027. contain hunks, so binary files won't feature this field.  CFX PRO 5 should
  1028. handle files with as many hunks as is possible.
  1029.  
  1030. 'file information' is another crucial part of CFX's output.  This is where
  1031. you receive a description string of the file in question.  This may be
  1032. 'Unknown executable type' or any of the other filetype descriptions that
  1033. CFX currently knows.  Here is the CFX output resulting from CFX checking
  1034. itself:
  1035.  
  1036. CFX                          48104    X---- H2    executable type
  1037.  
  1038. Obviously, the filename is 'CFX', its filesize is 48104 bytes (SFS), it's
  1039. an eXecutable file, has 2 hunks, and is unknown (ie.  not a virus or a
  1040. crunched-file.) Now you should experiment with CFX.  Check your entire
  1041. SYSTEM disk for interest's sake via:
  1042.  
  1043. 1> CFX -d SYS: {return} and ENJOY your program!
  1044.                                                         CFX PRO 5   Page 17
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.            CORRESPONDENCE, BUG REPORTS, PRETTY POSTCARDS, MONEY
  1053.            »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  1054.  
  1055. Mail:
  1056. »»»»»
  1057.         BOB RYE
  1058.         11 BEAVER STREET
  1059.         ST. ALBANS
  1060.         VICTORIA
  1061.         AUSTRALIA 3021
  1062.  
  1063.  
  1064.  
  1065. Don't forget to include your FIDO Netmail address or Internet Email
  1066. address, and personal postal address.
  1067.  
  1068.  
  1069.  
  1070. Bob's electronic mail addresses:
  1071. »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  1072.   3:633/359.7@fido
  1073.   41:300/359.7@amiganet
  1074.   42:8699/8.7@trinet
  1075.   bobrye@csource.oz.au
  1076.   Bob_Rye@guru.apana.org.au
  1077.  
  1078.   CRAZY DIAMOND 3:633/359@fido
  1079.   Phone: [Intl. +61 3 5698873] [National 03 5698873] up to 14.4k
  1080.   SysOp: Chris Quonoey
  1081.  
  1082. The latest PUBLIC version of CFX will always be available on this BBS, in
  1083. the Amiga files section.
  1084.  
  1085.  
  1086. Marcus's electronic mail addresses:
  1087. »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  1088.   3:635/509.5@fido
  1089.   Marcus.Mroczkowski@p5.f509.n635.z3.fidonet.org
  1090.  
  1091.   BALLARAT MAIL 3:635/509@fido
  1092.   Phone: [Intl. +61 53 420845] [National 053 420845] up to 14.4k
  1093.   SysOp: Stephen Walsh
  1094.                                                         CFX PRO 5   Page 18
  1095.  
  1096.                           REGISTRATION = $25 AUS!
  1097.                           »»»»»»»»»»»»»»»»»»»»»»»
  1098. If you're using a non-registered version of CFX PRO 5, and you like it
  1099. (let's face it, what's there not to like??) then please register it.
  1100. Hundreds of hours, very long hours, have been put into this program.  AND
  1101. it's the best of it's kind, worldwide.  Support us and we'll support you.
  1102. This is the FREEWARE announcement straight from CFX's "-a" option.  Please
  1103. read it:
  1104.  
  1105. /*-----------------------------------------------------------------------*/
  1106.  
  1107.  CFX Crunched File Examiner Pro
  1108.  ⌐ Bob Rye & Marcus Mroczkowski    Public
  1109.  Copyright (c) 1988->1992 incl.    68000
  1110.  VER 5.226 17:13:59 Jul 14 1992    Version
  1111.  
  1112.  CFX is a file examiner with a difference. It doesn't claim to be anything
  1113.  but a file examiner. Of course, something written today will be out of
  1114.  date tomorrow, but we are committed to making, and keeping, CFX the best
  1115.  file examiner that your precious registration money can buy.
  1116.  
  1117.  This version of CFX is FREEWARE, which means that if you use CFX, you
  1118.  don't have to provide a small contribution to the authors, but if you do
  1119.  contribute a small amount, you will receive a fully functional version of
  1120.  CFX, with built-in virus-check-uncrunch. We suggest a nominal fee of $25
  1121.  AUS (See DOCS), which will not only endear you to us forever, but will
  1122.  also allow you free updates and upgrades whenever they are available. Be
  1123.  daring! Register this FREEWARE product today!
  1124.  
  1125.  Registration contact:
  1126.         BOB RYE
  1127.         11 BEAVER STREET
  1128.         ST. ALBANS, VICTORIA
  1129.         AUSTRALIA, 3021
  1130.  
  1131. /*-----------------------------------------------------------------------*/
  1132.  
  1133. What do you get for registering?? Here is the short list:
  1134.  
  1135. Personal compiled copies, compiled to your specifications (ie. fully
  1136. optimised, 68000, 68010, 68020, 68030, 68040, all supporting
  1137. maths-coprocessors.
  1138.  
  1139. The ability to utilise the "-u" option and fully virus-check and report on
  1140. crunched files.
  1141.  
  1142. The ability to use the "-x" option, to disassemble crunched files'
  1143. structures.
  1144.  
  1145. A clear conscience.
  1146.  
  1147. Due to my unemployment, and the fact that I'm flat stoney broke, I cannot
  1148. cover the costs of postage for updates and upgrades.  Your immediate
  1149. FREEWARE registration contribution does cover the primary media and postage
  1150. cost, but, unfortunately, I cannot continue to supply a printed manual.  If
  1151. you would like a printed manual, please enclose an additional $10 AUS.  For
  1152. Air-Mail postage, please enclose an additional $10 AUS.  All registered
  1153. users may send their original disk, a stamped (PRE-PAID) self-addressed
  1154. disk-mailer (please quote your registration number) to me at any time and
  1155. they will receive the latest version update/upgrade for no cost.  To
  1156. register, fully complete and sign a printout of the registration form at
  1157. the end of this document, and get it to me, pronto!
  1158.                                                         CFX PRO 5   Page 19
  1159.  
  1160.                          CREDITS & ACKNOWLEDGMENTS
  1161.                          »»»»»»»»»»»»»»»»»»»»»»»»»
  1162. Kim Benson         - for putting up with my very late nights and for
  1163.                      feeding me and keeping me warm. There you go, Poss,
  1164.                      you've now been read by at least 5 users worldwide!
  1165.                      You're famous!
  1166.  
  1167. Marcus Mroczkowski - for technical expertise, keeping my Amiga alive, ideas,
  1168.                      manual filetype examination, ideas, beer, dim-sims,
  1169.                      exhaustive virus-examination and infection,
  1170.                      beta-testing, ideas and company. Want a sick computer
  1171.                      fixed?? See Marcus.
  1172.  
  1173. Brett O'Callaghan  - one of THE beta-testers who also contributed positively
  1174.                      to the development process, for brilliant ideas, for
  1175.                      being intelligent, and for telling me about Larry
  1176.                      Niven. (Anyone know where I can get a Nessus doll??)
  1177.  
  1178. Stephen Walsh      - another beta-tester and sysop of a great BBS and who
  1179.                      made constant suggestions for improvement.
  1180.  
  1181. Martin Ozolins     - a well-hard beta-tester and reg'd owner who, with the
  1182.                      help of Enforcer, found several whoppers...
  1183.  
  1184. Brendan Pratt      - a beta-tester from Qld, with a big BBS to boot. Thanks
  1185.                      for the access to SideCar, the files, and the testing!
  1186.  
  1187. Guns N' Roses      - another spectacular album (or two.) While I can't
  1188.                      really admit that Axl actively beta-tested during the
  1189.                      recording of UYI 1 & 2, I have heard a rumour that
  1190.                      Slash did have a quick tinker during mixing...
  1191.  
  1192. Van Halen          - thank God Sammy didn't leave Van Halen. Otherwise I
  1193.                      couldn't have cruised to 'Judgement Day' from 'For
  1194.                      Unlawful Carnal Knowledge'. Could you imagine that
  1195.                      pose David Lee Roth singing THAT?? And a word for
  1196.                      Eddie, stick to the guitars, mate...
  1197.  
  1198. Brian and Richard  - thanks for the viruses, guys. I hope the program lives
  1199.                      up to all expectations. Talk to you soon.
  1200.  
  1201. Darius Ignasiak       - who was my first "SHAREWARE" contributor, and who has
  1202.                      continued to support the project. Darius, here is your
  1203.                      5 minutes of fame: Darius is the first person in the
  1204.                      WORLD to receive a registered (paid) copy of CFX.
  1205.                      I hope it gets there on Friday! I also hope you like
  1206.                      this Darius...
  1207.  
  1208. Justin Downey      - who was the first to comment on the program, and who
  1209.                      has dissappeared. Where are you, Justin??
  1210.  
  1211. Mike West          - from the center of Australia. Two questions remain on
  1212.                      my lips. Where are you Mike?? Had your baby yet?? *;-)
  1213.  
  1214. SAS/C              - for providing an *awesome* compiler. Competition? What
  1215.                      competition? The first (and foremost) supportive
  1216.                      computer/software company that I've ever seen.
  1217.  
  1218. Commodore Amiga    - for OS 2.x. This is great. One thing though, where is
  1219.                      my developers kit?? Surely you've seen my application
  1220.                      by now?? Actually, ANTI-THANKS to C= Australia for
  1221.                      their pathetic slowness and irrevocable uselessness.
  1222.                      Two years I've been trying to get devleoper status
  1223.                      with these turkeys, and every time I've called them I
  1224.                      am told "Mr. Mason is on holidays" or "Mr. Mason
  1225.                      hasn't got around to looking at your presentation
  1226.                      yet." What crap. Stick it C=. Thank God YOU didn't
  1227.                      really invent such a great machine. I'll get my
  1228.                      include files from SAS in the future.
  1229.  
  1230. Nico Franτois      - A special thankyou goes to Nico Franτois, whose
  1231.                      ReqTools.library makes a program look, feel and behave
  1232.                      supremely, and whose PowerPacker.library makes
  1233.                      uncrunching things extremely fluffy! Thanks Nico!
  1234.                                                         CFX PRO 5   Page 20
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.                       REGISTERED USERS AS OF 24/09/92
  1241.                       »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  1242. Marcus and myself would like to thank the following people:
  1243.  
  1244.  1. Stephen Walsh
  1245.  2. Darius Ignasiak
  1246.  3. Mike West
  1247.  4. Brett O'Callaghan
  1248.  5. Richard McElvenny
  1249.  6. Justin Downey
  1250.  7. Brendan Pratt
  1251.  8. Amiga Quarantine
  1252.  9. Andrew Garth
  1253. 10. David Margerison
  1254. 11. Wolfgang Schoenfelder
  1255. 12. Commodore Australia (Ha!)
  1256. 13. Ron Hocking
  1257. 14. Andrew Rogl
  1258. 15. John Paul Lonie
  1259. 16. Andrew Leniart
  1260. 17. Chris McCallum
  1261. 18. Ian Rodbourn
  1262. 19. Chris Quonoey
  1263. 20. Martin Ozolins
  1264. 21. Kenneth Simpson
  1265. 22. Geoff Lake
  1266. 23. Anthony Horan
  1267. 24. Pat Caldon
  1268. 25. Rob Nottage
  1269. 26. Claus Pedersen
  1270. 27. James Abram
  1271. 28. Howard Alexander
  1272. 29. Erik L°vendahl S°rensen
  1273.  
  1274.  
  1275. Updates are available whenever you feel like one!
  1276.  
  1277. MAIL TO:
  1278.         BOB RYE
  1279.         11 BEAVER STREET
  1280.         ST. ALBANS
  1281.         VICTORIA
  1282.         AUSTRALIA 3021
  1283.  
  1284.  
  1285. CFX REGISTRATION:  I (Bob Rye) will not accept monies from any person in
  1286. payment for registration of CFX if the person's signature is not included
  1287. on this form.  You have been warned.
  1288.  
  1289. Please read the registration page and this notice fully:
  1290.  
  1291.                                 DISCLAIMER
  1292.                                 »»»»»»»»»»
  1293. ALTHOUGH OUTSTANDING BUGS IN THE CODE HAVE BEEN ELIMINATED, THERE REMAINS
  1294. THE POSSIBILITY OF UNFORESEEN PROBLEMS.  WE RESERVE THE RIGHT TO REFUTE THE
  1295. WORD OF THE USER AS TO THE EXTENT OF SUCH 'BUGS', BUT IF FOUND, WE WILL
  1296. ATTEMPT TO FIX SUCH PROBLEM(S).  IF, HOWEVER, UNFORESEEN BUGS ARE FOUND TO
  1297. CAUSE YOU MENTAL AND/OR PHYSICAL PAIN, THEN THAT IS AS THEY SAY IN THE
  1298. CLASSICS, BAD LUCK!  WE ACCEPT NO BLAME FOR ANY LOSS OR INCONVENIENCE FOUND
  1299. TO ARISE FROM THE (MIS)USAGE OF THIS PROGRAM.  WE RESERVE THE RIGHT TO
  1300. WITHDRAW SUPPORT AND UPGRADES AT ANY TIME.  WE PROBABLY WON'T DO THIS, BUT
  1301. WE HAVE THIS RIGHT.
  1302.  
  1303. If you would like to continue with registration, please fill in the below.
  1304. The registration fee is $25 Australian.
  1305.  
  1306. NAME:______________________________________________________________________
  1307.  
  1308.  
  1309. ADDRESS:___________________________________________________________________
  1310.  
  1311.  
  1312.         ___________________________________________________________________
  1313.  
  1314.  
  1315.         ___________________________________________________________________
  1316.  
  1317.  
  1318. MACHINE CONFIGURATION: (ie. 500, 1000, 2000, 3000, accelerator etc)
  1319.  
  1320.  
  1321. ___________________________________________________________________________
  1322.  
  1323.  
  1324. ___________________________________________________________________________
  1325.  
  1326.  
  1327. I hereby attest to my understanding of the above terms by giving my
  1328. signature:
  1329.  
  1330.  
  1331. SIGNATURE:____________________________________________
  1332.  
  1333.  
  1334. DATED:_____________________
  1335.  
  1336.  
  1337. Depending upon mode of mailing chosen (by you, read the registration page!)
  1338. please allow up to eight weeks for delivery of your copy of CFX.
  1339.