4 байта в конце выделенной инструкции, но они в little endian, т.е. первый байт младший,и последний старший. Плюс арифметика. Плюс если ты работаешь с файлом, тебе нужно пройти по таблице секций, чтобы узнать виртуальный адрес инструкции. Ну и форматов там много, вручную декодировать веселого мало. Возьми дизасм лучше. Традиционно советую capstone-engine.
Так спроси в чате по С++.
Зачем тебе его вообще читать из инструкции, если ты уже и так знаешь смещение. Просто находишь базовый адрес модуля client.dll, и потом просто прибавляешь к нему 0x4795B28. Если только твоей целью не стоит просто чтение адреса из инструкции.
смещение меняется каждый раз
Как меняется то... Если меняется RVA смещение, значит там виртуальный размер функции\программы где-то переменный, между двумя этими прыжками.
Обсуждают сегодня