미리 알아둘 것 _IO_FILE 구조 이해 (기본적인 리눅스 파일시스템 관리 구조) 이번에는 파일의 데이터를 이용해 다른 파일이나, 화면에 쓰는(표준출력; Standard output)데 사용되는 fwrite() (또는 fputs() 함수)의 작동 원리에 대해 이해하고 이것이 어떻게 악용될 수 있나 살펴봅니다. 우선 (적어도) C언어에서는 파일을 다루기 위해서는 대상 파일을 여는 작업이 필요하며, fopen() 함수를 통해 이를 수행합니다. 이렇게 파일이 열리게 되면, fopen() 함수는 파일을 다룰 수 있는 고유한 값인 file descriptor를 제공하게 되며, 이를 통해 파일에 입출력을 할 수 있습니다. 이때, C/C++를 포함한 많은 프로그래밍 언어들은 fopen() 등의 메서드를 통해 파일이 열리고 나서 발생하는 모든 입출력(I/O) 흐름을 IO Stream이라고 합니다. FILE* fopen (const char* fileName, const char* fileMode...
#_IO_FILE
#struct
#system
#vtable
#구조분석
#원리
#자료구조
#콜스택
#함수
#함수분석
#linux
#kernel
#glibc
#_IO_jump_t
#analysis
#C
#Clang
#CS
#C언어
#exploitation
#flag
#fwrite
#해설
원문링크 : glibc를 통한 fwrite() 실행 구조 분석