То, что я пытаюсь сделать, на мой взгляд, довольно простое, я просто не уверен, как именно это сделать это.
В частности, я просто хочу получить список модулей (разделяемых / динамических библиотек), которые загружаются в другом процессе. А также получить начальный адрес того места, где находится этот модуль в данном процессе.
Получить эту информацию с помощью 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)
Кто-нибудь знает, как это сделать программно? Очевидно, что загрузка модулей является динамической, поэтому мне нужно определить, где она находится.