Download DieHard


Download DieHard on GitHub. This is the preferred method, and always contains the most up-to-date version.

Previous versions: version 1.1 (May 25, 2007)

changes: Reduced memory consumption, improved robustness for Windows, increased randomness.

source (gzipped tarball)
source (zip)

Windows binaries
Windows installer
Note: compiled with gcc 4.0.2.

Download version 1.0.2 (January 3, 2007)

changes: Maintenance release.

source (gzipped tarball)
source (zip)
Linux binaries

Note: compiled with gcc 4.0.2.

Previous versions:
version 1.0.1 (December 20, 2006)
version 1.0 (June 26, 2006)
version 0.3 (December 28, 2005)
version 0.2 (December 2, 2005)
version 0.1 (November 23, 2005)

How do I build and use DieHard?

The source code for DieHard is in the src/ directory.


To use the standalone version, just enter make (Linux, Solaris) or nmake /f Makefile.win32 (Windows). On Linux and Solaris, use DieHard by setting the LD_PRELOAD environment variable, as in

setenv LD_PRELOAD /path/to/

On Windows, you need to link your program with the /MD flag and usewinhard.obj and winhard.lib. Then copy winhard.dll to the same directory as the executable. There is also a Detours version that lets you replace the allocator in a compiled executable as long as it was dynamically linked with the C library:

detours/withdll.exe -d:diehard-detours.dll


To use the replicated version (Linux or Solaris only), compile with make and invoke your program with (for example):

diehard 3 /path/to/ yourapp

This would create 3 replicas of yourapp. If the application does not read from standard input, add < /dev/null to the command line.

Terms of use

DieHard is Copyright (C) 2005-6 Emery Berger, University of Massachusetts Amherst, and is free for noncommercial use.