Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Вниз

Загрузка DLL в чужой процесс   Найти похожие ветки 

 
paul_shmakov   (2002-01-08 12:16) [4]

есть множество способов загрузки dll в адресное пространство процесса. разделить их можно на два вида: динамическая подгрузка и "статическая" (осуществляемая правкой exe-шника). у каждого из видов есть свои достоинства и недостатки.

главное достоинства динамического метода в том, что не нужно изменять никаких файлов. главный недостаток в том, что для загрузки dll в адресное пространство некоего процесса необходима еще одна наша программа (loader.exe), которая эту загрузку и осуществляет (за исключением метода HKLM\...\AppInit_DLLs).

статический метод позволяет либо добавить свой код, который вызовет LoadLibrary; либо изменить таблицу импорта, так, чтобы на этапе запуска exe-шника загрузчик подгрузил нашу dll. метод хорощ тем, что для дальнейшей работы не требуется никаких loader.exe - остается только программа-жертва и наша dll. достоинства являются и недостатками :( меняется исходный файл, что, безусловно, плохо. особенно если нужно внедрять dll в несколько процессов.

в каждом конкретном случае в зависимости от задачи нужно выбирать подходящий метод.

теперь несколько вариантов реализации статического и динамического внедрения. введем для удобства несколько обозначений. program.exe - программа, в которую мы внедряем нашу dll, mydll.dll - наша dll, loader.exe - программа, которая загружает нашу dll в адресное пространство program.exe (нужна для динамического метода).



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
1-19152
ded_di
2002-02-18 09:38
2002.03.07
Разбор html таблиц


6-19281
SemFLY
2001-12-09 03:15
2002.03.07
Как всё-таки разшарить диск ! В FAQ всё смотрел !


3-19072
Ura
2002-02-01 15:55
2002.03.07
IB и скорость


1-19236
Squall
2002-02-19 03:51
2002.03.07
Как создать кнопку со своими pictures ами? (И без глюков!)


3-19041
Laimer
2002-02-01 12:01
2002.03.07
Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский