DieHard eliminates ? or greatly reduces the likelihood of ? a class of bugs and security vulnerabilities called memory errors. DieHard prevents certain kinds of errors from happening at all. It also reduces the probability that a bug will have any effect at all. DieHard works by randomly locating program objects far apart from each other in memory. This scattering of memory objects all over memory not only makes some errors unlikely to happen, it also makes it virtually impossible for a hacker to know where vulnerable parts of the program's data are. This thwarts a wide class of exploits.....(free).....