Пожалуйста, обратите внимание, что пользователь заблокирован
Nops-slide - это старинная техника, придуманная с целью облегчения процесса эксплуатации. Суть данного метода заключается в том, что при размещение в памяти команды NOP процессор пропускает этот участок кода и переходит к выполнению следующей инструкции.
В старину, в реверсе обычно когда хотят обойти какую-либо проверку в коде, этот участок кода затирали нопами. К примеру проверка лицензии или же совершенно иной код, который выполняет какие-либо другие действия - затирается нопами, чтобы этот код не выполнился.
Ассемблерная команда NOP обозначает No operand - нет операнда, и она ничего не делает, поэтому когда процессор встречает эту команду он переходит к выполнению следующей команды (инструкции), но при этом размер этой команды равен 1 байту.
Опкод ассемблерной команды NOP в шестнадцатеричной системе счисления равен 0х90.
Если в реверсе мы затираем не нужный код последовательностью байт 90 90 90 90 90 90 90 90 ... чтобы он не выполнился, то сплойт-деве этот трюк нужен для того, чтобы забить память мусором и скатится словно зимой на санках с горки к адресу нашего шеллкода. Этим путем мы наверняка попадем на адрес шеллкода.
Nops-Slide + Shellcode
Обычно около 50 байт вполне хватает, чтобы наверняка скатиться на шеллкод.
От сюда и название техники ноп-"слайсы", ноп-"сани", кто как называет.
В arm будет работать инструкция
итд. аналог nop, которая занимает 4 байта.
xss.pro (c) by weaver
В старину, в реверсе обычно когда хотят обойти какую-либо проверку в коде, этот участок кода затирали нопами. К примеру проверка лицензии или же совершенно иной код, который выполняет какие-либо другие действия - затирается нопами, чтобы этот код не выполнился.
Ассемблерная команда NOP обозначает No operand - нет операнда, и она ничего не делает, поэтому когда процессор встречает эту команду он переходит к выполнению следующей команды (инструкции), но при этом размер этой команды равен 1 байту.
Опкод ассемблерной команды NOP в шестнадцатеричной системе счисления равен 0х90.
Если в реверсе мы затираем не нужный код последовательностью байт 90 90 90 90 90 90 90 90 ... чтобы он не выполнился, то сплойт-деве этот трюк нужен для того, чтобы забить память мусором и скатится словно зимой на санках с горки к адресу нашего шеллкода. Этим путем мы наверняка попадем на адрес шеллкода.
Nops-Slide + Shellcode
\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" + шеллкод
Обычно около 50 байт вполне хватает, чтобы наверняка скатиться на шеллкод.
От сюда и название техники ноп-"слайсы", ноп-"сани", кто как называет.
В arm будет работать инструкция
mov r0, r0
итд. аналог nop, которая занимает 4 байта.
xss.pro (c) by weaver