level 161 해커스쿨 F.T.Z Level 16 level 16 로그인 후 hint를 본다. level 16에서는 함수를 선언해 main에서 함수를 불러 실행한다. hint에서는 shell 함수가 사용되지 않고 있고 printit 함수만 사용된다. 이 정도만 봐도 hint는 대충 파악이 될 것으로 생각한다. 이제 gdb를 열어본다. gdb에서 중요한 것은 main+3, main+6, main+36, main+39다. main+3에서 0x38(56)byte를 확보 후 main+6에서 0x8048500 주솟값을 ebp-16에 저장한다. main+36에서 ebp-16을 eax에 저장하고 main+39에서 call 한다. gdb를 보고 프로그램을 실행하면 0x8048500의 주소에 무슨 데이터를 가졌는지 알 수 있다. "Hello there!"가 나오는 거로.. 2020. 2. 27. 이전 1 다음