Okay, I'm hesitant because I have never done this with someone through a forum and I don't know your skill level.
The main thing to do to insure the best chance for success is make a copy of the bad drive and set it aside. Then work on the copy.
Personally, I do this by using Clonezilla to boot the machine that I have the bad drive and the empty good drive connected to.
Then in Clonezilla, I get to a command prompt and use ddrescue
for options and this page for the manual
This way, I copy all of the data on the bad drive to the good drive. Then I run recovery tools on the good drive. If I screw it up, I still have the bad drive and I try again.
If someone has an easier way please chime in as I'm not sure that I could walk someone through this unless they were comfortable with Linux command line.