How does module_hook() function work?
It's important to understand that a 'hook' is literally a function that's named in a certain way.

If you have a function 

function my_module_abc() { }


That is, by the nature of the hook system, my_module's implementation of hook_abc(). 

Whether hook_abc() was ever intended to be a hook is a completely different matter. The fact that the hook system works entirely on a naming convention means that it's inevitable. In fact it's working exactly as designed.

Hooks are very loose, they are not structured; they don't have meta data, beyond what the module author may choose to document in MODULE.api.php. The 'information' you're looking for doesn't exist, and until someone changes the way Drupal's hook system works, it can't and won't.