FileCode 4.2 ============ Contents -------- 1) Legal Stuff 2) Important notice for FileCode 3.0 and before, AND FileCode 4.0/4.1 users! 3) Introduction 4) Quick Start <---- If you just want to start USING FileCode, go here next! - Detailed use and functions of FileCode -- 5) Basics of Passwords/Passcodes 6) Entering i) Passwords ii) Passcodes 7) Selecting Source Data i) Files ii) Clipboard 8) Selecting Target Directory 9) Drag and Drop 10) Command Line Options 11) Using the log 12) Miscellaneous Options 13) Other Information 14) History of FileCode and Conclusion ---------------------------------------------------------------- Section 1 - LEGAL STUFF (Please Read) --------------------------------------------------- FILECODE 4.2 IS COPYRIGHT (C) 1998 MATTHEW BENNETT ALL RIGHTS RESERVED. MATTHEW BENNETT IS THE AUTHOR OF FILECODE 4.2. THE USER MUST ACCEPT THE FOLLOWING AGREEMENT: DISCLAIMER: "FILECODE 4.2 IS SUPPLIED AS IS. THE AUTHOR DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE FITNESS FOR ANY PURPOSE. THE AUTHOR ASSUMES NO LIABILITY FOR DAMAGES, INCLUDING THAT OF LOST OR DAMAGED DATA, BE IT DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE USE OF FILECODE 4.2." FILECODE 4.2 REMAINS THE INTELLECTUAL PROPERTY OF THE AUTHOR. THE FILECODE 4.2 EXECUTABLE AND ACCOMPANYING FILES (INCLUDING THIS FILE) MUST IN NO WAY BE ALTERED BY ANY MEANS, AND SO MUST REMAIN EXACT COPIES OF THOSE RELEASED BY THE AUTHOR. FILECODE 4.2 IS RELEASED AS FREEWARE, SO NO CHARGE MUST BE MADE FOR THE FILES THEMSELVES. FILECODE 4.2 MAY BE FREELY DISTRIBUTED ACCORDING TO THE ABOVE AGREEMENT. Any trade or registered names mentioned in this text are hereby acknowledged to be the property of their respective owners. ---------------------------------------------------------------- Section 2 - IMPORTANT NOTICE TO FILECODE 3.0 AND BEFORE AND FILECODE 4.0/4.1 USERS!! --------------------------------------------------- Because of an upgrade of FileCode's internal alteration process, and of the generation of more unique numbers from the passwords, ALL FILES ENCRYPTED PRIOR TO FILECODE 4.0 CANNOT BE DECRYPTED BY FILECODE 4.2 (OR ANY LATER VERSIONS). Please use your older copy of FileCode to decrypt them, and then re-encrypt them with FileCode 4.2. Sorry for any inconvenience, but this was judged to be a necessary improvement. ***** <------ look! Please also note that clipboard contents encrypted by FileCode 4.0 and 4.1 is NOT COMPATIBLE with FileCode 4.2 (new modifications mean it can no longer decrypt old 4.0/4.1 clipboard text). ***** <------ look! ---------------------------------------------------------------- Section 3 - Introduction --------------------------------------------------- Nothing like a good amount of waffling legal blurb and important notices to start things off :) FileCode 4.2 is the latest version of the *freeware*, powerful file encryption/decryption utility. It contains many improvements and changes from version 3.0. Basically, FileCode works by obtaining five numbers from your password (or two from your passcode) which enable the program to encrypt a file. Providing these exact same numbers are created again from the same password/passcode, then FileCode can reverse the process and decrypt your files back to their original format. There's a variety of ways to select your source data. These include selection by the standard Windows file dialog box, selection by whole directory (either recursing it or not), drag and drop, clipboard and command line options. Remember, absolutely no reference to the correct code is stored anywhere in the encrypted files, and so it cannot be worked out from the file itself. Because of this, it means no-one (including myself!) can decrypt your files without the correct password - but also means you'd be in trouble if you forgot your password. So what happens if you accidentally mis-type your password during encryption, which you cannot later use to decrypt the files back again? No problem... FileCode 4.2 now writes a log file that includes all the passwords it's used on all the files. So, if you realise you've forgotten or mis-typed your password, just check out the log. I think I've put wwwaaayyyy too much of my time into programming FileCode (and I'm stupid enough to release the whole thing as *freeware*?!), but hey =) ---------------------------------------------------------------- Section 4 - Quick Start --------------------------------------------------- In a hurry to get started eh? Can't be bothered to read through a load of dull, boring meaningless, and unhelpful text?... ..Well, I can't when I'm eventually forced to open the readme, so here's a quick start. Note: When you first start FileCode you'll be prompted to create a new log. Just follow the simple instructions to create it (even if you plan to disable it afterwards) - though remember, do NOT forget your log password! 1) Make sure "Easy code" is selected and enter in your password. Now, simply select either the "Encrypt" or "Decrypt" data option (Alt-E or Alt-D). 2) Select your source files. If you want to select only one file, or only a selection of files, then press the "select individual file(s)" button. If you want to encrypt (or decrypt) *all* files in a directory then press "select all files in directory" (what a surprise ;) If you want to recurse any sub-directories in the source directory (in other words, if you want FileCode to encrypt all the files it possibly can, starting from this directory), just tick the box. 3) Select your target directory. When you select your source file(s), the target directory is automatically set to the directory of your source file(s). This means the source files themselves will be altered. However, if you want to keep your source files as they were and have the altered files put in another directory, then select (or create) another target directory. If you want to do this, and have selected to recurse directories, then the "recreate source directories" option will pop up. Tick this if you want all the encrypted files to keep their original directory structure. 4) Create those targets! If you have "confirm code" checked, then FileCode will ask you to re-type your password. I would strongly recommend you have this checked if your password is hidden, or if you're a new user. If your password is visible, make sure you at least check it's correct before you start. That's it :) Everything should be fairly obvious how to use anyway - still, don't forget to read on for other ways of using FileCode. In fact, if you want an even quicker way of encrypting/decrypting files, why not check out the "drag and drop" section? You want to use the powerful encryption properties of FileCode for e-mail? You want to do it quickly and easily? Then check out the "clipboard encryption/decryption" section! ---------------------------------------------------------------- Section 5 - Details of Passwords/Passcodes --------------------------------------------------- Passwords/Passcodes must consist of the following pieces of information: * Code Type (taken automatically from "encrypt" or "decrypt" if using Easy code) * Code number A (primary), number B (secondary), number C-E (passwords only). The code type is always the first character you type in the code box if you're using Raw or String code types, or it's taken from whether you select "encrypt" or "decrypt" when using the Easy code. It is either a '1' or a '2'. The reverse code type that was used to encode a file must be used to decode it back. Numbers B-E are used in the internal alteration process. ---------------------------------------------------------------- Section 6 (i) - Passwords --------------------------------------------------- Passwords are the default code sort selected by FileCode, and are known as "Easy Codes" or as "String Codes". As mentioned in the section above, all passwords (and passcodes) need to be used with a code type. This tells FileCode what way to alter the files. It's either given at the start of your String or Raw code, or taken from what option you select when using Easy code. The opposite code type used to encrypt a file must be used to decrypt it back. Easy codes are, as their subtle name hints, the easiest of the three to use. All you do for these is just type in any password you want in the code box, then select either "encrypt" or "decrypt" - and you're done :) The only difference with String codes is that (instead of selecting your code type) you just put a 1 or a 2 at the start of your password. For example, a file encrypted by a String code of: 1aardvarks-o-plenty can only be correctly decrypted by the String code: 2aardvarks-o-plenty For both Easy code and String code, remember password case and spaces (they are allowed - as is any character on your keyboard) must be typed in exactly the same each time. After you give FileCode the code type, it will work out the other information from your password itself. Passwords are 'limited' to 8000 characters, but somehow I don't think you'll need anything even remotely close to this ;) Easy codes and String codes are both totally compatible. Just remember the Encrypt option gives the password a code type of 1, and a decrypt option a code type of 2. So, a file encrypted with an Easy code of "mypassword" can be decrypted with a string code of "2mypassword". ---------------------------------------------------------------- Section 6 (ii) - Passcodes --------------------------------------------------- These are known by FileCode as "Raw Codes", and are really pretty pointless :P Instead of allowing FileCode to work out the two numbers it needs from your password, here you 'hand-feed' it the numbers. The only real advantage to this is the fact that you can have access to the full range of available numbers without typing in long passwords. Still, all passwords generate a unique number set anyway, and the number size plays very little part in the encryption anyway. But hey :) OK.. Passcodes take the form: A!B!C Where 'A' is the code type (1 or 2), 'B' is any number from -2147483648 to +2147483647 and 'C' is another number within the same range as 'B'. So, once again, a file encoded by: 1!12345!54321 can only be decoded by: 2!12345!54321 Please note that is it not recommended that you set the 'B' number between -10 and 10, as in some cases areas of the file may still be readable (obviously the file will still be unusable if it is a program file). Still, never use a 'B' number of 0, or the source will remain unchanged. Remember to ensure 'Raw Code' is selected before using Passcodes, otherwise it will be treated as a string or easy password. ---------------------------------------------------------------- Section 7 (i) - Selecting Source Data (files) --------------------------------------------------- As explained in the quick start section, you can select your source files in a variety of ways. However, the two obvious ways are by pressing "Select individual file(s)" (Alt-V) or "Select all files in directory" (Alt-F), or as clipboard data, mentioned afterwards. Selecting individual files will bring up a standard file-open box. You can either type or select one file, or by holding down CONTROL you can click on multiple files. To select a range of files, click the first on, hold down SHIFT, and click the last one. Press 'open' to use select them and return to FileCode, or 'cancel' to forget it and go back. Please note you can only select existing *files*, and not directories. Multiple directory encryption/decryption is not currently supported. If you want to select ALL files in a directory (or directories), you can use the other option, and simply choose your directory. If you do not select the recurse option, only the files in that directory's root will be used - any directories in it will be ignored. If you want *everything* in the source directory to be encrypted/decrypted (including all sub-directories) make sure you've got recurse directories selected. If one file is selected, it will be shown by name in the source information box - otherwise the total number of files will be shown. If your recursing directories, then the number of sub-directories will also be shown. By clicking on the source information box, you can use the cursor keys to scroll the information if it is too big to fit in (if a very long path and/or filename is selected for example). There are two other ways of selecting source files - by the command line or by drag and drop. See the relevant sections for details. ---------------------------------------------------------------- Section 7 (ii) - Selecting Source Data (clipboard) --------------------------------------------------- This is perfect for e-mails. The advantages of using the clipboard as your source data is that it's quick, simple, and keeps the original text layout. The encrypted text also contains no "illegal" or undisplayable characters, so the mail software and servers will have no problems reading/transferring it. !IMPORTANT NOTE! Some mail readers (such as Microsoft Internet Mail) automatically word-wrap the messages *just before* they send them. This can lead to problems when being decrypted by the recipient (as the format has been changed). However - this can be solved by getting FileCode itself to word-wrap the text, so the mail software does not need to correct anything. Just make sure "Wrap text before encrypting" is enabled, and that you've set the wrap characters at to (preferably one less than) what your mail software wraps characters at. 75 should be a safe number to use (and is very much recommended), but if you want to check your mail software settings yourself, then in Microsoft Internet Mail you can find out by going to format-->settings when in a new mail window. Please remember also that your recipient should *not* have a word-wrap lower than what you've set yourself, or incorrect decryption may occur. Providing the default of 75 character wrap is used, there shouldn't be any problem. However, if you do find you're having problems decrypting a message sent to you, simply disable word-wrap. I know all that sounds a little complicated, but just leave the default settings and you'll have no problems :) Example: Try decrypting the following plain text line of encrypted text with the EasyCode Decrypt password "testpass" : Zo)jo'Mql3_TUoig8:TosEx&=P7҈pK Just select and copy the line, run FileCode and select EasyCode Decrypt, type in testpass as the code, select clipboard plain text as the source, and create the target. Then just paste the decrypted text back to read it. Rich Text Format (RTF) text encryption/decryption is also supported - just remember to select the correct option before encrypting or decrypting RTF. Finally, please note that text encrypted/decrypted by the clipboard method is NOT compatible with standard file encryption/decryption. For example if you pasted some encrypted text into a file, saved it, and then tried to decrypt that file, it would not be decrypted properly. Also, if you need to cut or paste *encrypted* text, try and keep to the same program (like Microsoft Internet mail, NotePad or WordPad for example), as occasionally some of the more obscure characters may be changed when pasting text from one type of program to the next. ---------------------------------------------------------------- Section 8 - Selecting Target Directory --------------------------------------------------- This, unsurprisingly, is not exactly tricky ;) This option is not available if you're encrypting/decrypting from the clipboard. As said in the quick-start section, when you select your source file(s), then the target directory will automatically be set to the same directory as your source files are in. FileCode in this way assumes you will want to directly alter your source files. However, if you'd rather have the altered files placed in another directory (leaving your source files unchanged) then select it ('Select', Alt-S) or create a new one (err.. 'Create', Alt-A). If you've got recurse directories selected, and the target directory is different from your source directory, then you'll have the option to recreate the source directories in the target directory. This is probably a good idea, as it keep the files in order and prevents any from being over-written. If you want to keep the source file's original date (when it was last modified) then tick the corrisponding box. Please note however that because of the extra work that needs to be done because of this, you may notice a drop in speed when processing many files. Due apparently with limitations to the currently avaliable options with the C/C++ Win32 API, I have been unable to get FileCode to change the date of directories, so I'm afriad the original source directory(s) date cannot be re-created in the target. Still, I would hope this to be only a minor drawback. ---------------------------------------------------------------- Section 9 - Drag and Drop --------------------------------------------------- Windows allows you to select files and 'drag' them by clicking on the file and holding down the (usually) left mouse button while moving the mouse - hence 'dragging' the file. So, to speed things up, wouldn't it be a good idea if you could just select your source files, drag them onto the FileCode icon (either on the desktop as a shortcut or the filecode.exe itself as seen in Explorer or equivalent) and those files would instantly be selected by FileCode? Yup, well, I thought so too :) Ha! All those smug little commercial programs that flash "drag and drop capability" about - well, FileCode can do that as well now :D By default (as usual), the directories of the files dragged in will be selected as the target, but you can still change it as normal. You can drag a directory in as well - but remember you can only drag *one* directory in. Any files or other directories with it will be ignored. If you prefer not to use the clipboard method of encrypting/decrypting e-mails (even though it is probably easier), then you can try using this method: 1) Right-click on the desktop, select new-->text document 2) Give the new text file a name, double click it and write your message. 3) Save the file and close the text window 4) Drag the little notepad icon to FileCode 5) Type in your password and press "Create Target" (Alt-T) 6) Exit FileCode - and there you are - your message has been encoded :) You can then attach it to your e-mail, and the receiver simply has to drag that message onto their own FileCode icon, type in the correct password, create the target, and read! ---------------------------------------------------------------- Section 10 - Command Line Options --------------------------------------------------- Do you run an automated process, probably during the night, that you'd like to include file encryption/decryption in? Say, do you download FTP files and would like them encrypted afterwards? No problem - just get your schedule program to call up FileCode and give it all the information it needs through the command line :) Type filecode /? for a list of commands. You'll see: FileCode 4.2 Command Line Options /? Display this help message /s "c:\files" Select Source directory /f "file1.ext" "file2.ext" Select source Files /t "c:\encrypted" Select Target directory /p "1password" Password/Passcode /r Raw code /g String code /e Easy code Encrypt /d Easy code Decrypt /h Hide code /c ReCurse directories /n Recreate New source directories in target /k Keep source file date(s) If the target directory is not specified, then FileCode will assume you want to over-write your source files (the target directory will match the source directory). If the source directory is not specified, then the directory FileCode is running in will be used. If no source files are specified, then ALL files in the source directory will be altered. Please note that you cannot leave out source directory AND source files. If String Code or Raw Code is not specified, then FileCode will default to Easy Code, and you will need to include either the encrypt or decrypt option. If Hide Code is not specified, then the code will be visible. FileCode will not recurse directories (or recreate source directories in the target) or keep the source file date(s) by default. ..That just about says it all really. Here's some example command lines: * Encrypt all files in c:\wibble with the String password 1aardvark filecode /s "c:\wibble" /p "1aardvark" * Decrypt myfile.txt in c:\mystuff with an Easy password of mypassword: filecode /s "c:\mystuff" /f "myfile.txt" /p "mypassword" /d * Encrypt thing1.exe and info.txt in c:\myfiles\area1 with an Easy password of password and place the encrypted files in c:\encrypted: filecode /s"c:\myfiles\area1" /f"thing1.exe" "info.txt" /t"c:\encrypted" /p"password" /e * Decrypt stuff.zip in c:\windows with a raw code of 2!123!456, keep the original date and hide the code: filecode /s "c:\windows" /f "stuff.zip" /p "2!123!456" /r /h /k * Encrypt everything in c:\private with an Easy password of eyesonly and place them and all the sub-directories in c:\encrypted: filecode /s "c:\private" /t "c:\encrypted" /p "eyesonly" /d /c /n Note that the spaces in-between commands is shown simply to makes things clear, and is not necessary when actually entering the command line. FileCode quits automatically when the file alteration process is complete. Please remember that (mainly for safety reasons) FileCode will not delete your source files - even if the target directory is different. If you want this then simply delete them afterwards with your schedule program or by hand. FileCode will automatically disable any messages (such as errors in source files) when command line options are in use, to prevent FileCode blocking any other processes happening while it waits for the OK to be pressed. Please note also that LOGGING IS DISABLED for command line options. This is partially because it would be expected that you'd have a record of what you were asking FileCode to do anyway (either in the batch file or from your schedule program), and also because it's quite possible there may be multiple copies of FileCode being run at the same time, meaning logging would be disabled anyway. ---------------------------------------------------------------- Section 11 - Using the log --------------------------------------------------- The use of the log is fairly simple, and (like most of FileCode) should be quite obvious how to use from simply looking at the program =) !NOTE! It's not recommended that you run multiple copies of FileCode at the same time, as FileCode will report an error trying to open the log file if it's already in use by another copy of FileCode. This is not a problem when using command line options though, as the opening of the log file is disabled (see the command line section). If FileCode does have a problem opening the log, and you choose to ignore it, then the log button will just be disabled, and the log file not updated. If FileCode cannot find the log file (fclog.dat) then it'll ask you to either create a new log, or specify the correct log location. When creating a new log, please remember that log password, as there's not much you can do about it afterwards, without just deleting the log and starting again. To view or clear the log, or to change your log password, just press the log button in the main FileCode screen (you'll be prompted for your log password before you can access the options). The current log options are shown just below the status bar in the main FileCode dialog box, so you can be sure you know what's being logged (or not). A (+P) at the end shows passwords/passcodes are being logged too (recommended). ** Security Issues when using the log ** Because the log can contain all your passwords and file names, it is a very important file and could cause a big security problem if it could be accessed by someone else. Because of this, FileCode does it's best to increase the security of the file: * It can be stored in any location, the location being encrypted in the filecode defaults file. * The log itself is encrypted, and is NEVER decrypted back unless you wish to view it (text is encrypted automatically before being written to the log). Even then, the decrypted log is unattached to the main log, so no modifications can be made. * The log file is made hidden and read-only. However, there are a few points where the log file could be considered unsafe. Unlike any other encrypted file produced by FileCode, the log *does* contain the correct decryption password hidden in the file. This has to be done to allow FileCode itself to write correctly to the file, and to check the user's password before the log screen. The FileCode program could also be "hacked" to possibly by-pass the log password authenticating box. Still, if FileCode is stored on a fairly safe computer (such as a home computer - I don't think your little sister will be able to decrypt the log file ;) or the computer has fairly high restrictions and/or security itself, then there shouldn't be a problem. Also, obviously no-one can do anything if they can't find the log file itself - so if you're really worried (though there really shouldn't be much need to be ;) then you can store the log separately on a floppy disk, and specify (for example) "A:\" as the log directory. Turning off logging passwords/passcodes will obviously remove much of the security risks of the log as well. I think for the majority of people, the safety of keeping a log file greatly outweighs the possible security hazards - but, just in case, don't say I didn't warn you ;) ---------------------------------------------------------------- Section 12 - Miscellaneous Options --------------------------------------------------- As previously mentioned, your code can be hidden by simply checking the "hide code" box in FileCode. This will show your code as a series of asterisks (*'s). If you select "confirm code" then FileCode will ask you to retype your password/passcode when you ask to create a target. This is to ensure the correct password/passcode is used, particularly if you're not keeping a log - as it cannot be found from the file itself afterwards! It is possible to toggle "hide code" on and off, showing and hiding the code information. The 'confirm code' box will mirror the code hide/visible options previously set. It will also remind you of whether you've selected to encrypt or decrypt your files when using Easy code. All changes to these options that you make are automatically saved when you exit the program. All buttons and boxes in the main dialog area can be selected by pressing and holding alt followed by the underlined letter on the button or box you want to select. This is mainly to allow experienced users to operate the program quickly. ---------------------------------------------------------------- Section 13 - Other Information --------------------------------------------------- The largest single file FileCode can encrypt/decrypt is.. wait for it.. just over 4 gigabytes. I should hope this wouldn't be too much of a problem for the majority of users ;) (If, for some bizarre reason, you *actually* needed to alter a file larger than this, just find a nice little utility to split it up into smaller chunks...) It's possible to encrypt a file more than once, and even with different passwords each time. However, there is little reason to as one encryption is certainly secure enough, and so the extra effort and possible confusion from doing this isn't really worth it. Still.. I just thought I'm mention it anyway.. :) A few people have asked me how does FileCode compare to other file encryption utilities, but I'm afraid all I can say is - I have no idea at all... FileCode uses an encryption method totally unlike anything else - and it doesn't need any of this 128-byte stuff either. It might be just because I've written this program myself, but I think files encrypted by FileCode are safer than any files encrypted my anything else :) I have my reasons for this, but if you'd like more info on the inner-workings of FileCode, then e-mail me and I'll try and put your fears to rest ;) FileCode is written mainly in C (with a healthy addition of C++ in parts) using notepad (wwaahhheeyyy!! But I had to switch over to WordPad when the source became too big to be opened by it!) and was compiled using the excellent MinGW32 (you can thank the ridiculously small file size mainly to this compiler!) As I've had a surprisingly large number of requests for MinGW32 info, you can get it at: http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/ Whilst on the subject of WWW addresses, don't forget the *FileCode homepage*: http://www.btinternet.com/~bennett/filecode.html It'll contain the latest information on any FileCode 5.0's... though I'm fairly sure FileCode 4.2 will be the last in the FileCode series - I've run out of ideas :) ******************************************* <--------- Please do feel free to e-mail me on bennett@btinternet.com with any questions, or (pplleeaassseee nnnoooo ;) bug reports or suggestions. I'd also be grateful for you to mail me just saying what you think of FileCode, so at least I know people are using it :D ******************************************* <--------- ---------------------------------------------------------------- Section 14 - History of FileCode and Conclusion --------------------------------------------------- PPPHHEEEWWW!! At last - FileCode 4.2 is finished!! And I thought FileCode 3.0 was tricky ;) Just *how* many hours have I put in to the FileCode? You wouldn't have thought so - after all, all it does is play about with a file's bytes. Still, the TIMES I've spent looking for information on the Microsoft Support web site (how to get that "Browse for Folder" thing working, and how to pre-select what directory it opens at took long enough ;) but still - it's all done now :) *You* try figuring out how to recurse directories, and rebuild them back somewhere else! Having said that, I've enjoyed every minute of it (well.. almost ;) - as I hope you will too. Here's a brief, rather vague history of FileCode: FileCode 0.0 Written in BASIC many years ago. All it did was allow you to type in something on the screen, and it would print out the 'encrypted' version of your text. Humm... FileCode 0.5 Written in Pascal, again, many years ago. It could just about encrypt files (using a Passcode-type code only) but had an annoying bug that I just couldn't figure out that only altered every-other byte in the file... FileCode 1.0 First Windows version of FileCode, written in C. You thought FileCode 2.5 was basic? You should have seen this... ;) FileCode 2.0 A few good features added, including an enhanced (actually 50-100 times faster) encryption engine, password option and the ability to use a standard Windows file-open box. FileCode 2.5 First version to be released to the public. Still pretty basic, but hey - it worked:) Still could only manage one file at a time though.. FileCode 3.0 Wow - what a difference :) Many more features added - a lot of them suggested by users of FileCode 2.5 (such as the ability to hide/show your code, and the command line options) Multiple file encryptions/decryptions (at last!) and it looks cool(er) than before ;) FileCode 4.0 Again, fuelled by ideas from other users (and addressing the guilt I had with not including features I simply couldn't be bothered to figure out how to write;) The presumed final FileCode is complete. Bugfixes included the ability for FileCode to recognise directories with attributes other than normal (eliminating an annoying "error in file" message some people were getting) and the ability to create a directory with sub-directories. The file selection scan has been speeded up (it was doing the same thing twice), and the ability to recurse directories (at last!) has been added. Once again, after many people pestering me about "hey - what exactly is the point of this 1 and 2 stuff? Haven't you ever heard of radio buttons?" I finally gave in and added the Easy code option, along with it's Encode and Decode buttons. Just try and remember to check you've ticked the right one before you press Create Target - eh? ;) With one or two people a little stressed at the fact that they'd forgotten or mistyped their password, and expected me to be able to.. erm.. do something about it ;) I've also added the option that may well save the odd lost file here and there - the LOG! (Phew.. did THAT take a lot of coding ;) FileCode 4.1 Minor fixes included stopping a clipboard memory leak, solved problems when encrypting/ decrypting read-only files and fixed a few problems where certain files weren't retaining their original file attributes. The ablity to keep the source file's original date was also added. FileCode 4.2 Finally fixed an annoying clipboard encrypt/decrypt problem that meant some mail readers weren't decrypting text properly. A few things that *could* be added to FileCode, but that I really don't think are a good idea anyway (otherwise I'd have put them in ;): * OK, OK.. all these commercial programs have the ability to create nice, cute little "self-decrypting" exe's. But firstly, considering *everyone* should have a copy of FileCode what's the point? It just makes the files bigger (a pain for e-mails) and the fact that you don't really want to double-click your way through a load of files to decode them anyway... which brings me on to; * Making little encrypted "archives" that store your files. Erm.. I suppose that wouldn't be too bad, but why not just get FileCode to encrypt all your files into their own directory, and zip them up? It's interesting to note that if you try and zip up a file encoded by FileCode, very little or no size reduction will be made. This shows just how well FileCode messes up the original file - as winzip can't find any repetitions in the file, so can't compress it... So - those two are possible, but - In My Humble Opinion - they're not really needed... I really can't believe I've just sat here and written/edited this lot.. I think I should get out more.. ;) Do you think I use too many smilies in my writing?.... nnnaaaarrrrrr ;) Well, I hope you find FileCode easy to use and useful :) Matt 6:01PM - 28th July 1998