169 похожих чатов

Есть инструкция xor eax, eax, занимает два байта. Если эти

два байта пропатчить на mov eax, 0x04, что будет 0xB8, 0x04, 0x00, 0x00, 0x00, только откинув три последних байта, то нормально заведется?

12 ответов

5 просмотров

Не заведётся. Опкод 0xb8 хочет, чтобы за ним был 32-битный immediate. Можешь найти где-нибудь рядом пустой/ненужный кусок кода, воткнуть туда jmp (как раз влезет), там что-то сделать и воткнуть jmp обратно.

Нет, не заведётся, можешь попробовать B004

Igor-Okhremchuk Автор вопроса
Самый маленький
Нет, не заведётся, можешь попробовать B004

А старшие биты регистра обнулятся разве?

тебе нужен опкод с однобайтовым immediate, вроде был такой

вообще тут недавно скидывали кошерную табличку с инструкциями опкодами https://t.me/ChatAssembler/167929

Igor-Okhremchuk Автор вопроса
s54820
Не заведётся. Опкод 0xb8 хочет, чтобы за ним был 3...

А как jmp воткнуть в два байта? Что должно выступать операндом?

Igor-Okhremchuk Автор вопроса
Mixail Frolov
относительно смещение

То-есть оно не может быть больше, чем 255?

Igor Okhremchuk
То-есть оно не может быть больше, чем 255?

Смещение со знаком от следующей за jmp инструкцией до целевой инструкции. Т.е.: 1234: 31 с0 → eb ?? → eb (target - 1236) 1236: ...

Igor Okhremchuk
То-есть оно не может быть больше, чем 255?

Не может быть больше 127 вперёд и -128 назад. Но ты можешь забрать под jmp следующую/следующие инструкции тоже, тогда jmp станет безлимитным (5 байт), а сами инструкции ты будешь выполнять сам там, куда прыгнешь.

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
11
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
9
это группа токсиков или тех кто помогает?
Ибрагим
9
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
У кого-нибудь есть под рукой функция кодирования юникода, которая из фразы На русском сделает \u041d\u0430\u0020\u0440\u0443\u0441\u0441\u043a\u043e\u043c ?
Daniil Smolyakov
7
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта