sonysame 2016. 10. 12. 18:50


꽤 까다로운 코드이다.

check에 0xdeadbeef가 들어가야 한다.


string->check->x->count순으로 스택에 쌓이고, 주소값이 작아진다.

따라서, string을 이용해 버퍼오버플로우를 시킬수없다.


그러므로, string[음수값]을 이용한다.


count--을 이용해야 한다.

 









을 통해

str:     ebp-100

check: ebp-104 

x:       ebp-108 

count: ebp-112 


임을 알 수 있다.


count를 -4로 만든다음,, check를 deadbeef로 만들 수 있다.