Процесс ОП -> смещение в PE

Тема в разделе "WASM.WIN32", создана пользователем swan, 1 фев 2011.

  1. swan

    swan New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2008
    Сообщения:
    29
    Извиняюсь, напомните пожалуйста как получить смещение байта из ОП в EXEшнике !
    Я гружу EXE, нахожу инструкцию в ОП а как ее связать, как ее же найти в EXEшнике ?
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    чего? я не понял вопроса, но видимо ответ: по смещению относительно базового адреса PE-файла...
     
  3. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Видимо, вопрос о том, как по RVA найти смещение в файле. Надо из целевого VA вычесть базу исполняемого. Таким образом получится RVA. Затем из целевого RVA вычесть RVA начала содержащей байт секции и прибавить смещение этой же секции в файле.
     
  4. swan

    swan New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2008
    Сообщения:
    29
    Спасибо попробую...
     
  5. swan

    swan New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2008
    Сообщения:
    29
    я имею вот это: после загрузки EXEшника:

    Image Base: 400000
    Start Address: 4657dc
    01h: - длина инструкции
    55h: - opcode

    Я хочу в этом EXEшнике в файле найти эту инструкцию !
    Если не ошибаюсь кто то уже описывал алгоритм - найти не могу...
     
  6. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Описывали много раз. И я описал выше. 657DC -- RVA инструкции. Надо вычесть из него RVA начала секции (описывается в IMAGE_SECTION_HEADER::VirtualAddress) и прибавить физическое смещение в секции (описывается в IMAGE_SECTION_HEADER::PoiterToRawData). Значения можно посмотреть либо в Hex-редакторе, либо PE-редактором, типа PETools.
     
  7. swan

    swan New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2008
    Сообщения:
    29
    Гранд мерси !