Disksalv is the best I know! The only problem is you might to have it run 2 -3 times before a bad error is fixed (at least on hard disks). I managed to fix Lotus Esprit 1 with Disksalv when unfixed it exited on some 30% of the total game (bad crack...).