Я пишу цепочку роуд для уязвимой программы (переполнение стека с включенным NX и ASLR).Плохие символы в обратном ориентированном программировании
Я следую за выполнением своих гаджетов, наблюдая указатель стека на gdb peda. Он работает хорошо, кроме случаев, когда он встречает гаджет mov[eax], edx; ret
. Этот гаджет будет выполнен, но после этого есть push ebx
, даже если я не помещал в свой ROP такой гаджет. И в итоге мой подвиг не работает.
Я пробовал с разными регистрами эту инструкцию, и всегда есть push ebx
, и я не знаю почему.
У кого-нибудь есть идея?