Мне нужно сделать код операции перехода для демонстрации эксплойта.
Мне нужно перейти примерно на 200 байт после инструкции перехода. Это слишком много для jmp short
.
Если я сгенерирую код операции с обычным переходом, jmp $200
я получу следующее:
e9 fb 01 00 00
Проблема здесь в том, что код операции содержит 00, который интерпретируется как конец строки при передаче строки программе (поэтому я не могу передать полный шелл-код с этим в нем).
Я думал, что мой подход ошибся, но затем я проверил руководство, и во второй строке есть очевидно, «прыжок на близком расстоянии», который занимает 2 байта (есть еще один, который занимает 4 байта, тот, который я показал выше). Оба этих перехода начинаются с одного и того же байта e9
.
Как я могу передать e9 fb 01
в качестве ближайшего перехода, который принимает только два байта аргумента? Как мне запретить ОС искать четыре байта после e9
, то есть: e9 fb 01 90 90
?