완료됨
ex2 & ex3 질문
안녕하세요.
ex2 예시를 보면 buf보다 한칸 앞에 있기때문에 idx를 -1로 넣어서 예시 성공 할 수 있었습니다.
ex3 예시를 보았는데 idx에 -pow(2,31)이 -pow(2,31)이 되니까 idx에 -pow(2,31) 값을 넣으면 음수 값을 얻어서 win에 접근하여
예시 성공 할 수 있었는데요.
질문이 몇가지 있습니다.
-
ex3의 경우 음수를 얻을 수 있는 음수가 -pow(2,31)만 존재하나요? 다른 경우를 생각해봐도 없는거같네요. 있다면 컴파일러마다 차이가 있을수 있나요?
-
buf 앞에 dummy때문에 win접근하려면 idx가 -8이 필요하게 되는데 여기 win보다 낮은 메모리에 할당된 공간이 없으니까 -pow(2,31)해도 그냥-8 idx위치인 win을 가르키는건가요?
-
질문2가 맞다면 ex2에서 idx를 -2, -5, -9 등등의 값을 줬을때 성공하지 못하는 이유를 설명해주세요.
감사합니다!
#시스템해킹
작성자 정보
답변
2
ch4rli3kop
워게임: 20
- 맞습니다. 음수 값은 -pow(2,31)만 존재합니다.
- -pow(2,31)은 실제 메모리 상에서 0x80000000입니다. 해당 값을 10으로 나누기떄문에 -8이 됩니다.
Itachi
워게임: 1
이해하는데 큰 도움이 되었습니다. 2의 보수형식으로 음수를 나타낸거군요. 감사드립니다.