Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > загрузка elf в память |
Автор: slater 10.6.2010, 20:07 |
всем привет! расскажите плиз как происходит загрузка elf в память(или в какую сторону копать), какой модуль подгружает исполняемый файл в память? например, если я в bash просто запускаю обычно скомпилированную программу "Hello, world!" - что происходит? может быть некорректно поставлен вопрос, прошу прощения, заранее блангодарен за любую помощь спасибо |
Автор: MAKCim 10.6.2010, 23:11 |
кратко создается процесс через fork()/vfork(), в новом процессе вызывается execve() управление передается загрузчику ядра (fs/binfmt_elf.c -> load_elf_binary()), который отображет бинарник и динамический загрузчик (ld.so) далее управление передается из ядра на entry-точку бинарника или динамического загрузчика в случае последнего после передачи управления он отображает остальные либы |
Автор: slater 11.6.2010, 17:56 |
MAKCim, очередной раз очень благодарен вам за ответ т.е. в итоге сам исполняемый файл загружается в оперативную память вот, а кто его туда копирует? и где можно хорошо и более глубоко прочесть по какому адресу копируются данные, по какому адресу копируются локальные перенные и т.д. т.е. те различные области кода и данных, которые расписаны в заголовке самого исполняемого файла в формате elf? может посоветуете литературу где про это расписано? желательно на английском |
Автор: EvilsInterrupt 11.6.2010, 21:53 |
http://www.google.ru/url?sa=t&source=web&cd=14&ved=0CCoQFjADOAo&url=http%3A%2F%2Frjohnson.uninformed.org%2FPresentations%2F200409%2520Toorcon%2520-%2520Hooking%2520the%2520Linux%2520ELF%2520Loader%2Fhooking_the_linux_ELF_loader.pdf&ei=s4USTPrtMo-aOIn4uYsI&usg=AFQjCNHEZNTvoEZdP_kHJivxwUKpe7Jsgg&sig2=48wy5zgaFYY-daSszup4lg |
Автор: slater 11.6.2010, 22:05 |
спасибо вам ребята большое посоветуйте что еще почитать пожалуйста про это, про то как и куда загружаются блоки исполняемого файла |
Автор: nanoo 20.6.2010, 15:10 |
в спеках elf всё есть. |
Автор: xvr 20.6.2010, 21:13 |
http://www.skyfree.org/linux/references/ELF_Format.pdf так же рекомендую утилиты objdump и readelf для изучения реальных elf файлов - изучение примеров гораздо эффективнее голого чтения документации |