RVA и AddressBase

Тема в разделе "WASM.BEGINNERS", создана пользователем darknode, 1 фев 2006.

  1. darknode

    darknode New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2006
    Сообщения:
    1
    В процесс загружена Dll с помощью LoadLibrary, нужно подменить адрес DllMain(точки входа) на свой, но есть такая проблема, AddressBase + RVA получаеться бооольшое отрицательное число.

    Правильно ли пытаюсь получить абсолютный адрес DllMain, если нет, подскажите плиз как его правильно получать?
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Насколько я понимаю, адресс DllMain процессу ни к чему.

    Он зарыт где-то в Виндовых структурах системы управления процессами. RVA должо быть отрицательно, скажем так в большинстве случаев.
     
  3. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    darknode

    AddressBase + RVA

    AddressBase чего + RVA чего



    Правильно ли пытаюсь получить абсолютный адрес DllMain

    как я понимаю, под абсолютным адресом ты подразумеваешь виртуальный?

    dll_ db 'dll_name.dll',0

    ...

    invoke GetModuleHandle,addr dll_

    ;в eax вернёт адрес загрузки dll

    mov esi,[eax+3ch]

    add esi,eax

    mov esi,[esi+28h]

    add esi,eax

    ;в esi адрес dll main





    valterg

    RVA должо быть отрицательно, скажем так в большинстве случаев.

    С чего это?