|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.02.2013, 12:35 | #1 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Порядок загрузки DLL для исполняемого файла
Интересует,как можно изменить этот порядок.Т.е. все DLL имеют одинаковый базовый адрес 10000000, но загружаются в строго определенной последовательности и размещаются в памяти исходя из соображений Wndows.
Есть какая-то структура,отвечающая за это? И можно ли изменить данный порядок в уже откомпилированном файле |
19.02.2013, 14:39 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Хороший вопрос...
Измените порядок указывания import библиотек в параметрах линкера. По крайней мере у меня это повлияло на результат dumpbin.exe -imports Это повлияет только на DLL которые нужны вам, они в свою очередь могут грузить другие библиотеки, т.е. нужный вам порядок может быть не соблюден. |
19.02.2013, 17:57 | #3 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Появилась такая идея: написать лоадер или заинжектить библиотеку, которая загрузит нужные DLL по нужным адресам (LoadLibraryEx это вроде умеет делать),а дальше сделать перехват функции LoadLibrary и проверять,если такая DLL уже есть в памяти то вернуть TRUE и ничего не делать,а если нет - то выполнить обычную LoadLibrary. Немного поясню что я пытаюсь сделать:
у меня есть чужой exe-файл, в котором я хочу сменить адреса загрузки DLL и их порядок следования в памяти; В случае с лоадером открывать файл можно через CreateProcess но видимо без инжекта здесь не обойтись все равно |
19.02.2013, 21:40 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
CreateProcess загрузит все DLL процесса.
Зачем нужно менять адреса DLL и их порядок следования в памяти? |
19.02.2013, 23:56 | #5 | |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как изменить порядок загрузки форм | Lidiya585 | Windows Forms | 0 | 30.11.2012 17:15 |
Экспорт функции из DLL для дальнейшей статической загрузки в Delphi | The SCS | Общие вопросы C/C++ | 1 | 01.07.2012 18:28 |
Сменил порядок загрузки винтов | kzld | Операционные системы общие вопросы | 2 | 04.11.2011 19:37 |
Возможно ли в Windows XP изменять порядок загрузки программ в автозагрузке? | Лукманов Александр | Windows | 1 | 22.03.2011 00:11 |
Минимальное приложение для загрузки файла на FTP | Gambler | Работа с сетью в Delphi | 6 | 29.01.2008 22:58 |