DeutschEspañolFrançaisItalianoNederlandsPortuguêsΕλληνικάРусскийالعربية中文(简体)中文(繁體)日本語한국어
 
Donate Bitcoins
Google
 
www smithii.com
 

dskwipe 0.4 has been released on 25-Dec-12

dskwipe is a small Windows command line utility to securely wipe a disk's contents.

You can download the binary here and the binary with the source code here.
Previous versions can be found here.

Here's the changelog.txt:

dskwipe changelog

Version 0.4 - 25 Dec 12

	Works on mounted disks in Windows 7
	Fixed -2 Windows RNG function in Windows 7
	Added Bruce Schneier's wiping method (7 passes)
	Added German BCI/VSITR wiping method (7 passes)
	Other minor bugfixes

Version 0.3 - 10 Apr 07:

	Require 'yes' to start wipe

Version 0.2 - 05 Mar 07:

	Corrected a few minor grammatical errors

Version 0.1 - 27 Feb 07:

	Initial release

and here's the readme.txt:

dskwipe 0.3 - Apr 10 2007
Copyright (c) 2006-2007 Ross Smith II (http://smithii.com) All Rights Reserved

------------------------------------------------------------------------------

Usage: dskwipe [options] device(s) [byte(s)]
 bytes can be one or more numbers between 0 to 255, use 0xNN for hexidecimal,
  0NNN for octal, r for random bytes, default is 0

Options:
 -l | --list      List available devices and exit
 -p | --passes n  Wipe device n times (default is 1)
 -d | --dod       Wipe device using DoD 5220.22-M method (3 passes)
 -D | --dod7      Wipe device using DoD 5200.28-STD method (7 passes)
 -g | --gutmann   Wipe device using Gutmann method (35 passes)
 -1 | --pseudo    Use pseudo RNG (fast, not secure, this is the default)
 -2 | --windows   Use Windows RNG (slower, more secure)
 -k | --kilobyte  Use 1024 for kilobyte (default is 1000)
 -y | --yes       Start processing without waiting for confirmation
 -x | --exit mode Exit Windows. mode can be: poweroff, shutdown, hibernate,
                  logoff, reboot, or standby.
 -F | --force     Force poweroff/shutdown/logoff/reboot (WARNING: DATA LOSS!)
 -q | --quiet     Display less information (-qq = quieter, etc.)
 -z | --refresh n Refresh display every n seconds (default is 1)
 -n | --sectors n Write n sectors at once (1-65535, default is 64)
 -s | --start   n Start at relative sector n (default is 0)
 -e | --end     n End at relative sector n (default is last sector)
 -r | --read      Only read the data on the device (DOES NOT WIPE!)
 -v | --version   Show version and copyright information and quit
 -? | --help      Show this help message and quit (-?? = more help, etc.)

Examples:
 dskwipe -l                         & lists devices, and exit
 dskwipe \\.\PhysicalDrive1         & erase disk once using the byte 0
 dskwipe \Device\Ramdisk 1          & erase disk once using the byte 1
 dskwipe \Device\Ramdisk 0 255      & erase disk twice using bytes 0 then 255
 dskwipe --dod \Device\Ramdisk      & erase disk using DoD 5220.22-M method
 dskwipe \Device\Ramdisk 0 0xff r   & same as --dod (bytes 0, 255, weak random)
 dskwipe -p 2 \Device\Ramdisk 0 1   & erase disk 4 times using bytes 0/1/0/1
 dskwipe -p 2 --dod \Device\Ramdisk & erase disk twice using DoD method
 dskwipe -1 \Device\Ramdisk r r     & erase disk twice using weak RNG
 dskwipe -2 \Device\Ramdisk r r r r & erase disk four times using strong RNG
 
Here are some device names that have worked for me:

\\.\PhysicalDrive0
\\.\c:
\device\harddisk0\partition0
\device\harddisk0\partition1
\device\floppy0
\device\ramdisk

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Running dskwipe in a PE environment

I am running your program in a PE environment and it does not report the disk type the same as if it was running in full windows xp.
It reports all drives as fixed, instead of USB drives as removable. I am wondering what could be different in the PE environment to make it act that way? What dependencies does it require in terms of dlls?

Thanks
Chuck

Not able to compile

I tried to compile the source but failed due to missing files such as getopt.h and ver_defaults.h. Where can I get them or how can I compile it without them?

billyyiu,

Sorry, I should include the files that are shared by all my applications, with each application. For now, please download the shared files from shared-1.1-win32.zip and the source code from shared-1.1-win32-src.zip, and install them in a folder named shared, at the same level as dskwipe:

/src
 +-- /dskwipe
 |
 +-- /shared

I recently tried to compile my utilities in C++ Express 2008, and it compiled OK, but I had problems linking. If you get everything working with a newer compiler then 6.0, please send me your work, so I can update my files.

Good luck!

MSVS 2008

Just rebuild your shared libraries in VS 2008 and link to the output shareddu.lib instead of sharedd.lib in the dskwipe project.

When you just use the binary libraries from shared-1.1-win32.zip, they were built in VS 6 which used the deprecated LIBCD.lib. By rebuilding in VS 2008, you use the newer library libcmtd.lib (replacement for LIBCD.lib) and this solves your problem. See this thread for further discussion: http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/48340163-9e9b-4ada-a64d-f69bb3e242a6

~Mike

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
DeutschEspañolFrançaisItalianoNederlandsPortuguêsΕλληνικάРусскийالعربية中文(简体)中文(繁體)日本語한국어
 
Donate Bitcoins
Google
 
www smithii.com
 
Special thanks to Riester Rente Online for a generous donation!