Dynamically getting a process modules and addresses in OsX

Firstly, sorry if this thread is in the wrong sub-forum (let me know and I'll try to move it).

For the last week or so I've been looking into ways to try to find out for a given process the modules that it's loaded and their respective addresses. I know its possible in Bash and I might have to go down the route of making a bash script and then reading in the output from it. I also know that its possible (and seems fairly simple) on Windows but near impossible on Os X.

This issue I've had is that there is very little documentation of the mach libraries and as I'm a beginner when it comes to memory in C++ (and to a degree c++) it seems like an unachievable task. The rest of the application is working (if I manually grab the address needed and hardcode it in - but as it changes whenever the application is relaunched then its not a suitable approach).

I've had a year or so experience with C++ (on Linux) and pretty much no exposure to processes/memory so this is more of a learning experience for me. I've seen this book 'Mac OS X and IOS Internals: To the Apple's Core' - If anyone has any feedback/recommendations on it then it would also be appreciated. I'm off for the summer from Uni and something to read up/learn would help me when I get back.

An example of the above (what I'm actually trying to achieve) is that a module, server.dlyib is loaded and I need to get the address of its entry point (I have offsets relating to the address that I want to manipulate). But as its loaded into a random memory location I need to work dynamically work it out.

Any pointers in the right direction would be greatly appreciated.
Topic archived. No new replies allowed.