오늘 알아볼 것
- dll파일은 도대체 뭘까?
목차
- 열어가는 글.
- dll 파일이란?
- dll의 장점.
- 결론
열어가는 글.
많은 프로그램을 보다보면 .dll파일을 발견할 수 있다.
당장 배틀넷 오류로 dll파일을 찾을 수 없습니다가 떴던적도 있고, 옛날 초등학교 시절에 rpgxp가지고 아오오니할때도 저 dll파일 몇개 없어서 실행 못해서 그 dll 파일 찾으려고 엄청 해맸던 기억이 있었으니 말이다.
오늘은 이 .dll파일이 도대체 어떤 역할을 하는지 알아보는 시간을 가질것이다.
dll 파일이란?
- Dynamic link library의 준말로써 동적 링크 라이브러리로 불린다.
- 함수들을 모아 놓은 라이브러리 파일.
라이브러리 파일?
- 함수, 데이터,타입 등 여러가지 프로그래밍 요소들의 집합이자 보통 .lib와 같은 확장자를 가지는게 대부분이었다.
저런 함수,데이터,타입들을 예전에는 코드에 직접 넣어서 만들었는데 이는 엄청 비효율적이고 실행속도를 저하시키는게 다반사였다.
근데 저 라이브러리 파일을 만듦으로써 반복되는 기능이나 자주 쓰이는 기능을 외부 파일에 모아둬서 필요할때마다 불러 쓰는 파일이라고 볼 수 있다.
++ 저 lib는 정적 라이브러리라고도 불린다.
근데 저 위에서는 '동적'이 붙으면서 dll로 되는것이다.
- 많은 프로그램들이 dll 파일들 안에 있는 함수들을 호출한다고 한다.
- 이 파일은 동적 링크를 사용하며, 이는 실행 중에 라이브러리에 있는 함수를 호출하는 것이라고 한다.
----> 그렇기에 많은 프로그램들이 수많은 기능을 프로그램에 포함시키지 않고도 사용할 수 있다고 한다.
dll의 장점
- 한 코드를 여러 프로그램이 동시에 사용하기 때문에 메모리가 절약된다.
- dll을 바로바로 교체해줘서 더욱더 효율적인 업그레이드가 가능하다.
- 코드의 양이 적어지므로 디버깅이 용이해진다.
결론
여기서 왜 dll을 알아보았는가? 에 대한 의문이 들었다.
물론 저 dll을 알아서 프로그래밍 하는데에 있어서 아주 좋고 그냥 지식이 늘어나니 좋은거지! 하는 생각도 있었다.
근데 이런 공부를 하는 이유가 system에 있을 해킹을 방지하고자 공부하는것이니, 여기에 대한 취약점이 있지 않을까? 하는 생각을 하게 되었다.
그래서 dll과 관련된 취약점을 찾아봤다.
1. dll hijacking - dll파일의 절대경로가 지정되지 않았을 경우 필요한 dll 파일이 위치한 경로보다 우선 순위가 높은 디렉토리에 공격자의 dll의 파일을 위치시켜서 악읮거인 코드를 실행 시키는 수법.
etc..
이와 같은 수법이 있다는것을 알게 되었다.
출처 및 참고 -
https://tedock.tistory.com/331
DLL 파일이란?
■ 라이브러리라이브러리(Library)란 함수,데이터,타입 등 여러가지 프로그래밍 요소들의 집합이며 보통 LIB확장자를 가진다. (DLL사용시 h,dll파일 필요) 자주 사용되는 표준적인 함수를 매번 직접
tedock.tistory.com
https://ko.wikihow.com/DLL-%ED%8C%8C%EC%9D%BC-%EC%97%AC%EB%8A%94-%EB%B2%95
DLL 파일 여는 법: 10 단계 (이미지 포함) - wikiHow
동적 링크 라이브러리(Dynamic Link Library) 파일, 줄여서 DLL 파일이라고 하는 파일은 여러 가지 윈도우 프로그램에서 많이 사용되는 파일의 형태이다. DLL 파일들을 통해 프로그램에 부가적인 기능이
ko.wikihow.com
'System & Reversing' 카테고리의 다른 글
x86 / x64 레지스터에 대한 고찰. (0) | 2023.03.20 |
---|---|
GNU(GCC 컴파일러)와 그 과정 안에서 나오는 파일들에 대한 고찰. (1) | 2023.03.13 |
어셈블리 핸드레이에 관한 고찰. (0) | 2023.03.13 |
함수 프롤로그, 에필로그에 대한 간단한 고찰. (0) | 2023.03.13 |
컴퓨터 메모리 구조에 대한 간단하지 않은 고찰. (1) | 2023.03.12 |