Skip to content
/ ham Public

Fast Linux util for overwriting files with random data, written in assembly

License

Notifications You must be signed in to change notification settings

Taioseach/ham

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ham

Fast Linux util for overwriting files with random data, written in assembly.

It targets to be poorer, but faster version of shred.

Usage

$ ham FILE

All bytes are replaced in place with random data. At this moment ham supports only overwriting regular files. Block devices (e.g. partitions) cannot be formatted using ham.

Building

Requirements: nasm, ld (or another linker) and strip.

To simply build ham in build/<arch> for all supported architectures run:

$ make

If you want to use different linker than default (ld), overwrite LINKER when running make. For example, for LLVM linker:

$ make LINKER=ld.lld

Supported instruction sets:

  • x86_64
  • others in progress

Comparison with shred

Benchmarks were performed using Intel Core i7-8700 CPU and WD10EZEX-21WN4A0 HDD.

All values are averaged over 10 runs.

Tool 32 MB 256 MB 1 GB
shred -n1 0.331s 2.186s 8.653s
ham 0.017s 0.320s 0.429s

About

Fast Linux util for overwriting files with random data, written in assembly

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published