Определение программным способом, какие модули загружаются в другой процесс? (OS X)

То, что я пытаюсь сделать, на мой взгляд, довольно простое, я просто не уверен, как именно это сделать это.

В частности, я просто хочу получить список модулей (разделяемых / динамических библиотек), которые загружаются в другом процессе. А также получить начальный адрес того места, где находится этот модуль в данном процессе.

Получить эту информацию с помощью GDB очень просто. Вы просто подключаетесь к процессу и набираете «информация передана». Это именно та информация, которую я хотел бы получить. Такие как: Type Address Reason | | Source | |
| | | | | |
1 Adium
- 0x1000 exec Y Y /Applications/Adium.app/Contents/MacOS/Adium (offset 0x0) 2 dyld
- 0x8fe00000 dyld Y Y /usr/lib/dyld at 0x8fe00000 (offset 0x0) with prefix "__dyld_" 3 WebCore F 0x95b6a000 dyld Y Y /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore at 0x95b6a000 (смещение 0x95b6a000)

Кто-нибудь знает, как это сделать программно? Очевидно, что загрузка модулей является динамической, поэтому мне нужно определить, где она находится.

8
задан Qix 10 July 2015 в 03:17
поделиться

0 ответов