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

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

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

12 ответов

18 просмотров

Не заведётся. Опкод 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 байт), а сами инструкции ты будешь выполнять сам там, куда прыгнешь.

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта