EntryPoint

Тема в разделе "WASM.BEGINNERS", создана пользователем _kostik_, 27 окт 2007.

  1. _kostik_

    _kostik_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2007
    Сообщения:
    8
    Здравствуйте. Разбирался с PE-структурой, и возник такой вопрос: чтобы узнать абсолютный адрес точки входа надо сложить EntryPoint и ImageBase, и примеры приводят, в которых всё так и получается. А я попытался, у меня EntryPoint=1040h, ImageBase=400000h а размер EXE-шника 16384 байт. Как правильно определить? (Значения брал из ProcDump32)
     
  2. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Код (Text):
    1. 00400000h
    2. 00001040h
    3. ----------
    4. 00401040h
     
  3. _kostik_

    _kostik_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2007
    Сообщения:
    8
    Ну, сложить то ...
    А вот как поменять точку входа?

    По идеи: АдресНовой - ImageBase
    Допустим я хочу установить EP на последний байт. 4000h - 400000h = FFC04000h, не катит токая шняга 0_о
     
  4. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    _kostik_
    4000h это уже адрес относительно ImageBase, из него не нужно ничего вычитать. Перечитай пособие еще разок. А если на последний байт, то 3FFFh.

    Если же я понял не правильно, и абсолютный адрес это смещение в файле, то тут сложнее. Сначала нужно определить, к какой секции принадлежит код, на который ссылается сумма (ImageBase+RVA(EntryPoint)). Потом из этой суммы вычесть RVA этой секции. Полученная разность будет смещением относительно начала той самой секции, которой принадлежат данные, на которые ссылается (ImageBase+RVA(EntryPoint)). Все это делается с помощью функции RtlImageRvaToVa.
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ты путаешь VA, RVA и смещение в файле. перечитай про пе-формат
     
  6. Mi256

    Mi256 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2007
    Сообщения:
    116
    Реальный адрес посмотри запустив ее в отладчике - он то не соврёт... :)
    Бывают такие приколы, что секцыя начинается дальше, за пределами файла.