The core file has it's own format, which is mostly binary.
They are simply created when a program exits with certain exit codes.
However, it is possible that some other program, that called the faulty program, logged it's unexpected end.
You may also find a clue as to which program crashed in the core dump file itself.
The filename core.xxxx may imply that xxxx is the Process ID of the program that crashed. I'm not sure of this though.
Maybe you can find some info on http://en.wikipedia.org/wiki/Core_dump
It has a link to dump analyzing tools.