1. DLL이란?
- Dynamic Linked Library의 약자로써 자주 사용하는 함수들이 있다고 보면 됨
2. DLL을 호출하는 원리
- 프로그램을 실행하고 DLL을 불러오는 LoadLibrary()를 호출한다
- 해당 DLL이 불려진다
- 그 DLL안의 DllMain()이 실행된다.
3. DLL의 기능
- 기능 개선 : 전혀 새로운 기능이 들어가거나 불필요한 부분이 제거될 수 있다.
- 버그 패치 : 문제가 있는 코드와 데이터를 수정할 수 있다.
4. DLL 인젝션이란?
- 다른 프로세스에 특정 DLL파일을 강제로 삽입 시키는 기법
5. DLL 인젝션이 사용되는 이유?
- 삽입된 DLL을 통하여 여러가지 행위가 가능
- 메모리의 접근권한을 자유롭게 얻어 활동 가능한게 DLL이다.
- 뭐든 악의적으로 이용이 가능하다.
6. 실생활에서 쓰이는 곳
- 유해 프로그램, 사이트 차단 프로그램
- 기능 개선 및 패치
- API 후킹
7. 예시 시나리오
- Notepad.exe를 실행하고 여기에 임의의 DLL을 넣고 메시지창을 띄운다.
- 키로거가 대표적
'Reversing > Reversing Theory' 카테고리의 다른 글
(추천영상) IDA Pro를 이해하는데 좋은 콘텐츠 (0) | 2018.01.24 |
---|---|
함수 호출 규약(Calling Convention) 간단 정리 (0) | 2017.07.04 |
PE 섹션 정리 (Section) + 메모리 구조 (0) | 2017.07.04 |
악성코드 분석 툴 종류 (0) | 2017.07.04 |