일단 파일을 다운받고 ida64로 열어보았다. scanf를 쓰는 것을 보아 버퍼 오버플로우인 것을 알 수 있었다. 그런데 문제점이 있다. 바로 오버플로우시킬 변수가 따로 없다는 것이다. 따라서 우리는 main함수의 리턴 주소를 변조해 기존 rip를 바꿔 main함수를 리턴할 때 완전히 다른 코드가 실행될 수 있도록 해주어야 한다. 그러기 위해서 일단 쉘코드를 실행시키는 함수를 찾아보았다. callMeMaybe라는 함수가 쉘을 실행시키고 있었다. 그리고 callMeMaybe의 주소는 0x400606이라는 것도 알아냈고, 따라서 우리에게 남은 것은 s버퍼부터 리턴 주소 사이의 거리를 계산하는 것이다. 일단, 이 두가지 정보로 s가 ebp-0x110에 저장돼있다는 걸 알 수 있고, 64비트이므로 sfp가 8바..