Contents of the FILE.DOC file

FILE is the best file recognizer known to me, and I am collecting things like that. File's job is to analyze files you give to it and then tell you what it found out about the file. FILE's syntax is:

FILE [-?] [-k] [-o] [-f] [filespec [filespec...]]

FILE without parameters analyzes all files in the current directory. The -k parameter tells FILE not to touch unwanted files. The -o parameter lets FILE output the size and CRC-32 of the files. The -f parameter tells FILE not to ask you if it should kill unwanted files.

FILE's filespecs are more advanced DOS filespecs, that is, "A*B" will match "ARB" and not "ATC" like under DOS.

=[ Disclaimer ]=

I have done nearly everything to insure FILE's proper functionality, but I cannot assume any liability for any damage resulting directly or indirectly from use or not use of FILE or any other Fefe Soft product. Neither can I guarantee FILE's functionality or fitness for any purpose. There is no money-back-guarantee, since this program is ShareWare, i.e. you can test it before you buy for it, I won't give any money back.

Especially concerning FILE, much is guesswork. Almost everything I use here is found out empirically, that is, I tried it on a few samples and then concluded that it works in general. Of course, this *may* work, but it may *not* work. So don't trust FILE 100% !

If you find something you want FILE to recognize, then SEND ME A COPY (my Internet account: [email protected], or via Snail Mail to the address below. Even more important: If you find that FILE is wrong (not counting text files, because this is the best heuristics can do when only analyzing the first 512 bytes of the files), please let me know and send me the sample.

However, if you have any problem which cannot be solved with this manual or if you have any suggestion what this program should do or should not do then write me :

If you register (and have an Internet account), I will notify you of important updates. Nothing will happen to your FILE if you register it, but you will take a heavy burden off your heart (hopefully) 😉

=[ Install ]=

Put FILE into some path in your PATH= statement. That's all.

=[ Unwanted files ]=

FILE recognizes several files I don't want on my system and asks if you want it to kill them for you. Those are tons of BBS ads and - intros, TheDraw COM files and 0-byte files with strange letters in their name.

BTW: Just because FILE knows a BBS ad that doesn't mean I know the number of that BBS or I even know the BBS or I even know the BBS ad, since several people have contributed annoying files to me.

=[ Debug info ]=

FILE recognizes Borland and MicroSoft debug info. If it finds it, it asks you if you want it removed. If you are not the programmer, you can safely throw away debug info and save a few bytes on your hard disk.

You just unzipped a demo called LAMEDEMO which contains a nice sound module. But the demo contains 100 files, called LAMEDEMO.000 through .099, and you want to know which one is the module. FILE can analyze all the files and find out which ones are modules, which ones are GIFs.

Since FILE recognizes many popular compilers' executables, it can act as half-secure link virus checker. It won't find some stealth virii, and it doesn't know all compilers. But if FILE says the executable is a Borland Pascal executable, you can be pretty sure it does not contain a virus.

Of course, this program can be used malevolently, by a cracker who wants to know which EXE packer or crypter you used to protect your program. But reveiling which method you used does not unprotect your file, so FILE does not really cause harm.

=[ Features ]=

FILE is so feature loaded that I put this section at the end of this document.

Historically, FILE was an EXE analyzer. Then I added other file types, like sound files, graphics files, text files, and finally, BBS ads.

FILE recognizes tons of BBS ads, including 0-byte files with strange characters in the name, and some BBS intros (including TheDraw .COM files) as unwanted and asks you whether it should kill them for you. Since there exist thousands of BBSs, many of them putting annoying BBS ads into their archives, FILE will never recognize ALL of them. But if you find some FILE doesn't recognize, feel free to send it to me.

FILE recognizes these EXE file types :

- LHarc SFX other SFX's have a SFX executable and the archive as overlay since FILE analyzes overlays separately, so you might see : PKLite 1.20 DOS executable; ZIP archive

- Phar Lap stub This is a small program which loads the Phar Lap DOS extender which in turn executes the program - old style Phar Lap protected mode executable - Phar Lap flat/multi-segment executables

UNIX style MAC style DOS style This means how lines end. UNIX lines end with LF, MAC lines end with CR, DOS lines end with CRLF

"/bin/sh" script These are UNIX shell scripts, "/bin/sh" is the shell

C/C++ source code PASCAL source code HelpDK source file HelpDK is the Help Development Kit from Ron Loewy, which creates different help compilers' source files from your HelpDK help file definition POPHELP source file POPHELP is a help file viewer from TurboPower software LaTeX source file Makefile This is not very reliable, FILE may tell you about some text files they are Makefiles DOS/OS2 batch file UNIX man page source file

These heuristics are very good, but because FILE only analyzes the first 512 bytes of each file, they can never be perfect. So don't count on FILE's findings, the text file recognition is rather a gag than a killer feature.