Gildor, you might want to look into FFmpeg's source code regarding determining codecs.
Running ffmpeg with a Bioshock .unk as input (ffmpeg -i vo_0_player_choke04.unk) gives the following:
Input #0, mp3, from 'vo_0_player_choke04.unk':
Duration: 00:00:01.31, start: 0.025057, bitrate: 65 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, mono, s16p, 64 kb/s
Metadata:
encoder : LAME3.97
Side data:
replaygain: track gain - -2.300000, track peak - unknown, album gain - unknown, album peak - unknown,
At least one output file must be specified
I assume the relevant function used to determine the codec used is in the libavcodec library of the FFmpeg project, which is under the LGPL.
For everybody else, this just means that you probably don't need a special program to open or to convert the file, but just renaming it from filename.unk to filename.mp3 and see if it works.