Я никогда не писал на асме, но недавно попалась книженция Тома Свана по асму и понеслось...
Итак:
Например, загоню в стек слово-опкод 90С3h, то есть просто ret, nop.
И мне хочется выполнить этот ret.
Как всем известно, ret берет свой адрес тоже из стека.
Что-нибудь вроде:
push token
push 90C3h
;...
;Какие-то манипуляци со стеком, чтобы ret правильное значение брал
;...
jmp esp
token:
метка нужна для ret'а, такая замена call'а.
Вообщем, на этом мысль останавливается. Кто-нибудь, скажите что-нибудь по этом поводу. Нужно просто передать управление в область стека, в которой выполниться ret и вернет управление программе.
Цель — отравить жизнь себе и недобросовестному пользователью.