C # Теоретический: написать JMP для кодовой пещеры в asm

Предположим, что я выделил адрес, где размещена моя кодовая пещера, используяVirtualAllocEx (он возвращает адрес), и я пишу свой код в этот адрес, используяWriteProcessMemory().

Вот вопрос:

Как мне написать переход к моей кодовой пещере? Я знаю, что прыжки начинаются с "E9", но как мне преобразовать адрес, возвращенныйVirtualAllocEx в правильный UInt32 (dword), чтобы отладчик / компилятор понял инструкцию?

Например:

Я по адресу00402020 (OEP родного приложения). Я пишу прыжок в004028CF (пустое место)JMP 004028CFMsgstr "Инструкция в байтах выглядит так:

CPU Disasm
Address   Hex dump      Command                                  Comments
00402020  E9 AA080000   JMP 004028CF

"E9«Вот как мы указываем JMP. Как насчет»AA080000", как мне это сгенерировать?

Мне нужно сделать что-то подобное, чтобы я мог инициализировать JMP к моей кодовой пещере, которая будет расположена по адресу, возвращенномуVirtualAllocEx().

Любая помощь будет с благодарностью!

Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос