본문 바로가기
728x90
반응형

정적컴파일2

해커스쿨 FTZ level19 (HackerSchool) 풀이 힌트를 보자 뭔가 굉장히 심플하다. 지금까지와는 다른점을 찾아보자면 이전에는 uid를 바꿔주는 코드가 써있었고 우리는 shell을 띄워주는 쉘코드를 환경변수에 등록해서 그 주소를 덮어씌워서 문제를 해결했었다. 그런데 이번엔 uid를 바꿔주는 setreuid() 함수가 없다. 그러다는 건? shell을 띄워주는 것과 마찬가지로 setreuid()를 실행해주는 쉘코드를 만들어야 한다! blog.naver.com/sungwhan4854/221787627860 FTZ level11 (3) 쉘 코드 level11이번시간에는 쉘 코드에 대해 배워보겠다.​1. 쉘 코드 - 쉘 코드는 터미널에 입력한 명령을 해석하... blog.naver.com (대부분의 내용은 위의 블로그에서 익혔습니다. 보다 자세하게 설명되어 있.. 2021. 3. 29.
C언어, 컴파일, 동적 컴파일, 정적 컴파일, 동적 라이브러리, 정적 라이브러리 우리가 작성한 C 코드는 다음의 과정을 거쳐서 실행파일이 된다. 작성한 코드(.c)가 컴파일러에 의해 오브젝트 파일(.obj)이 되고 링커에 의해 라이브러리와 링크되어 실행파일(.exe)이 만들어진다.  우리가 프로그램을 만들 때 수 많은 함수를 사용하게 된다.printf, scanf 등 이렇게 많은 함수들을 일일이 정의 할 수 없으니 만들어 놓은게stdio.h 와 같은 라이브러리 이다. 이 라이브러리를 링크하는 모양에 따라 동적이냐 정적이냐가 나뉘게 된다. 그림으로 먼저 보자.우리가 별도의 설정 없이 프로그램을 만들면 동적 라이브러리(DLL : Dynamic Link Library) 방식으로 만들어진다.실행파일이 만들어지고 라이브러리가 연결되어서 필요 시 접근해서 가져다 쓰는 방식이다.즉 .exe 파일.. 2021. 3. 29.
728x90
반응형