home *** CD-ROM | disk | FTP | other *** search
- E X E - Q - T E R D O C U M E N T A T I O N
-
-
- Welcome to Exe-Q-Ter, Exe-Krypter, & Exe-Q-Ter Install. The purpose of
- Exe-Q-Ter and the accompanying files is to allow all users and developers of
- FoxBase+, FoxPro 1.02, and FoxPro 2.0 the alternative of creating DOS
- executable files for their respective FoxBase/FoxPro versions, with the added
- capability of password and/or password/encryption protection for their
- applications, databases, and memo fields. It is not the intention of Exe-Q-Ter
- to imply, either directly or indirectly, that non-registered users of
- FoxBase/FoxPro Runtime or FoxPro 2.0 Distribution Kit, should dismiss the laws
- of copyright and trademark regulations concerning the distribution of
- FoxBase/FoxPro applications. On the contrary, you should know that it is
- UNLAWFUL to distribute FoxBase/FoxPro applications unless you are in fact a
- registered owner of either the Runtime or Distribution Kit. You may contact
- Fox Software, Inc. or a legitimate distributor of Fox products to obtain either
- of the above. Any known infringement of the above will be reported to Fox
- Software at once.
-
- EXE-Q-TER, EXE-KRYPTER, & EXE-Q-TER INSTALL are registered copyrights of E.
- Scott Jones, (c) 1991, All Rights Reserved. This unlicensed version of
- Exe-Q-Ter may be distributed in its original format, meaning that ALL files
- listed in this documentation and in the on-line install documentation are
- distributed with it. Other than this provision, Exe-Q-Ter, Exe-Krypter, &
- Exe-Q-Ter Install may not be distributed, reproduced, or in any other manner
- made available to a third party. Exe-Q-Ter, Exe-Krypter, & Exe-Q-Ter Install
- are not Fox products, nor are they in any way related to Fox Software, Inc.
-
- FoxBase+, FoxPro, and any other word containing the letters "F O X" are to be
- considered as registered trademarks of Fox Holdings, Inc., and/or Fox Software,
- Inc.
-
-
-
- REGISTRATION
-
- This unlicensed version comes with a 90 day trial. After that period of
- time, you must register in order to receive a legitimate copy of Exe-Q-Ter if
- you plan to continue to use the product. Upon registration, you will receive a
- full registered copy of Exe-Q-Ter which is not encumbered by the registration
- screens and security measures. An additional benefit will be a large discount
- on upgrades to future versions, along with slightly smaller DOS executables
- owing to the deleted registration and security routines. Exe-Q-Ter can be
- purchased for $49.50 plus $3.00 shipping and handling - U.S., $49.50 plus
- $10.00 shipping and handling - international. To order, you may use the form
- included in the file "register.txt", or you may send a check or money order to
- E. Scott Jones, 422 Pebblestone Court, Marietta, GA 30067. I cannot accept
- cash. Additionally, there is a NO REFUND, NO WARRANTY POLICY regarding the
- Exe-Q-Ter. Therefore, test this program thoroughly before you buy. Put it
- through its paces, bang it around, make sure it's what you want. After I have
- received your funds, delivery will be within 10 to 30 days. You may send the
- additional charges if you would like Exe-Q-Ter delivered by Federal Express or
- Express Mail. Please be sure to include a note to that effect.
-
-
-
- LICENSE
-
- EXE-Q-TER is licensed for ONE user on ONE machine at a time ONLY. Volume
- discounts are available. To inquired about this, I may be reached at the above
- address or on CIS 75500,2370.
-
-
-
- INSTALLATION
-
- To load Exe-Q-Ter Install, simply type "TEINST". First, of course, copy all
- of the files to your FoxPro directory, or another sub-directory created by you.
- Exe-Q-Ter Install will install the necessary files on the same drive and in
- the same directory as it resides.
-
- It is MANDATORY for this UNLICENSED COPY of EXE-Q-TER to have ALL of the
- following files in the same directory as "TEINST.EXE", otherwise the
- installation will abort.
-
- 1) REGISTER.TXT
- 2) TEREAD.TXT ( this file )
- 3) A2079340.SET
- 4) X2089340.SET
- 5) X2099340.SET
- 6) X2109340.SET
- 7) P2084770.SET
- 8) P2094770.SET
- 9) P2104770.SET
- 10) ECR88200.SET
- 11) ECR88300.SET
- 12) ECR88400.SET
- 13) TE_INST.VOJ ( an encrypted on-line readme file, which can only be read
- from within Exe-Q-Ter Install. For fun, load the file into your
- favorite text editor and have a look.)
-
- Please read the on-line documentation in Exe-Q-Ter Install. After doing so,
- simply press the F10 key and Exe-Q-Ter Install will install and rename the
- above files. More about filenames in subsequent sections. It is recommended
- that you place all of the install files either in your root FoxPro directory,
- or a sub-directory created by you. Please understand, it will be necessary for
- you to have the EXE's created by Exe-Q-Ter in your root FoxPro directory. If
- you choose to put TE.EXE in a directory other than your root FoxPro directory,
- you will need to make sure that your APP, FXP, DBF, FPT, and FOX files are in
- the SAME directory as Exe-Q-Ter. Once you plan to run an EXE file created by
- Exe-Q-Ter, it MUST be in your root FoxPro directory. This subject will be
- covered in greater detail in subsequent headings.
-
-
-
- GETTING STARTED
-
- After you have installed Exe-Q-Ter, you are ready to begin creating EXE files
- with password only, password/full encryption, or no password/no encryption
- options. To load Exe-Q-Ter, simply type "TE". You will see the dreaded
- registration screen, which will also appear when you run your EXE programs
- created by Exe-Q-Ter. Needless to say, these will not be present in the
- registered version of Exe-Q-Ter. After pressing the F10 key to accept the
- terms and conditions of the registration screen, you will be presented with the
- main screen of Exe-Q-Ter, which I will refer to as the category screen from now
- on. Once inside of Exe-Q-Ter, you may press the F10 key at any time to return
- directly to the category screen. The category screen presents you with three
- options: 1) FoxBase 2) FoxPro 1.02 3) FoxPro 2.0. If you are using more
- than one version of FoxPro, it will be helpful for me to describe the necessary
- files for each version.
-
- FoxPro 2.0 - TE.EXE, TE2SET.ESJ, TE2PAS.ESJ, TE2ENC.ESJ
- FoxPro 1.x - TE.EXE, TE1SET.ESJ, TE1PAS.ESJ, TE1ENC.ESJ
- FoxBase + - TE.EXE, TEBSET.ESJ, TEBPAS.ESJ, TEBENC.ESJ
-
- Now you can select from the category screen which version of FoxPro you will
- be creating your EXE programs for. By the way, you may press the ESC key at
- any time to exit Exe-Q-Ter. After having chosen the version you will be using,
- you will be presented with the creation options for your EXE file. The first
- line delineates which FoxPro module you are running under. For example,
- FOXPRO.EXE, FOXPROLX.EXE, FOXPRORT.EXE, DK (S) for standard ( if you are in 2.0
- and a registered owner of the DK )., etc. Simply enter the appropriate number
- and you will be moved to the next option, which asks you to supply the program
- name for which you will be creating your EXE file.
-
- It is IMPERATIVE that you enter the program name WITHOUT the extension,
- otherwise Exe-Q-Ter probably won't work. Exe-Q-Ter searches your directory for
- the highest file order. For instance, if you are in FoxPro 1.x, Exe-Q-Ter will
- only look for an FXP file with the same name as the program name you've
- entered. If it doesn't find it, Exe-Q-Ter will inform you a little later that
- it can't continue the process. If you are in FoxBase, Exe-Q-Ter will only look
- for FOX files. In 2.0, Exe-Q-Ter will first look for the APP file and if it
- doesn't find it, then it will look next for the FXP file. Exe-Q-Ter will NOT
- deal with PRG files. After typing in your program name, you will press
- <return> and be moved to the next line.
-
- Now you are asked if you want to suppress the opening FoxPro screen. The
- default is N. Therefore, if you desire screen suppression, you must enter a y
- or Y. Note: this option is useless with FoxBase. Now you are down to the
- last option in this section, which asks you if you would like to invoke
- Exe-Krypter.
-
- Again, the default is N. If you choose Y, you will be presented with the
- Exe-Krypter option screen which asks you whether you want password only or
- password/full encryption. We'll address this subject in the heading under
- ENCRYPTION. For now, let's assume you've chosen N.
-
- If you've chosen not to invoke Exe-Krypter, you will immediately be presented
- with Exe-Q-Ter's confirmation screen. This screen merely displays the options
- you've chosen and asks you if everything is correct. The default is Y. You
- may press Y or <return>. If you choose N ( by pressing the n or N on your
- keyboard ), you will be driven back to the option screen. Again, you may press
- the F10 key to return to the category screen, or ESC to leave Exe-Q-Ter. If
- you've chosen Y, you will be presented with the final screen before Exe-Q-Ter
- creates your EXE file.
-
- This final screen is your bail-out option. It tells you that Exe-Q-Ter is
- about to create <progname.EXE>. The default is Y if an EXE file by the same
- name doesn't already exist, otherwise the screen warns you that an EXE program
- by the same name already DOES exist and asks you if you wish to over-write it.
- The default for this screen is N. If you've chosen to proceed, Exe-Q-Ter will
- begin operations. A screen will be displayed showing you what Exe-Q-Ter is
- doing. When completed, Exe-Q-Ter will tell you it has finished its task. Any
- key other than the ESC key will return you to the category screen.
-
-
-
- RUNNING YOUR EXE-Q-TER EXE PROGRAMS
-
- The EXE files created by Exe-Q-Ter are NOT STANDALONE EXE's. In order for
- your EXE file to operate, it MUST be in the FoxPro root directory along with
- the APP, FXP, or FOX program file. The reasons for this are varied, some
- having to do with the encryption process, and some having to do with the fact
- that it is not my intention to run afoul of the law by creating EXE's using
- FoxPro code, which would be absolutely necessary in order to create STANDALONE
- EXE's, or EXE's not requiring the presence of the program file created in
- FoxPro/FoxBase. If you need to have your FoxPro files in other
- sub-directories, you must make sure that the code in your main APP, FXP, or FOX
- files addresses this issue.
-
- So what are the advantages of Exe-Q-Ter? Well, we haven't even discussed the
- password and encryption options yet, and I believe you will see a TREMENDOUS
- advantage to Exe-Q-Ter when this issue is discussed further down. In the
- meantime, I believe the advantages will be obvious when we're talking about
- FoxBase/FoxPro 1.x. As far as FoxPro 2.0 is concerned, I believe you will find
- Exe-Q-Ter to be extremely reliable when running FoxPro 2.0 programs. If you
- don't own the Distribution Kit, then again, the advantages are obvious, but let
- me reiterate - it is UNLAWFUL to distribute FoxPro applications unless you are
- a registered owner of either the RunTime or Distribution Kit. However, you may
- certainly use the EXE files created by Exe-Q-Ter for your personal and/or
- company use, whichever applies. Developers, please read the following sections
- carefully, especially if you are planning to distribute encrypted applications.
-
-
-
-
-
-
- NOTE TO DEVELOPERS
-
- For those of you who are registered users of the Distribution Kit, a short
- comment. Should you decide to distribute EXE's created by Exe-Q-Ter, you do
- not need to include Foxr.exe as far as operational integrity is concerned.
- However, you should check with Fox in order to ascertain whether or not they
- have a problem with this.
-
- For those developers who are distributing ENCRYPTED applications, it is
- IMPERATIVE that you thoroughly read the following section on ENCRYPTION AND
- PASSWORDS.
-
-
-
- ENCRYPTION
-
- Password Only
-
- IT IS STRONGLY RECOMMENDED THAT YOU MAKE BACK-UP COPIES OF YOUR FILES BEFORE
- PROCEEDING WITH EITHER THE PASSWORD OR FULL ENCRYPTION OPTIONS!
-
- If you've chosen to invoke Exe-Krypter, you will be presented with the
- Exe-Krypter option screen. There are two choices: Password Only or Full
- Encryption. The default is P for Password Only. You may type the letter or
- press <return> if Password Only is your desired choice. After you've entered
- your choice, you will be presented with the confirmation screen discussed
- earlier. To review, this screen merely displays the options you've chosen and
- asks you if they are correct. After choosing Y or pressing <return> you get
- the bail-out screen, and finally, the creation of your EXE.
-
- If you've chosen the Password Only option and proceeded with the creation of
- your EXE, you may now exit Exe-Q-Ter and go for a test drive, but please know
- this: ONE OF YOUR FILES HAS BEEN ENCRYPTED. If you are using 2.0, then either
- your APP or FXP program file has been encrypted, depending on whether or not an
- APP file exists. If you are in FoxPro 1.x, then your FXP file has been
- encrypted. In FoxBase, of course, your FOX file has been encrypted. The very
- first time you type the program name of your EXE created by Exe-Q-Ter, you will
- be prompted to enter a password. You may enter up to 38 characters, either
- alphabetical or alphanumeric. After you've entered your password, it will be
- displayed and you will be asked if it is correct. If so, you MUST type a y or
- Y, otherwise Exe-Krypter will retry. If you've typed y or Y, Exe-Krypter will
- ask you to re-enter the password. This time, the screen will echo "*" while
- you type. If the password is entered correctly, the program will exit and tell
- you that your password has been Exe-Krypted and stored. To run the program
- from now on, the correct password MUST be entered.
-
- Passwords are CASE SENSITIVE. If you enter a password in upper case the
- first time, you must enter it in upper case in order to run the program.
- Additionally, you may mix upper and lower case and include spaces of varying
- length. In effect, you have a virtually unlimited combination of password
- options. For those of you who will be distributing EXE's created by Exe-Q-Ter
- with the password option, it would be a good idea to hang around until your
- client has entered the correct password and can get back into his program. If
- the client screws up the password thing, or if ( in rare circumstances ) the
- password doesn't "take", you'll still be around to copy the virgin EXE onto
- his system again and let him retry.
-
- NO TWO PASSWORDS ARE ENCRYPTED IN THE SAME MANNER! Because of this, every
- now and then the password might not "take" on the first try. You need have no
- fear of the password being invalid once you've made it work on the second run.
- Again, this has happened only VERY rarely, and it's due to the complex nature
- of the encryption process. Therefore, if you've gone thru the password
- routine, it is important that you test your program immediately. If it works (
- and it will 99.99% of the time ) then you're home free. If it doesn't work,
- then you simply go back into the Exe-Q-Ter and repeat the creation process.
- However, be aware of this *** IMPORTANT *** note. Since your program was
- encrypted by Exe-Q-Ter the first time, you must do one of two things: either
- copy your back-up APP, FXP, or FOX file back into the same directory as
- Exe-Q-Ter, or create the EXE TWO TIMES in a row WITH the Password option
- specified. Exe-Q-Ter doesn't know if a file is already encrypted or not; it
- only knows that it is going to assault whatever is in it's charter. More about
- this in the Full Encryption section. It should work when you try again. Of
- course, make sure you are entering the CORRECT password before you do this.
-
- The reason passwords don't "take" most of the time is due to the nature of
- the encryption process. This generally happens when you create two EXE's in a
- row without leaving Exe-Q-Ter. The underlying cause of this is the fact that
- Exe-Krypter does NOT use the same variables or keys on any two programs.
- Therefore, if you experience problems, the easiest solution is to exit
- Exe-Q-ter after creating an EXE with the password or full encryption option
- specified and simply reload to create your next password-protected or fully
- encrypted file.
-
- The METHOD with which your password and file is encrypted and stored is a
- method which uses many variables and many keys, and a method which I'm
- obviously not going to go into detail about. Suffice it to say, however, that
- your password is entirely secure from just about anybody. If some super-sleuth
- were able to crack the code and discover your password, he wouldn't be able to
- use the same keys and variables on the next program because they would be
- entirely different. If you want to make sure that nobody can run your programs
- without a password, then Exe-Krypter will do the job for you.
-
- Since the Password Only option encrypts only your main program file - either
- an APP, FXP, or FOX file - you may wonder how to protect other programs which
- are called by your main program. Here is a simple method which you may find
- helpful. In your main program, you might want to initialize a PARAMETER. For
- instance, you might type the following:
-
- Sunshine = .T.
- DO program WITH Sunshine
-
- Then in your called program:
-
- PARAMETER Sunshine
-
- IF Sunshine = .F.
- QUIT
- ENDIF
-
- This will guarantee that none of your programs will work without them being
- run from the EXE created by Exe-Q-Ter. To prove the efficacy of this, load
- FoxPro and DO <main>. You will find that it won't work! Only by first having
- the program decrypted can FoxPro read your APP, FXP, or FOX file. And the only
- way your program can be decrypted is to let the Exe-Krypter in your EXE file
- work its magic. If you've added the above PARAMETER routine to any called
- programs, you can try to DO <calledprogram> from within FoxPro, and you will
- discover that it won't work either. And now it's time to explore encryption
- more thoroughly.
-
-
-
- Full Encryption
-
- If you have read the preceding material on Passwords, you should have a
- general idea of what is entailed in the encryption process, however, the
- following will explain how to make sure WHICH files are encrypted and WHICH
- files are NOT encrypted.
-
- Exe-Krypter will automatically encrypt the following types of files - DBF,
- FPT, APP, FXP, FOX. This is determined by two parameters.
-
- The first parameter is the directory. In other words, Exe-Krypter will only
- search for files in the current working directory, or put another way, the
- directory in which Exe-Q-Ter itself resides, or - if you are using the EXE with
- full encryption - the directory in which the EXE file resides. However, it
- ABSOLUTELY NECESSARY to make sure that the files you wish to encrypt initially
- are in the same directory as TE.EXE aka The Exe-Q-ter.
-
- The second parameter Exe-Krypter uses to determine which files to encrypt are
- the file-types themselves, along with the specified program name. Here's an
- example: you've type in PROGNAME for your FoxPro filename and you've chosen
- Full Encryption. When Exe-Q-Ter has finished creating an EXE by the title
- PROGNAME, it will then turn over control to Exe-Krypter. Exe-Krypter will
- search the current working directory for a DBF, FPT, APP, FXP, FOX named
- PROGNAME. Any of these types of files that are in the current working
- directory and have the title PROGNAME will be assaulted by Exe-Krypter. As
- mentioned previously, Exe-Krypter doesn't know whether or not a file has
- already been encrypted; it merely carries out its charter regardless of the
- current status of the files.
-
- READ-ONLY IS NO PROTECTION!!! If your files are read-only, Exe-Krypter will
- not be prevented in the least from gaining access, so PLEASE do not depend on a
- read-only attribute to protect your file from Exe-Krypter. It won't.
-
- I suggest that if you are planning to do much file encryption that you create
- a separate directory for your Exe-Q-Ter files and then copy the necessary
- FoxPro files into that directory before you begin the encryption process. This
- will insure that only those files you wish to encrypt will in fact be
- encrypted. Another example:
-
- You have the following files: PROG.FXP, PROG.DBF, PROG.FPT. You wish to
- encrypt the FXP and the DBF files, but not the memo file. In this case you
- would simply make sure that you don't have the FPT file in the same directory
- before invoking Exe-Krypter, or you may rename the file temporarily until
- Exe-Krypter has completed its task.
-
- The other side of this coin is this; you may want to actually encrypt a file
- but you discover that for some reason Exe-Krypter didn't encrypt it. The
- answer is that the file you wished to encrypt doesn't have the same title as
- the program name you entered when creating the EXE. For instance, your main
- program might have been called ADMENU.FXP, and the subordinate files might have
- been named ADDRESS.DBF, ADDRESS.FPT, etc.
-
- Again, EXE-KRYPTER WILL ONLY ENCRYPT FILES WITH THE SAME TITLE AS THE PROGRAM
- NAME YOU SUPPLIED TO EXE-Q-TER!
-
- I suppose in a future version I will allow a pick-list or point-and-shoot
- method or some such concoction to give people more control over the encryption
- selection, but for now the five file-types will have to suffice.
-
- Now, we'll discuss the process of DECRYPTION in a bit of detail.. In order
- to decrypt a file or files, you simply go back to Exe-Q-Ter and create an EXE
- file with the same option you chose the first time. For instance, if you chose
- the Password Only option, then only the APP, FXP, or FOX file was encrypted.
- Therefore, you would go back to The Exe-Q-Ter and create another EXE with the
- same name, choosing the Password Only option once again. If you've chosen the
- Password Only option the first time, and then decide to DECRYPT the file, YOU
- DEFINITELY DO NOT want to decrypt with the Full Encryption option. This will
- decrypt your original program file alright, but it will also ENCRYPT your DBF
- and FPT files if they happen to have the same title as your program. If you do
- this, you will end up with an UNENCRYPTED program file and two ENCRYPTED
- database files. If this ends up being the case and you don't have these files
- backed up, you've got a BIG problem. Well, not really. You could wrangle
- yourself out of it by manipulating the files and Exe-Q-Ter's access to them,
- but it's certainly much simpler to just make sure you have back-ups. In fact,
- the fastest way to decrypt your files is to copy your back-ups over them.
-
- MAKE BACK-UPS BEFORE YOU ENCRYPT!!! You'll save yourself a lot of headaches
- later on. Actually, the only reason we've discussed decryption is give you a
- more thorough understanding of how Exe-Krypter works. The BEST way to decrypt
- files is, as mentioned previously, to copy your back-up files over the
- encrypted files.
-
- TRY IT OUT! Go ahead and encrypt a file and then run it to make sure
- everything works properly. Then, exit the program and load FoxPro/FoxBase by
- itself. Then try to USE a DBF or DO program.
-
- Let's recap:
-
- 1) Your EXE files MUST BE in the root FoxPro directory.
- 2) You MUST include an APP, FXP, or FOX file in the root FoxPro Directory.
- 3) Password Only encrypts the APP, FXP, or FOX file ONLY.
- 4) Full Encryption encrypts your APP, FXP, or FOX file in addition to the DBF
- and FPT files as long as they have the SAME name and are in the SAME directory
- as your Exe-Q-Ter EXE file, which MUST BE in the root FoxPro directory.
- 5) The best way to decrypt files is to copy your back-ups over the encrypted
- files.
- 6) You may use EXE files created by Exe-Q-Ter within the purview of your
- licensing status with Fox Software/Fox Holdings, Inc. It is unlawful to
- distribute FoxPro applications unless you are a registered user of the RunTime
- Version of FoxPro or the Distribution Kit.
-
-
-
- FINAL COMMENTS
-
- I have tested the program as thoroughly as I possibly can, however, that
- doesn't mean that it is guaranteed to be free of bugs. If you find a bug, or
- what you consider to be a bug, please let me know and I will address it
- promptly. Exe-Q-Ter, Exe-Q-Ter Install, and Exe-Krypter were written entirley
- in Borland C++ 2.0. There are no inline assembly calls. These programs were
- created on a Zeos 386/33 with 4 meg of ems/xms total memory, however, all
- programs were additionally tested on a 286/12 with 640K, no ems/xms and no disk
- cache. And although everything worked like a champ, I must tell you that doing
- the tests on the 286 was VERY, VERY boring.
-
- I have implemented almost NO provisions for a monochrome monitor, although
- the 286 was a monochrome and all in all, it looked okay. Well . . . it looked
- like it could get by. If the program is successfull, I will make sure that the
- registered version addresses the monochrome issue nicely.
-
- SUGGESTIONS AND COMMENTS are more than welcome! I can be reached at the
- address listed under the REGISTRATION heading or on CIS 75500,2370.
-
-
-
- E. Scott Jones
- September, 1991
-
-
-