CTF문제에서 libc파일을 제공해줬을때, 이와 같은 명령어로 바이너리를 실행시킬때 내가 원하는 라이브러리가 로드되게 할 수 있다. (LD_PRELOAD는 변수로 설정된 라이브러리를 먼저 로딩시켜주는 환경변수이다.) LD_PRELOAD=./libc.so.6 ./bypass_valid_vtable 이때 이 명령어가 segfault가 뜨는 경우가 있는데, 이걸 해결하는 방법을 적어보고자한다. 문제는 원하는 라이브러리가 로딩은 되었으나, 바이너리 내부에 연결(링킹)되어 있는 libc와 ld는 이와 다르기 때문에 발생한다. 이에 바이너리에 링킹된 libc와 ld도 우리가 원하는 버전으로 맞춰줘야한다. https://github.com/NixOS/patchelf GitHub - NixOS/patchelf: A s..