File Cleaner
Version: 1.0.1.3-20041209

© 2004 - Alfred P. Reaud, Happy Cat Technologies

Released under the GNU General Public License, Version 2.

 

Table of Contents:

  1. Introduction.
  2. Algorithm.
  3. User Interface.
  4. Cautions.
  5. Prohibited Operations.
  6. Installation and Rebuilding.
  7. Known Bugs and Other.
  8. Download GNU-GPL licensed source code and executable.

Introduction:

This is the first release of the File Cleaner as an executable.  Primarily developed for the Windows XP platform, it addresses concerns over the security of information on both home computers and public computers.  You may use it concurrently with Microsoft® Internet Explorer (IE), however IE may not like that you've deleted it's files, and crash (please see the Known Bugs and Other Section for further information).

Many people don't realize that whenever you look at an e-mail, access your credit card or bank account via the Internet, or view an Internet site, you leave information on the computer's hard disk that is liable to being compromised.  If you fill out online job applications, you may be leaving all the information necessary for identity theft on the computer.  This is especially true when an error is encountered and you have been asked to re-input information. This, of course, depends on the particular website implementation.

An operation on a web browser such as viewing a page downloads information to your hard disk.  As an example, a bank transaction may leave a file containing information in the form of "if (display('0','-6.65')) displayRow('10/18/04','**1757 POS PURCHASE SAFEWAY STORE 1071 FORT COLLINS COUS SAFEWAY STORE','0','-6.65','15.49');", which may appear meaningless to some, but contains transaction information.  This information is not deleted in almost all computers running Windows XP.  If it is deleted, no provisions are made for scrambling the data.

Therefore, for those system that do delete the data, let's looks at what happens when a file is deleted.  In actuality, what occurs is that a flag is set in the directory structure that marks the file as deleted, and the first character of the filename is changed, among other things.  However, the FAT (file allocation table) entries are still present, and more importantly, the information is still present on the hard disk until it is overwritten.  A nefarious hacker could in principle access that information, indirectly through a worm or virus, or directly via computer theft.  With the ubiquitous-ness of public computers in libraries, schools, government offices such as job service or workforce centers, it is important that all public computer users protect sensitive, personal, or otherwise important data.  FileCleaner is intended to address that need with a user-friendly interface.
 

Algorithm:

This application was developed using the C++ IDE (Integrated Development Environment) Dev-C++ 4.9.9.0, and the FLTK (Fast Light Tool Kit) utility.  FileCleaner is a standalone program designed for the Windows XP operating system.  It uses features that insure that the data is actually erased from your hard disk, rather than operating on the file cache that Windows XP uses as it writes to the disk in the background.  Further, it uses the old DES (Data Encryption Standard) method of file wiping (back from the days of Norton Utilities for DOS).  The next release of this product will implement full wiping as specified in Secure Deletion of Data from Magnetic and Solid-State Memory available from SourceForge, as a further option.  Wiping as specified in that document was not presently implemented because the author was in need of a file wiper quickly.  This author has also attempted to make the user interface friendly, using such features as the tool tips and preventing the user from making accidental errors that could modify sensitive areas of your hard drive.

FileCleaner, with Operate on Temporary Internet Files selected, recursively searches for the folders "Temporary Internet Files", "History", "Cookies", "Content.IE5", and "History.IE5", starting from the folder "C:\Documents and Settings".  FileCleaner insures that no folder names are duplicated in the search, as in example, "Content.IE5" is a subfolder of "Temporary Internet Files". 

