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

Как программно отлавливать выполнение определенной инструкции на Assembler?


Рекомендуемые сообщения

Найдена инструкция в игре (в моем случае Red Alert 3), отвечающая за изменение определенного значения. То есть, заменяя эту инструкцию "ничегонеделаньем", соответствующее значение меняться перестаёт.
Мне важно узнавать о том моменте, когда эта инструкция выполнилась. Предполагаю, что нужно прикрутить некий отладчик к игре, как это реализуется в Cheat Engine, но хотелось бы, чтобы это было реализовано через код, допустим, языка программирования C. Выполнилась инструкция, случилось событие - и мы его ловим, обрабатывая информацию, как захотим.
Вариант - просто подменить код в игре, встроив тот, что будет уведомлять об исполнении инструкции - не подходит, потому что в эту игру можно играть не только одному, но и нескольким, и игра периодически во время каждого матча проверяет, различаются ли версии игр. И в случае, если версии различаются, матч останавливается.
В любом случае я не считаю данный вариант желательным, потому что это вряд ли единственная игра, которая может сагрессировать на интеграцию чужого кода в нее. Имеет смысл придумать некую универсальную слежку за инструкциями для всех игр.

Ссылка на комментарий
Поделиться на другие сайты

Это называется отладчик... Подключай и меняй как хочешь раз приспичило, а лучше выясни где игра сравнивает различия и там подмени так что бы у тебя не отличалось от других 😀

Ссылка на комментарий
Поделиться на другие сайты

11 часов назад, imaginary сказал:

Это называется отладчик... Подключай и меняй как хочешь раз приспичило, а лучше выясни где игра сравнивает различия и там подмени так что бы у тебя не отличалось от других 😀

Я в курсе, как это называется, и уже упоминал слово "отладчик" в своем посте в правильном контексте. Речь о написанном вручную коде, который будет триггерить на выполнение инструкции Ассемблера в игре.
В итоге (пораскинув мозгами ночью) я всё равно уже решил подойти совершенно с другой стороны, отказавшись от вручную написанной сторонней отладки, а воспользовавшись некоторой информацией из памяти, потому что это менее ресурсозатратно для компьютера. Однако, тема вручную написанной отладки, на мой взгляд, интересная.

Изменено пользователем MaxSerro
Ссылка на комментарий
Поделиться на другие сайты

Отладчики тоже пишутся руками ) Потому, конечно же, никто не мешает тебе изучить тему их написания, и сделать что-то подобное с ограниченным, нужным только тебе функционалом. Другое дело, что вряд ли это стоит времязатрат. Скорее всего, действительно, желаемого можно достичь другим путем. Особенно, если учесть, что во многих играх есть антиотладочные приемы, а онлайн игры и вовсе разными способами препятствуют отладке.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

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