소개글
*** 압축파일 내에 실행화면 캡쳐 화면도 있습니다. ***MFC 를 이용해서 만든 DLL In/Ejector 입니다. DLL 과 In/Ejector 소스 코드 모두 포함 하였고 PPT와 작품 요약서는 이름만 변경하시면 될 듯 합니다. 자세한 설명 다 되어 있구요. 실행 방법은 계산기나 아무 프로세스나 켠 다음 프로그램을 열면 프로세스 목록에 뜨는 해당 프로세스를 클릭하면 Process ID에 자동 입력 됩니다. 같은 폴더 안에 첨부된 DLL 파일을 같이 넣어주고 해당 DLL 의 이름을 적어 주시면 됩니다. DLL Injection DLL 인젝션 / 이젝션을 구현한 프로그램 입니다.
목차
1. 개 요2. System Architecture
3. 프로그램 구성
4. 구현 사항 & UI
5. 개선 및 추가될 사항
6. 개발환경 및 역할 분담
7. 시 연
8. Question & Answer
본문내용
What is DLL Injection?!각각 서로 다른 process 는 서로의 Memory space를 읽을 수 없이
독립되어 있다.
DLL 이란, 동적 링크 라이브러리(Dynamic-link library) 라고 불리며, 다른
프로그램에서 이용하는 함수들을 모아 둔 것이다. PE파일이 실행 되면서
같은 가상 메모리 공간으로 로드되어 사용하게 된다.
실행 파일 구조 상 프로그램에 필요한 DLL을 메모리 상에 로드 되는데,
실행 파일이 사용해야 될 함수들 이기에 같은 메모리 공간을 사용해야
다는 것이다.
요즘은 많은 악성코드가 DLL Injection을 사용한다. 이유는 위에 설명한
것처럼 특정 프로세스에 메모리 내용을 볼 수도 있으며, 일반 사용자는
DLL Injection 된 악성파일을 구별하기 힘들다는 것이다.
<중 략>
개발 환경
OS: Windows 7
Language: Win32 API, MFC
Hardware: Pentium Dual CPU 2.0Hz, Memory 2.0GHz
Tools: Visual Studio 2008
개선 사항
- DLL Load 후 바로 Free 되어 Process Explorer 에서 관찰이 힘들다.
- XP, Win7 동시 지원?! Session Manager의한 한계점
참고 자료
없음압축파일 내 파일목록
DLL_IEjector/Bin/DLL_IEjector.exe
DLL_IEjector/Bin/DLL_IEjector.pdb
DLL_IEjector/Bin/calcinj.dll
DLL_IEjector/DynamicSetEnvVar/Release/BuildLog.htm
DLL_IEjector/DynamicSetEnvVar/Release/DLLInjector.obj
DLL_IEjector/DynamicSetEnvVar/Release/DLL_IEjector.exe.intermediate.manifest
DLL_IEjector/DynamicSetEnvVar/Release/DLL_IEjector.pch
DLL_IEjector/DynamicSetEnvVar/Release/DynamicSetEnvVar.obj
DLL_IEjector/DynamicSetEnvVar/Release/DynamicSetEnvVar.res
DLL_IEjector/DynamicSetEnvVar/Release/DynamicSetEnvVarDlg.obj
DLL_IEjector/DynamicSetEnvVar/Release/mt.dep
DLL_IEjector/DynamicSetEnvVar/Release/stdafx.obj
DLL_IEjector/DynamicSetEnvVar/Release/vc90.idb
DLL_IEjector/DynamicSetEnvVar/Release/vc90.pdb
DLL_IEjector/DynamicSetEnvVar/res/DynamicSetEnvVar.ico
DLL_IEjector/DynamicSetEnvVar/res/DynamicSetEnvVar.rc2
DLL_IEjector/DynamicSetEnvVar/Common.h
DLL_IEjector/DynamicSetEnvVar/DLLInjector.cpp
DLL_IEjector/DynamicSetEnvVar/DLLInjector.h
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.aps
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.cpp
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.h
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.ncb
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.rc
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.sln
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.suo
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.vcproj
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.vcproj.MCH-PC.MCH.user
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVarDlg.cpp
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVarDlg.h
DLL_IEjector/DynamicSetEnvVar/Resource.h
DLL_IEjector/DynamicSetEnvVar/stdafx.h
DLL_IEjector/DynamicSetEnvVar/targetver.h
DLL_IEjector/SetEnvLib/Debug/BuildLog.htm
DLL_IEjector/SetEnvLib/Debug/SetEnvLib.dll.embed.manifest
DLL_IEjector/SetEnvLib/Debug/SetEnvLib.dll.embed.manifest.res
DLL_IEjector/SetEnvLib/Debug/SetEnvLib.dll.intermediate.manifest
DLL_IEjector/SetEnvLib/Debug/SetEnvLib.pch
DLL_IEjector/SetEnvLib/Debug/dllmain.obj
DLL_IEjector/SetEnvLib/Debug/mt.dep
DLL_IEjector/SetEnvLib/Debug/stdafx.obj
DLL_IEjector/SetEnvLib/Debug/vc90.idb
DLL_IEjector/SetEnvLib/Debug/vc90.pdb
DLL_IEjector/SetEnvLib/ReadMe.txt
DLL_IEjector/SetEnvLib/SetEnvLib.ncb
DLL_IEjector/SetEnvLib/SetEnvLib.sln
DLL_IEjector/SetEnvLib/SetEnvLib.suo
DLL_IEjector/SetEnvLib/SetEnvLib.vcproj
DLL_IEjector/SetEnvLib/SetEnvLib.vcproj.MCH-PC.MCH.user
DLL_IEjector/SetEnvLib/SetEnvLib.vcproj.Sarath-PC.Sarath.user
DLL_IEjector/SetEnvLib/dllmain.cpp
DLL_IEjector/SetEnvLib/stdafx.cpp
DLL_IEjector/SetEnvLib/stdafx.h
DLL_IEjector/SetEnvLib/targetver.h
DLL IEnjector 완료세미나.pptx
DLLIEjector.jpg
DLL_IEjector.exe
calcinj.dll
DLL_IEjector/Bin/DLL_IEjector.pdb
DLL_IEjector/Bin/calcinj.dll
DLL_IEjector/DynamicSetEnvVar/Release/BuildLog.htm
DLL_IEjector/DynamicSetEnvVar/Release/DLLInjector.obj
DLL_IEjector/DynamicSetEnvVar/Release/DLL_IEjector.exe.intermediate.manifest
DLL_IEjector/DynamicSetEnvVar/Release/DLL_IEjector.pch
DLL_IEjector/DynamicSetEnvVar/Release/DynamicSetEnvVar.obj
DLL_IEjector/DynamicSetEnvVar/Release/DynamicSetEnvVar.res
DLL_IEjector/DynamicSetEnvVar/Release/DynamicSetEnvVarDlg.obj
DLL_IEjector/DynamicSetEnvVar/Release/mt.dep
DLL_IEjector/DynamicSetEnvVar/Release/stdafx.obj
DLL_IEjector/DynamicSetEnvVar/Release/vc90.idb
DLL_IEjector/DynamicSetEnvVar/Release/vc90.pdb
DLL_IEjector/DynamicSetEnvVar/res/DynamicSetEnvVar.ico
DLL_IEjector/DynamicSetEnvVar/res/DynamicSetEnvVar.rc2
DLL_IEjector/DynamicSetEnvVar/Common.h
DLL_IEjector/DynamicSetEnvVar/DLLInjector.cpp
DLL_IEjector/DynamicSetEnvVar/DLLInjector.h
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.aps
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.cpp
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.h
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.ncb
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.rc
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.sln
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.suo
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.vcproj
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVar.vcproj.MCH-PC.MCH.user
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVarDlg.cpp
DLL_IEjector/DynamicSetEnvVar/DynamicSetEnvVarDlg.h
DLL_IEjector/DynamicSetEnvVar/Resource.h
DLL_IEjector/DynamicSetEnvVar/stdafx.h
DLL_IEjector/DynamicSetEnvVar/targetver.h
DLL_IEjector/SetEnvLib/Debug/BuildLog.htm
DLL_IEjector/SetEnvLib/Debug/SetEnvLib.dll.embed.manifest
DLL_IEjector/SetEnvLib/Debug/SetEnvLib.dll.embed.manifest.res
DLL_IEjector/SetEnvLib/Debug/SetEnvLib.dll.intermediate.manifest
DLL_IEjector/SetEnvLib/Debug/SetEnvLib.pch
DLL_IEjector/SetEnvLib/Debug/dllmain.obj
DLL_IEjector/SetEnvLib/Debug/mt.dep
DLL_IEjector/SetEnvLib/Debug/stdafx.obj
DLL_IEjector/SetEnvLib/Debug/vc90.idb
DLL_IEjector/SetEnvLib/Debug/vc90.pdb
DLL_IEjector/SetEnvLib/ReadMe.txt
DLL_IEjector/SetEnvLib/SetEnvLib.ncb
DLL_IEjector/SetEnvLib/SetEnvLib.sln
DLL_IEjector/SetEnvLib/SetEnvLib.suo
DLL_IEjector/SetEnvLib/SetEnvLib.vcproj
DLL_IEjector/SetEnvLib/SetEnvLib.vcproj.MCH-PC.MCH.user
DLL_IEjector/SetEnvLib/SetEnvLib.vcproj.Sarath-PC.Sarath.user
DLL_IEjector/SetEnvLib/dllmain.cpp
DLL_IEjector/SetEnvLib/stdafx.cpp
DLL_IEjector/SetEnvLib/stdafx.h
DLL_IEjector/SetEnvLib/targetver.h
DLL IEnjector 완료세미나.pptx
DLLIEjector.jpg
DLL_IEjector.exe
calcinj.dll