Here's a java program that will attempt to fix corrupted RealMedia (*.rm) files. Under GPL of course.
When bumping into a corruption, MPlayer will say things like
007A4884: packet v61952 len=2
bad packet len (2)
00BA5856: packet v34031 len=0
bad packet len (0)
This program will extend a packet over the corruption and give it a bogus stream number so it'll be skipped. With video data, it'll work fine from the next keyframe onwards. If it's audio data, you'll get a glitch if you're lucky, and a broken audio track from thereon if you're not.
Beware that the resulting files don't seem to play right under RealPlayer for Unix. Haven't tested on Windows. Anyone?
Download. Only source available, no pretty guis.