buflab of CSAPP의 문제입니다. 스택을 손상시킬만큼 충분히 오랫동안 일부 익스플로잇 코드를 입력하라는 메시지가 표시됩니다. 2 단계에서 먼저 global_value이라는 전역 변수의 값을 변경 한 다음 bang이라는 함수를 호출해야합니다. 그러나, 나는 강타의 주소를 스택에 넣고 돌아 오는 경우에만 작동합니다.현재 실행중인 함수에서 빠져 나올 수 있습니까?
#codes before set the value of global_value
movl $0x12345678,%eax /* 0x12345678 is the address of bang */
push %eax
ret
나는 그 때 나는 완전히 GDB와 0x5abcdefg 같은 곳에서 길을 잃었다
#codes before set the value of global_value
jmp 0x12345678
같은 직접 점프를 사용하는 경우. 누구든지 도울 수 있니? 이것은 모드의 주소 지정과 관련이 있습니까?
' longjmp() ' –