Внедрение кода в исполняемый фаил

Тема в разделе "WASM.RESEARCH", создана пользователем ArturMurMur, 3 июн 2019.

  1. ArturMurMur

    ArturMurMur New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2019
    Сообщения:
    3
    Всем привет! Столкнулся с проблемой в x64bdg:
    -добавил новую секцию в exe фаил с помощью LordPe и HEX редактора и поставил в ней точку входа, а из нее управление передается на начальную точку входа(проверил - работает)

    -добавил в IAT импорт функции MessageBoxA из user32.dll через приложение CFF Explore(на первом скрине LordPE в кт видно что функция добавлена)

    -пытаюсь вызвать MessageBoxA в своей секции через x64dbg, выдает ошибку что нет такого адреса(второй скрин на нем один из способов кт я пытался вызвать эту функцию)
    Как я понял нужно импортировать функцию в новую секцию, но я не знаю как
     

    Вложения:

  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    У тебя чуть выше jmp:
    7FF7BB2EF53C - 7FF7BB33B005 = FFFB4537 (E9 3743FBFF)
    Ты кодируешь call (скорей всего ассемблер берет формат CALL rel32):
    7FF7BB33B018 - 7FFC3AF7FBE0 = FFFFFFFB803BB438
    оффсет просто не влазит в 4 байта. Сделай через call rax. Или изучай синтаксис выбранного ассемблера.
     
    ArturMurMur нравится это.
  3. ArturMurMur

    ArturMurMur New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2019
    Сообщения:
    3
    Имеет значение на каком виде ассемблера писать в x64dbg? Я только начал изучат эту тему и не знаю куда копать. Не могли бы вы направить?
     
  4. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
  5. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    Когда ты ассемблируешь что-то в ексодии, там внизу два чекбокса XEDParse и asmjit - это два разных движка. Видимо одного хорошего не было, подключили два. Ничто не мешает написать во внешнем ассемблере все что надо и запихать в файл (или прямо в фасме ехешник подключить и ассемблировать прямо в него), дело вкуса вобщем.
     
    ArturMurMur нравится это.
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    Там что то про релоки в сообщении с ошибкой. Причём там вообще call rel ?
     
  7. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    relocation relocation'у рознь.
    [​IMG]
     

    Вложения:

  8. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    Это глюк отладчика, этот x64dbg весьма сырой. Не удивительно что у тс с ним проблемы. Что бы использовать отладчик нужно как минимум понимать архитектуру, набор инструкций.
    --- Сообщение объединено, 4 июн 2019 ---
    ArturMurMur,

    Посчитай сам смещение и вручную собери инструкцию в памяти.
     
  9. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    Значит не сразу но дошло при чем тут call rel?
     
  10. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    Я не доставал хрустальный шар. Есть же виндбг, зачем какой то кривой ширпотреб" юзать.
     
  11. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    А как же аналитическое мышление?
     
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    В сообщении про ошибку был релок. Откуда мне знать как себя ведёт на них отладчик. Тем более я не использую x64дбг и его фич не знаю. Да и какая разница, есть норм дебаггер, пусть не очень по началу удобный и стрёмный из за командной системы, но всё же лучше один раз разобраться с ним, чем всякую кучу сомнительных тулз юзать.

    Вообще странно что человек без понятия начал собирать импорты(IAT), это куда сложнее сборки инструкции. Опять же без понятия втыкая в инструменты добиться результата врядле возможно.
     
  13. ArturMurMur

    ArturMurMur New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2019
    Сообщения:
    3
    Преподаватель дал задание ни чего не объясняя