← All Posts

[TIL] 260928 공부기록

카나리 공부하기

TIL#

오늘은 오전에 블로그 폴더정리랑 ci캐시문제를 해결하느라 오전을 다 보냈다…ㅎ 그 이후에 오후에는 2번 문제에 매진했는데 2번을 어떻게 접근해야되는지조차 감도 안왔다.. 다행히 주석에서 어떻게풀어야되는지 힌트가 결정적이였던것같다…ㅠ 거의 밤 10시 될때까지 고민해봤던것같다

카나리가 뭔지 오히려 잘못이해하고있었어서 햇갈려했었던것 같기도하다

배운점#

기존 내가 이해했던것은 스택 카나리가 감지되면 오버플로우를 막는 장치라고 잘못오해하고있었는데 2번디버깅랩 문제를 풀면서 스택손상만 탐지하는 장치로 이해했고 그냥 처음에 배열 마지막 인덱스값만 찾아서 코드를 봤다면 사실 끝나는 문제긴 했지만 왜 이런 결과가 발생했는지 알기위해선 gdb를 깊게 더 파서 왜 이런 결과가 일어나는지 메모리주소를 역추적 하는 단계까지 밟아보았다.. 물론 ai의 도움으로 해본거긴 하지만 제대로 이해는 하지 못했다.. 어셈블러는 너무 어려운것같았고.. 하지만 메모리 역추적을 통해서 카나리가 어디 부근으로 찾고 발생하는지 이런식으로 찾는구나를 이번기회에 알게된것같다.

느낀점#

메모리 주소 역추적에 관련된건 gdb를 더깊게 파고 알게되면 다시 공부해보고싶다. 특히 이번 메모리 주소 역추적하면서 진법변환에 대해 공부할 필요성도 좀 느꼈다;; 혼공컴운에서 봤던 변환계산을 다시 한번 봐야될것같다.