마지막쯤에 롸업 봤지만 확실히 이해했다.
main을 두개로 쪼개서 살펴보자.
main 윗부분
maxlen을 128로 해주고,
maxlen = maxlen - readline(name, 128) 을 한다.
readline에서 문자열을 입력 받는데, 난 'AAAAAAAA엔터'를 입력했다. (길이 9)
미리 스포하자면 readline의 반환값은 8이고, maxlen은 120(0x78)이 된다.
이제 desc에다가 malloc(0x20)을 하고 readline으로 desc에 32만큼 임력받는다.
desc 에는 함수 포인터가 저장된다. (주석에는 0x603260이지만 디버깅 사진은 0xfb4260이다. 걍 두번 돌려서 주소 다른겨 ㅠ)