Интересный вопрос - Использование DLL вместо лодера

Тема в разделе "WASM.BEGINNERS", создана пользователем assorted, 2 окт 2006.

  1. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Исходя из того что приоритет поиска дллок при загрузке - сначала в директории с исполняемым модулем, а только потом в систем32 появилась мысль.....

    1) я ложу свою dll (одноименную с системной) в одну директорию с исполняемым модулем - в моем случае winmm.dll


    2) В DllEntryPoint поидее, должен быть код, который выгрузит "сам себя" и загрузит оригинальную из \system23\winmm.dll (например временно пререименовав мою dll) или
    проще - прочитать \system23\winmm.dll и записать в память на место моей загруженой длл. Или третий вариант - добавить требуемый мне код прямо в оригинальную winmm.dll и положить ее в одну дир. с программой. Тут правда не разгуляешься.


    Есть мысли как реализовать второй пункт проще? Или для этой цели существуют какие нибудь иные способы? Единственное условие - редактировать имполняемый модуль недопустимо.
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    assorted
    Сначала в списке уже загруженных dll.

    В EP такое вообще делать рискованно (см. msdn).

    Проще?! :)

    Это уже более-менее адекватная идея.