이번 문제는 Heap 메모리에서의 오버플로우를 이용하여 함수 포인터를 덮어씌워 흐름을 제어하여 문제를 해결하였다. Stack => 함수의 지역변수들의 공간 (공간의 사이즈는 변경될 수 없음.)Heap => 주소만 알고 있으면 어디서든지 접근이 가능하다. 사이즈를 변경할 수 있고, 할당 받을 사이즈도 직접 정할 수 있다. 가변적인 공간이 필요한 경우 사용되는 공간이다. 원하는 만큼 할당 받고, 사용하지 않을 때는 다시 시스템으로 돌려줘야 하는 공간이다. 해당 프로그램이 종료되면 공간을 돌려주지 않아도 자동적으로 공간이 시스템에게 돌아간다. 프로그램이 계속 실행 중이라면 그만큼 메모리 (RAM)을 잡아 먹기 때문에 프로그램 최적화가 되지 않았다고 할 수 있다. 최적화가 덜 되어 있으면 렉이 걸리고, 메모..