나는 악용 사례를 작성하고 최근에 shellcode을 작성했으며 많은 사람들이 guides/books 중 많은 부분에서 스택이 시작되는 위치를 추측 할 수 있다는 것을 알게되었습니다. 그러면 작은 작업으로 우리 쉘 코드가 시작되는 스택의 주소를 추측 할 수 있습니다.스택이 반복적으로 사용될 수있을 정도로 예측 가능한 주소가 시작되지만 예측할 수없는 것으로 보이는 이유는 무엇입니까?
- 왜 스택 시작 주소가 예측 가능합니까? 메모리의 임의의 주소에서 스택이 시작되지 않아야합니까?
- 스택의 주소 시작이 가상 주소 공간의 일부 고정 오프셋 인 경우 시스템마다 컴퓨터가 다른 이유는 무엇입니까?
- 서로 다른 플랫폼 간의 오류 마진과 스택 시작 주소는 어떻게됩니까?
: 내 테스트 Address Space Layout Randomization (ASLR)를 들어 "the stack begins with the same address for every program", Address woes from Hacking: The Art of Exploitation, Why does the stack address grow towards decreasing memory addresses?
편집가 꺼집니다.