2011-04-10 2 views
0

오브젝트 코드 '\ xeb \ xfe'로 변환되는 "jmp short 0x0"명령은 프로세스가 계속 반복 될 것이라고 말합니다. 이것이 정확히 어떻게 작동합니까?jmp 짧은 0x0 루프가 영원히 발생합니다

+0

.... –

+2

여기서 '0x0'은 프로그램 카운터에 대한 상대적 오프셋 +0입니다. 그러나 일부 명령 세트 (예 : 68k)에서 오프셋은 시작보다 오히려 명령 중간에있는 어딘가를 기준으로합니다. 즉, 무한 루프를 얻으려면 -2 또는 유사한 오프셋으로 점프해야합니다. –

답변

3

이 질문은 솔직하지 않은 것처럼 보이지만, 의심의 이익을주는 이유는 지침이 그 자체로 도약을 유도한다는 것입니다. \xeb\xfe은 "다음 명령어의 시작에서 앞으로 -2 바이트 건너 뛰기"로 문자 그대로 변환됩니다. 이 명령어 자체는 2 바이트 길이이므로 점프 대상은 점프 명령어 자체가됩니다.

관련 문제