There are four modes of operating to FileCleaner:

  1. Scan.  This is the mode of operation used when no check boxes are checked.  It scans either the specified folder or the folders where IE is known to have placed temporary files and counts them, and the files they contain.  No other operations are preformed on the folders or files.  It is highly recommended that you first use FileCleaner with no enable boxes checked to insure compatibility with the operating system installed on your computer. 
     
  2. Simple Delete.  Simple delete removes the files. It is very similar to using the Internet Options tool for deleting the content of temporary Internet file folders.  This mode is relatively insecure for the reasons mentioned in the Introduction, and is not recommended for sensitive data.
     
  3. Simple Wipe.  This is the second level of security provided by FileCleaner.  Prior to killing, pseudo-random characters overwrite the file.  This mode is relatively secure, and is not recoverable except by certain technologies that access the hard disk on a very low level.  It should be used for any critical or sensitive data that it's important to prevent casual access to.  Files are individually committed to the hard drive at the end of wiping to insure that you are actually writing to the hard drive and not to a system or media cache.
     
  4. Simple DES Wipe.  This is the best level of security; however, it is computationally intensive.  At present, prior to deleting, the file is overwritten first by the hex value FF, then by the hex value 00, and finally pseudo-random characters further overwrite it three times.  This mode is very secure, and it is doubtful that the original information will be recoverable other than by the means described in the document referenced above.  It is recommended for information requiring the high security, and will defeat all but the most determined attempt to recover it.  The drawback to this mode is that any one temporary Internet file is overwritten five times, with the corresponding high processing overhead.  Therefore it should be used only when it is deemed that the security of the information is critical.  Full wiping as specified in the above referenced document will be extremely computationally intensive, and another check box will be added for it.  Files are also committed to the media at the end of each simple DES wiping step to insure that you are actually writing to the hard disk and not to a system or media cache.
     

User Interface:

The user interface is straightforward.  Figure 1 shows the user interface as it appears on startup, scanning mode, before processing any folders.  Figure 2 and Figure 3 show the user interface after an actual wiping operation on a Dell Optiplex GX280 running Windows XP Professional, with Figure 2 showing the top of the status window and Figure 3 showing the bottom of the status window.  Observe that in Figure 2 there where 425 files found, 388 files where wiped, and in Figure 3 only 369 files where deleted with 56 ownership errors.  This occurs because there where five Internet Explorer (IE) windows open at the time, which prevents wiping and/or deletion of certain files associated with those IE windows, along with temporary Internet files in areas outside of the ownership of the user .  For those files which are owned by the user, this issue is resolved by closing all IE windows prior to using the Start button on FileCleaner.

FileCleaner.exe user interface.
Figure 1

FileCleaner under operation, top of status window.
Figure 2

FileCleaner under operation, bottom of status window.
Figure 3

  The user interface detailed description is as follows (all user inputs have tips associated with them):

  1. Operate on Temporary Internet Files:  With this button depressed, FileCleaner will operate in the IE temporary Internet file area.  Depressing this button disables the Operate in Folder Text Box.  If you don't depress this button then you must enter a valid folder name in the Operate in Folder Text Box or you will get a warning window.
     
  2. Operate in Folder:  An input text box for the name of the folder on which you wish to operate.  No Enter or Return is required.  However, valid Windows folder names are required, and testing is done to insure that the name is valid.  Further, certain folders are prohibited, discussed in the prohibited operations section.  Any syntactical errors in this dialog box will result in a warning window popping up explaining the error.
     
  3. Enable Delete:  Check this box to enable simple file deletion, as described above.  If this box isn't checked, FileCleaner just scans the given folder or the IE temporary Internet file area for files on which it could operate.  It is highly recommended that you first use FileCleaner with no enable boxes checked to insure compatibility with the operating system installed on your computer.  Also use with no enable boxes checked on the first instance of use before enabling any option.  Operation is benign with no enable boxes checked.  The completion status of this option will be displayed in the File Cleaner Status/Results box.
     
  4. Enable Wipe:  Check this box to enable wiping as described above.  Wiping is a non-recoverable process and should be used with caution.  This is why the author recommends that you first use FileCleaner with no options enabled.  The completion status of this option will also be displayed in the File Cleaner Status/Results box.
     
  5. Enable DES Wipe:  Check this box to enable simple DES wiping as described above.  DES wiping is also a non-recoverable process and should be used with caution.  Again, this is why the author recommends that you first use FileCleaner with no options enabled.  The completion status of this option will again be displayed in the File Cleaner Status/Results box.
     
  6. Progress:  This widget shows the progress of FileCleaner.  Its progress depends on the count of files, the options selected, the speed of your disk drive and computer, and on any system, disk, and processor resources consumed by other applications that are active at the same time.
     
  7. Start:  This button starts processing of the named folder or the temporary Internet file area respective of the options selected.  Depressing this button disables all other user input except for the ABORT button.  However the Window Close, Window Close button image., and Window Iconize, Window Iconize button image., buttons are still active.
     
  8. ABORT:  This button aborts any processing that is currently occurring at the end of the current media write.  Depress this button immediately if you change your mind about deleting or wiping the area FileCleaner is operating in.  This button also re-enables all user inputs except possibly the Operate in Folder text box depending on if the Operate on Temporary Internet Files radio button is depressed.  However, see the cautions section for further information.
     
  9. Cancel:  This button cancels FileCleaner, similar to the Window Close Window Close button image. button.  Use either to terminate the application.
     
  10. File Cleaner Status/Results:  This text box displays the current application status and results of the operations performed on the named folder or the temporary Internet file area.  Items displayed are folder and file counts, read only file counts, access error counts , ownership error counts, locked file counts, and elapsed processing time.  As an example in Figure 3, it took 11.56 seconds to operate on 425 files for an average processing time of 27.2 milliseconds per file.  Each instance of use may indicate different results, and you should observe these status indicators over time to familiarize yourself with the idiosyncrasies of your system, which will help in detecting problems, if they occur.


