일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 자바
- java
- 스프링
- 1과목
- 코딩봉사
- MYSQL
- BFS
- 정보처리산업기사
- SW봉사
- 프로그래머스
- 코딩교육봉사
- 데이터베이스
- 백준알고리즘
- softeer
- 파이썬
- python
- 알고리즘
- 소프티어
- 시나공
- C++
- 회고
- 백준
- kotlin
- 공부일지
- 백준 알고리즘
- CJ UNIT
- SQL
- 문제풀이
- programmers
- 코틀린
Archives
- Today
- Total
JIE0025
DLL(Dynamic Linked Library) 이란? 본문
728x90
악성코드 분석 강의를 듣는 중, 용어가 생소해서 자꾸 까먹는 이유로 게시글로 정리했다 ㅠㅠ
DLL 은 Dynamic Linked Library의 약자이다. 동적 연결 라이브러리라고 부른다.
- 라이브러리란 SW 개발 시 자주 사용하는, 기초적 함수들의 중복 개발을 피하기 위하여 표준화된 함수, 데이터 타입을 만들어 모아놓은 파일을 얘기하는데, 동적 연결 라이브러리란 각 실행파일에서 해당 라이브러리의 기능을 사용할 때(요청 시) 파일을 참조해 호출한다.
요약하자면, 각 프로그램이 어떤 기능을 사용할 때, 그 기능은 DLL 파일로서 저장되어 있다는 뜻이다.
DLL 장점
- 실제 메모리에 로드되는 중복 코드를 줄인다.
- 모듈식 프로그램 개발 가능
- DLL 내 함수 수정 시 프로그램 재 연결이 필요하지 않다.
추가 개념
DLL 인젝션?
실행중인 다른 프로세스에 특정 DLL 파일을 강제로 삽입하는 기술
일반적 DLL 로딩 VS DLL 인젝션
일반적 DLL : 프로세스가 스스로 자신이 필요한 DLL 들을 로딩해서 사용
DLL 인젝션 : 다른 프로세서가 DLL을 삽입
> LoadLibrary() API를 호출하도록 명령, 유도 해 공격자가 원하는 DLL을 로딩하는 것
프로세스에 DLL 로딩시 자동으로 DLLMain()이 호출되는데 DLLMain()에 코드 추가 시 DLL 인젝션 한 파일을 실행되게 할 수 있다.
'기타 학습 > 보안' 카테고리의 다른 글
[악성코드분석] CodeEngn 코드엔진 Basic RCE L05 (0) | 2020.04.19 |
---|---|
[악성코드분석] CodeEngn 코드엔진 Basic RCE L04 + 정상 띄우기 (0) | 2020.04.17 |
[악성코드분석] CodeEngn 코드엔진 Basic RCE L03 + 추가 분석 (0) | 2020.04.11 |
[악성코드분석] CodeEngn 코드엔진 Basic RCE L02 (0) | 2020.04.11 |
[악성코드분석] 문자열 패치 실습 (0) | 2020.03.30 |