dsfok #4b Copyright (c)2005 Dariusz Stanislawek freezip@bigfoot.com DS File Ops Kit --------------- 1) dsfo dsfo can save a block of data of any size from any location within a file. Also: - backup any disk partition, including "live" and "hidden" - backup entire disk, including "live" - create an ISO CD-ROM or DVD-ROM image - create a floppy disk image - check MD5 signature of a partial or complete data object - fast sector-level transfer Usage: dsfo source offset size destination Note: null size is interpreted as max possible output negative size is calculated on current file size negative offset is calculated from end of file use "$" as destination to check MD5 signature only Example: dsfo c:\tmp\my.avi -50000 0 test.bin dsfo \\.\d: 0 512 c:\0\partition-sectors.dat dsfo \\.\PHYSICALDRIVE0 0 0 \\srv\shr\tmp\first.dsk dsfo \\.\a: 0 0 "c:\tmp\floppy disk image.img" dsfo \\.\e: 0 0 d:\CDROM_or_DVD_image.iso To backup a "hidden" partition (no assigned letter), first run vlm to find its unique volume name, then copy and paste it to dsfo, eg: dsfo \\.\Volume{ac837e69-551d-11d9-9a3c-806d6172696f} 0 0 c:\tmp\my.dat Check MD5 signature only: dsfo \\.\g: 0 2048 $ The offset argument has to be "0" with non-file objects. 2) dsfi dsfi can overwrite a block of data of any size at any location within a file. Also: - restore disk partitions (no resizing) - restore entire disk (no resizing) - restore a floppy disk image - join two files - fast sector-level transfer Usage: dsfi destination offset size source Note: null size is interpreted as max possible input negative size is calculated on current file size negative offset is calculated from end of file use "e" as offset to indicate end of file Example: dsfi c:\tmp\my.avi -50000 0 test.bin dsfi \\.\d: 0 512 c:\0\partition-sectors.dat dsfi \\.\PHYSICALDRIVE0 0 0 \\srv\shr\tmp\first.dsk dsfi \\.\a: 0 0 "c:\tmp\floppy disk image.img" To join two files type: dsfi file1 e 0 file2 The offset argument has to be "0" with non-file objects. 3) fsz fsz can be used to create a file or truncate/extend an existing one. No file size limits (on NTFS). Usage: fsz file size (in bytes, no limits - be careful) Example: fsz data.fil 15773 4) rsz rsz can be used to truncate or extend a file. No file size limits (on NTFS). Usage: rsz file resize (in +/- bytes, no limits - be careful) Example: rsz data.fil -3773 5) ESD ESD is a file encryption program derived from DSE. Unlike DSE, it overwrites encrypted or decrypted files. ESD is not directly compatible with DSE because the initialization vector is attached to the end of encrypted files. Usage: esd keyfile e|d file WARNING: files are overwritten without verification! Create a random-content key file: esd keyfile Create a key file from a password: esd keyfile p Key file size is 32 bytes. Encryption example: esd a:\my.key e d:\x\data.zip Decryption example: esd my.key d data.enc To convert an encrypted DSE file1 to ESD file2, do: dsfo file1 16 0 file2 dsfi file2 e 16 file1 6) vlm vlm scans the volumes of a computer and reports detailed info. Found volumes: (sample output) \\.\Volume{ac837e60-551d-11d9-9a3c-806d6172696f} Label: (none), File System: FAT32 4995/2000 MB Symbolic Link: \Device\HarddiskVolume1 7) msk msk is a file scrambler. It uses the XOR stream conversion to mask a target file with the contents of another one. If the keyfile's contents is random, as large as the target and never reused, this operation results in a truly unbreakable encryption, called One-Time Pad. Usage: msk target offset size mask mask_offset Note: null size is interpreted as max possible negative size is calculated on current file size negative offset is calculated from end of file mask's size has to be at least equal to masked target Example: msk c:\tmp\my.vol 0 512 a:\data.key 1000 8) flip flip will do a simple bitwise reversion operation on any file. Usage: flip target Example: flip c:\tmp\my.zip 9) xdl xdl is a secure file deleter and partition or disk eraser. It overwrites targets with random bytes. Everything on a partition or disk, including file system and boot sectors, is destroyed. Special features: - erase file name (random, eg. "LTp30vBTIt049NIkt.3Tz") - erase file time/date (random 1995 - 2005) - nullify file size - erase file cluster slack (xdl will report up to 64kB more erased data) - bypass file system's caching and buffering for top performance Usage: xdl target Warning, target will be irreversibly erased. Example: xdl c:\tmp\my.zip erase "D" partition: xdl \\.\d: erase second hard disk: xdl \\.\PHYSICALDRIVE1 erase floppy disk: xdl \\.\a: To erase a "hidden" partition (no assigned letter), first run vlm to find its unique volume name, then copy and paste it to xdl, eg: xdl \\.\Volume{ac837e69-551d-11d9-9a3c-806d6172696f} xdl deletes files after one round of overwriting of their contents, but disks and partitions can be erased as many times as you wish. One round of overwriting may not be enough if you use a low density disk and are concerned with magnetic microscopy recovery. Files can be drag-and-dropped on xdl.exe or its shortcut. Warning again, there is no undelete or unformat option after running xdl, no prompt nor confirmation dialog. It is possible to erase a "live" disk or partition and make it inoperable. 10) EDS EDS is a file encryption program derived from ESD. It overwrites encrypted or decrypted files, but does not change their size. The initialization vector has to be managed manually. EDS encryption method and keys are fully compatible with DSE and ESD. Usage: eds keyfile e|d file init WARNING: files are overwritten without verification! The init parameter can contain up to 16 characters. Create a random-content key file: eds keyfile Create a key file from a password: eds keyfile p Key file size is 32 bytes. Encryption example: eds a:\my.key e d:\x\data.zip 20050218 Decryption example: eds my.key d data.enc abc5 Initialization vector does not have to be secret, but it must be UNIQUE for every encryption with the same key. You can reuse it only to decrypt the same file. INFO A command-line session on Win NT/2k/XP can be conveniently available on a drive or folder right-click if the included "DOS Prompt Here NT.inf" file is installed. Right-click on it and select "Install". Some of the CLI utilities or their functions may not work on Windows 9x/Me. The old GUI versions work with files up to 4GB. CHANGE LOG #4b xdl v1.02, faster PRNG, processing timer #4a xdl v1.01, new feature: erase file time/date WEBSITE http://www.ozemail.com.au/~nulifetv/freezip/freeware/ Backup: http://www.ploty.com/freezip/freeware/ http://edxor.tripod.com/fw.htm http://www.geocities.com/edxor/fw.htm http://freezip.cjb.net/freeware/ FREEWARE SOFTWARE Free for private or business use. Free for distribution and publication, but in unmodified package. It can be freely bundled with any product or application. Individual permissions are not required and will not be given. DISCLAIMER ========================================================================= THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. =========================================================================