Cautions:

Please be cautious with the use of FileCleaner.  At minimum, you could delete data you actually want to keep by careless, negligent, or malicious use.  It is recommended that if you are operating in a folder, that you first view the folder with Windows Explorer (synonymous with the My Computer icon), and right click on the folder name to get the Properties window open.  Observe the count of files reported in the Properties window for the folder, and then use FileCleaner in scan mode to verify the count of files.  Any discrepancy in the file counts between the folder Properties window and the count of files found reported in the File Cleaner Status/Results text box probably indicates files with the hidden attribute set.  These hidden files may also be system files and wiping or deleting them could have significant effects on the operation of your computer.  Deleted files sometimes may be recovered, however FileCleaner does not use the Windows Recycle Bin, and it will take a low-level file utility to recover deleted files.

Again, I must reiterate that wiping in either mode is an unrecoverable process except possibly by those technologies mentioned in the document Secure Deletion of Data from Magnetic and Solid-State Memory.  Upon implementation of the techniques mentioned in that document, wiping will be an absolutely unrecoverable process.  Implementation of file recovery based on the techniques covered in that aforementioned document will probably not be cheap.  Further, this author is not and will not be responsible for careless, negligent, and/or malignant use by any individual who uses FileCleaner.  Please see the GNU General Public License for more details.

Also, please be aware that FileCleaner does not operate on read-only or locked files.  Further, please be aware that FileCleaner only operates of folders used by Microsoft® Internet Explorer (IE), and does not operate on folders used by other Internet browsers, such as Mozilla, Opera, etc., unless they use the same folders as IE.  Finally, with the above two paragraphs in mind, please be sure that you actually want to do what you configured FileCleaner to do before you press that Start button!
 

Prohibited Operations:

With the cautions section in mind, certain files and folders where prohibited from being used, as follows:

  1. The folders "C:\", and any folders containing the text "drivers",  "system", "windows", "winnt", "documents and settings", and "program files" are prohibited from being used as targets for operation.  This is for obvious reasons, dealing with system security.
     
  2. With version 1.0.1.3 no temporary Internet folders are bypassed, other than the one listed below, as intelligent folder search has been implemented.  This allows for further utility among systems that do not use standard folder naming.
     
  3. The folder "Content.MSO" is bypassed as it contains Microsoft® System Objects such as Windows Media Files that are needed by certain Windows applications.


Installation and Rebuilding:

This application may be installed in any folder.  To install, extract FileCleaner.exe from FileCleaner_1.0.1.3.zip to the folder of your choice.  "C:\Windows" is the recommended location for Windows applications.  You can then create a shortcut to it by right clicking on the Desktop and selecting New -> Short Cut to create a desktop shortccut to FileCleaner. 

