전체 글
https://github.com/SFrlawoals/SF_BlogSystem Hacking/Study Notes
LD 와 libc.so.6
# LD ? 파일마다 libc 를 로드하는데 있어서 버전마다 이름이 다르면 호환성이 떨어진다 그래서 모든 파일은 libc.so.6 과 ld-linux-x86-64.so.2 라는 이름의 libc파일과 ld 링커를 로드한다 이 때 libc.so.6 과 ld-linux-x86-64.so.2 는 심볼릭 링크가 걸려있어서 상황에 따라 다른 libc를 참조할 수 있다 여기서 ld 는 libc.so.6 의 함수(라이브러리)들을 가져오는 역할을 하는데 init 함수에서 libc 로드하는 과정에 stack으로 push 되는 루틴이 있다 그래서 가끔 stack에 ld 주솟값이 남아 있는 경우가 보인다 # 어떻게 적용할까? 포너블 문제를 풀 때 종종 binary 뿐만 아니라 libc 파일도 주어지는 경우가 있다 이 경우에 ..