이번엔 내가 제일 쉽게 풀었던 1996 문제를 풀어보겠다. 우선 1996 바이너리부터 checksec 해보자. 64bit 기반의 쉘 코드 사용이 불가능한 바이너리인 것을 알 수 있다. IDA로 무슨 프로그램인지 디컴파일해보자. 이 main은 g++ pwn 문제처럼 C++ 기반으로 작성되었다. 그러나 걱정할 필요 없다. name을 cin으로 받기 때문에 길이 제한이 없다. 따라서 0x410+8byte만큼 dummy를 채우고 RET 자리에 spawn_shell(void) 함수의 첫 주소를 주면 된다. 이 함수의 첫 주소는 0x400897이다. exploit code를 작성해보자. 실행시켜보면....! flag가 나오는 것을 볼 수 있다.