You have a corrupt wallet, but you are asking the wrong question, so you are going to get wrong answers.
http://mywiki.wooledge.org/XyProblemFirst, how did you get a "corrupt wallet"? What kind of wallet. We'll assume it's Bitcoin-Qt for some instructions.
Starting Bitcoin-Qt with the option -salvagewallet will scan the wallet for addresses/keys and attempt to recover them.
If that doesn't bring back any addresses or fails, the next step is to use pywallet to scan the whole file for you to recover anything that resembles a public key. Read, and be a technical person already:
https://bitcointalk.org/index.php?topic=34028.0I have a modified version of pywallet here that will keep scanning even when there are serious errors:
http://we.lovebitco.in/pywallet-keyskip2.pyA typical command to do this:
pywallet-keyskip2.py --recover --recov_device wallet.dat --recov_size 1Mio --recov_outputdir .