Works in Vista ?

I would like to find out if this works in Vista.
I noticed that it sometimes has to be run twice on the same file.
Do I need a delay ?


; SHRED1.ASM Ver 1i B/W version
; (c) Copywrong 1996 - 2004
; Tasm code
; ***** FILE is NOT recoverable !!!! ****
; Supports Long Filenames
; Works in Win XP in a DOS box, with short or long filenames
; Shreds a 331 Meg file in 80 secs on an AMD K-6 475 MHz
; Overwrite a file with zero bytes, truncates it to zero bytes,
; set file time and date to 12:59:58 pm 1/1/80,
; renames it and then deletes it.
; Single files only. (For Safety)
; Use SHORT (8.3) FILENAME when file is a LFN
; Works across drives, handles periods in the path names
; Help from Stealth, Raymond, Bitrake, Rudy Weiser, Frank Kotler,
; Fauzan Mirza, Robert Redelmeier, QvasiModo, and others
.stack 200h
STOP equ int 3

.data? ; can contain ONLY un-initialized data, keeps executable small

random db 64000 dup(?)
file_name db 128 dup(?) ; DOS maximum path length
storage db 150 dup(?)


handle dw ?
file_size dd ?
name_size dw ?

; Direct video writes, shows right after Version number !!
prompt db 13,10,13,10,9,'File Shredder Ver. 1h' ,13,10
db 13,10,9,'(c) Copyright 1996 - 2004',13,10
db 13,10,9,'Use SHORT (8.3) FILENAME when file is a LFN.',13,10
db 13,10,9,'Use full path when not in current DIR/DRIVE',13,10
db 13,10,9,'Usage: C:PROGRA~1FILENAME.ASM',13,10,13,10
db 13,10,9,'File name to SHRED --> $'

not_there db 13,10,13,10,13,9,'File not present.',13,10,'$'
emsg2 db 13,10,13,10,'Error moving file pointer.',13,10,'$'
emsg3 db 13,10,13,10,'Error writing to file.',13,10,'$'
done_msg db 13,10,13,10,'File has been shredded.',13,10,'$'
eraser_name db '


  • I'm not sure exactly what you're asking, but let's see if this helps. XP has a "command prompt" (not really a DOS box, but something similar). There are many DOS programs that will work at an XP command prompt, and many that won't.

    Vista (and likely all future versions of Windows) no longer has a command prompt (it has a CMD prompt, but not a COMMAND prompt -- they are different). If you want to run DOS programs, Microsoft wants you to install an emulater/virtualizer (Virtual PC, VMWare, Virtual Box, Bochs, DosBox, QEMU, etc.), rather than running CMD.

    Even at a CMD prompt, however, as long as you're using standard DOS function calls (which it looks like you are), I would say it probably will work just fine. I don't have TASM, so can't assemble your program and test it.
  • Thanks for the info.
    I have the .exe if you want to test it.

    I didn't see any provision to attach files here.

    Take care.

  • Thanks for the info.
    I have the .exe if you want to test it.

    I didn't see any provision to attach files here.

    Take care.

  • Nope - doesn't work at all in Vista, at least x64 versions (which is what I have). It just comes back with an error that essentially says you need a 64-bit compatible version of the program. It might work in a 32-bit version of Vista, though.

    I also tried it in Virtual PC running DOS 6.20, and it didn't work either. It came back with "Error moving file pointer."
  • Thanks for testing it out.

    You can always go back to XP. :-)

    Take care.
  • " ***** FILE is NOT recoverable !!!! **** "

    This program uses int 21h function 40h to overwrite. This interrupt uses buffered I/O...

    This means that under all versions of dos and windows it will leave copies of this file on the hard disk. The operating system will simply mark the clusters as empty and change the directory entry in the filesystem to point to a different cluster with the new (overwritten) file leaving the data fully intact in some unrefrenced cluster(s).

    [b]Therefor this program does not work at all *as intended* on any system.[/b] (I'm assuming it's intent is stated in the quote at the top.)

    The only way to truely overwrite a file so it cannot be recovered is to access the disk cluster(s) the file occupies directly and overwrite them.

    You can use int 13h for dos programs. Windows programs must go through the API and will require administraitor privilege...

    The entire cluster chain for the file must be traced and it will require a different algorithm for each type of filesystem it is intended for... (FAT12, FAT16, FAT32, NTFS, HPFS, ext3, etc...)

    If you have something you really want gone forever you should find a different program...
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!