운영체제(Operating System) - Dll Injection
- 최초 등록일
- 2011.10.17
- 최종 저작일
- 2011.10
- 4페이지/
압축파일
- 가격 4,900원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
단국대학교 조성제교수님 운영체제과제로 나온 Dll Injection에 관한 과제입니다.
주어진 exe파일에 인젝션을 시도하는 Injector소스와, 기능을 수행하는 dll 파일의 소스파일이 포함되어있습니다.
Injection.dll파일을 먼저 컴파일하여 dll파일을 생성한후,
원하는 경로에 놓으시고, Injector.cpp파일에서 해당 dll경로를 정확하게 적어주셔야 작동이됩니다.
주어진exe파일을 실행후, injector.cpp를 컴파일 시키면, 같은경로에 secret.txt가 생성되어 해당 문자열을 확인 하실 수 있습니다.
본 과제는 단국대학교 조성제교수님의 운영체제 수업에 나왔던과제이므로 해당 과제에 어려움을 겪는분들이 참조하시면 좋을것 같습니다. 해당 소스에는 주석이 모두 포함되어있습니다.
Visual Studio 2008에서 작성되었으며, Windows 7에서 실행하였습니다.
목차
없음
본문내용
주어진 Multithread.exe를 실행시키면 20초후에 특정주소가 출력되는데,
그 특정주소에 숨겨진 문자열을 Dll Injection을 구현하여 어떤 방법으로든 확인하라.
<- MultiThread.exe를그냥 실행시켰을때의모습
<- Process Explorer를실행시켰을 때MultiThread.exe의상태
3 -
Injector는 프로세스 이름을 기준으로 PID를 검색하여 Dll Injection을 시키고, dll파일은 MultiThread.exe가 있는 폴더에 secret.txt를 생성하여 문자열을 저장, WinEx를 통해 그 메모장을 자동으로 열도록 설계하였다.
Dll Injection을 이용하여, 본인이 만든 Injector와 dll파일을 인젝션시켜서 수행해 보았다.
<- 그냥 Injector만 실행시켰을 때의 화면
이름이 ProcessList에 ProcessName(MultiThread.exe)이 존재하지 않아 뜨는 오류메세지
<- MultiThread.exe를실행시키고 Injector를실행시킨모습.DllInjection.dll이Inject되었고,다른 많은 dll파일들도 추가로딩된 것을 알 수 있다.(파일열기에 실패할 경우 오류창으로윈도우박스를 띄우는등에 필요)
<- Injection에 성공하였을 경우에 Injector의 실행 결과.
<- MultiThread.exe와같은경로(바탕화면)에 자동생성된 secret.txt
<- Injector실행과 함께자동으로 실행된secret.txt파일의 내용
참고 자료
A3security(2010). 『크래커잡는 명탐정해커』 - Dll Injection (p209 ~ 220)
http://www.reversecore.com/40 (2009) 『Reversecore.com』 Dll Injection. 다른곳으로 침투하기(2)
http://doc.springnote.com/pages/811070 (2008) 『스프링노트-하늘모자의노트』 Dll Injection 방법
http://www.msdn.microsoft.com 『MSDN』 각종 라이브러리 및 API함수 원형, 헤더파일 등 참조
압축파일 내 파일목록
HW_OperatingSystem_01.hwp
MultiThread.exe
secret.txt
DllInjection.cpp
Injector.cpp