Перейти к содержанию

Лидеры

  1. Garik66

    Garik66

    Помогаторы


    • Баллы

      3

    • Постов

      5 750


  2. MasterGH

    MasterGH

    Ветераны


    • Баллы

      2

    • Постов

      2 999


  3. Xipho

    Xipho

    Администраторы


    • Баллы

      1

    • Постов

      4 023


  4. partoftheworlD

    partoftheworlD

    Пользователи+


    • Баллы

      1

    • Постов

      2 687


Популярный контент

Показан контент с высокой репутацией 12.04.2020 во всех областях

  1. unepic.exe+2D455: 8B 15 888C6800 - mov edx,[00688C88] // цветами показан обратный порядок следования байт, просто так инструкции следует "перевернутыми" 8B 15 - это бинарный/байтовый код инструкции mov edx Во многих играх после перекомпиляции кода, инструкции сохраняют последовательность, но меняются смещения и адреса внутри. Можно попробовать в сигнаруте искать по первым начальным байтам последовательность инструкций, но в этом случае нужно умело править код. Т.е. содержимое инструкции, смещения, адреса могут поменяться. Т.е. если mov edx сохранил свое положение в сигнатуре, то вот адрес [00688C88] уже может быть другим, а точнее 90% будет другим и инъекцию кода уже надо делать не зарнее подготовленную, а генерируемую или как-то еще копируя участки кода и т.п. По опыту небольшого исследования, могу сказать есть инструкции, которые очень просто подходит для редактирования с такими "гибкими" сигнатурами: например по смещениям просто, что-то нопить. А есть инструкции, которые не достаточно нопить, а есть типа этой unepic.exe+2D455: 8B 15 888C6800 - mov edx,[00688C88] где нужно танцевать с бубном, т.к. будущая инъекция кода еще не известна, а будет известно на какой-то игре
    2 балла
  2. Зачем скрин, если есть целый видос. Я не помню. что там у меня в видосе, но если даже @MasterGH написал: то видимо все довольно подробно. А так обрати внимание на логи в скрипте: пересмотри видео и думаю поймешь - почему я смещаю на два байта.
    2 балла
  3. Я видео не смотрел, но предполагаю, что эти два байта пропускаемые - это два байта самой инструкции, а дальше начинаются значения операндов. Покопай в эту сторону. Правда, тут нужно уже в ассемблер немного погрузиться. Как минимум, нужно посмотреть мнемонику инструкции, которая начинается за меткой code.
    1 балл
  4. Угу, все правильно будет вне зависимости от разрядности системы. Специально перепроверил. x86 - абсолютный адрес(никакие вычисления не нужны) x64 - относительный адрес (нужны вычисления)
    1 балл
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.