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

Лидеры

  1. youneuoy

    youneuoy

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


    • Баллы

      3

    • Постов

      128


  2. Garik66

    Garik66

    Помогаторы


    • Баллы

      1

    • Постов

      5 750


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

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

  1. Вот это: значит, что нужно заменять всё, что не опкоды на XX. Опкоды это всё, что ADD,MOV,PUSH и т.д. Не опкоды это всё, что ecx, [0x123], 2 и т.д(это операндами называется). Байты опкодов это обычно один или два первых числа каждой строчки в дизассемблере CE. Пример - mov [esi+00000FE0], упомянутый выше в теме. Здесь опкод - mov, это 8B. Посмотреть список опкодов можно, например, здесь(одна из первых ссылок в гугле): http://ref.x86asm.net/coder32.html#x0FE0.
    2 балла
  2. посмотри остальные столбцы, байты опкодов зависят от того, какие у них операнды.
    1 балл
  3. Нужно брать только байты опкодов (типа MOV, ADD и т.д.) все остальные байты заменять XX. И проверять после замены XX на уникальность сигнатуру, если не уникальная - удлиняешь дальше. Собственно идея такая - с написанием патчей для игр в основном меняются адреса, но также могут поменяться и регистры тоже, смотри мою ссылку на сообщение в пред.посте, а вот опкоды, т.е. логика кода скорее всего не поменяются (ну если это не основательные изменения в игре). Вот из-за этого та моя старая табличка оказалась такой долго живущей.
    1 балл
×
×
  • Создать...

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

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