Смена imagebase налету?

Discussion in 'WASM.WIN32' started by nrg, Mar 9, 2005.

  1. nrg

    nrg New Member

    Blog Posts:
    0
    Joined:
    Mar 9, 2005
    Messages:
    5
    Допустим у меня есть PE exe, естб ли возможность без помощи линкера сменить imagebase в нём, т.е. чтоб потом все переменные и функции были доступны?



    Понятное дело, всё под NT based OS
     
  2. volodya

    volodya wasm.ru

    Blog Posts:
    0
    Joined:
    Apr 22, 2003
    Messages:
    1,169
    в нативном экзешнике? конечно, нет. как релокейшены хендлить будешь?
     
  3. ProgramMan

    ProgramMan New Member

    Blog Posts:
    0
    Joined:
    Jan 13, 2004
    Messages:
    263
    nrg, нельзя. Нуден пересчёт большенства адресных ссылок.
     
  4. CARDINAL

    CARDINAL Member

    Blog Posts:
    0
    Joined:
    Jan 23, 2004
    Messages:
    551
    Location:
    Moscow
    nrg

    а ты попробуй.
     
  5. nrg

    nrg New Member

    Blog Posts:
    0
    Joined:
    Mar 9, 2005
    Messages:
    5
    А как бы все ссылки ещё поменять :х

    Как распознать в коде, что это является адресом.

    Есть идеи ?
     
  6. infern0

    infern0 New Member

    Blog Posts:
    0
    Joined:
    Oct 7, 2003
    Messages:
    811
    Location:
    Russia


    есть. Попоросить линкер сделать это, пересобрав EXE без флага FIXED.
     
  7. nrg

    nrg New Member

    Blog Posts:
    0
    Joined:
    Mar 9, 2005
    Messages:
    5
    Так. Уже ближе. Теперь подскажите, как мне поможет relocation table. :) ... Хотя я вроде допёр, но всёравно на всякий случай
     
  8. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    nrg



    Есть. Поправить PE Header.





    Если есть эта директория (relocation), то загрузчик настроит адреса всех меток относительно нового адреса загрузки.
     
  9. Dr.Golova

    Dr.Golova New Member

    Blog Posts:
    0
    Joined:
    Sep 7, 2002
    Messages:
    348
  10. nrg

    nrg New Member

    Blog Posts:
    0
    Joined:
    Mar 9, 2005
    Messages:
    5
    Ага. Спасибо. Осталось только найти способ восстанавливать релоки после обработки файла пакером (они выгружают таблицу из памяти после обработки) или найти пакер, который не трогает их
     
  11. volodya

    volodya wasm.ru

    Blog Posts:
    0
    Joined:
    Apr 22, 2003
    Messages:
    1,169
    только найти способ восстанавливать релоки после обработки файла пакером



    Описано в первых упаковщиках.