A good way to test the operation of this software on your system after the initial verification is to go onto a website with images then select the File -> Work Offline option from the Windows dropdown menu bar on IE.  Use FileCleaner with delete enabled, and then attempt to refresh the page while staying offline, which will give a warning window titled "Web page unavailable while offline."  Select the "Stay Offline" button and you should see significant differences in the web page! This is because files being used by the webpage have been deleted and when it attempts to refresh the page from the temporary Internet file cache, those files are no longer present.

Rebuilding FileCleaner requires a C++ compiler such as Dev-C++ (freeware),  Microsoft® Visual C++ ($109USD from MSDN) or any other compatible C++ compiler.  The only caveat is that it must accept FLTK include files and libraries.  All necessary FileCleaner source and header files are included in FileCleaner_1.0.1.3.zip.  The author recommends that if you are using Dev-C++ that you extract the FileCleaner source files to a folder in the same location as devcpp.exe.  Regardless, I also recommend that you extract the all the source files to their own project folder for ease of use and visibility.

If you are using Dev-C++, you will need to reconfigure the Project Options -> Parameters -> Linker to point to the correct locations of the required library files.  If you followed the recommendation on where to place the files in the preceding paragraph, then it's a simple matter to change the text "../Dev-Cpp" to "../" which points the compiler to the correct required library location.  One would think that the compiler could figure this out, but Dev-C++ doesn't, for whatever reason.  The required library files are listed at the top of the header file FileCleaner.h, with the required header files following thereafter.  This author did not use Visual C++, and therefore cannot comment on whether it will compile correctly on it.  FileCleaner has been designed using standard C++ header files and run time libraries, so it should be straightforward to rebuild FileCleaner using Visual C++.  However, the author of FileCleaner can't guarantee that!

This author would recommend that Linux/Unix users not attempt to use FileCleaner, as it's designed with Windows XP in mind.  However, with some work, it you should be able to implement FileCleaner in any operating system.

FileCleaner has been verified on the following operating systems and machines:

  1. Windows XP Professional Version 5.1.2600 Service Pack 1 Build 2600
    1. Dell Optiplex GX260
    2. Dell Optiplex GX280
    3. Dell Dimension 8300
       
  2. Windows XP Home Version 5.1.2600 Service Pack 1 Build 2600
    1. Dell Dimension 2400
       
  3. Windows 2000 Professional Version 5.0.2195 Service Pack 4 Build 2195
    1. Dell Optiplex GX240

Known Bugs and Other:

As of the time this release FileCleaner has no bugs known to the author.  Please contact the author if you find a bug.  Also, if you wish to see this application updated for previous versions of Microsoft® Windows, please contact me with the pathnames of the proper temporary Internet file folders, and I'll modify the software to suit that operating system version.  This application does not at this date implement the full suite (35) of overwrites as specified in the Secure Deletion of Data from Magnetic and Solid-State Memory document, but will on a later version.

If you experience any type of memory error warnings from Internet Explorer (IE) during any operation of your browser after using FileCleaner, this is not a bug in FileCleaner.  What has occurred is that a file necessary to IE has been overwritten with random data or deleted.  It could be annoying, in that IE will crash, closing all open IE windows.  Therefore, if you experience this kind of error, please close all IE windows before using FileCleaner.  It's a hard problem to address, as it is has only occurred once during development, is not reproducible, and depends on the web page active code, such as JavaScript's and Java applications.
 

Download GNU-GPL Licensed Source Code and Executable.

Requires WinZip 8.0® or a compatible un-zipper such as 7Zip.

Download FileCleaner_1.0.1.3-20041209 zip now (247KB).   Winzip 8.0 CRC for FileCleaner.exe is 7B7D4A45.

FileCleaner took approximately 70.3 hours to develop.  Hopefully, you found or will find FileCleaner useful.  If you did, then a small voluntary donation would be appreciated to defray the costs of hosting a website at Yahoo! Geocities and for the hours expended developing FileCleaner.


Back To Home Page
© 2004-2005
Alfred P. Reaud
Independent Investigator
Created: Wednesday, November 17, 2004
Current: Monday, October 03, 2005
Valid HTML 4.01!
Official PayPal Seal