Notice
Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 |
| 30 |
Tags
- frida
- kibana
- base64
- 2018
- elasticsearch
- Volatility
- igoat
- 안드로이드
- Reflected XSS
- ctf
- 인시큐어뱅크
- FTK Imager
- MFT
- vulnhub
- Suninatas
- InsecureBank
- beebox
- ESXi
- lord of sql injection
- SQL Injection
- Openstack
- XSS
- binwalk
- diva
- Strings
- otter
- foremost
- Docker
- dreamhack
- CTF-d
Archives
- Today
- Total
Information Security
디바이스 드라이버 본문
디바이스 드라이버
- 로드 가능한 커널 모드 모듈(sys 확장자)로 I/O 관리자와 관련 하드웨어 사이를 인터페이스로 연결 (IRP, I/O Request Packet)
- 직접 하드웨어를 조작하지 않고, 하드웨어와 통신하기 위해 HAL 내의 함수를 호출
- 유저 모드 프로그램과 통신하기 위해서 IRP에 대한 처리가 필요
DriverEntry 함수가 커널로 Load가 됬을 경우 내부의 함수가 실행된다. 로그를 남기면 "I loaded" 메시지를 보여주고 onUnload가 가능할 수 있도록 작성되었다.

x86 Checked Build Environment 프로그램을 통해 basic.c 파일 위치에서 build -cegZ 빌드를 했다.

build가 성공한 경우 i386 폴더에 파일들이 생성되었다.

InstDrv 프로그램을 통해 MSNBCVID.sys 파일의 경로를 입력했다.

Install을 클릭 시 아래와 같은 메시지를 확인할 수 있다.

Start 클릭 시 아래와 같은 메시지를 확인할 수 있다.

DebugView 프로그램을 통해 소스코드에서 본 "I loaded!" 메시지를 확인할 수 있다.

Stop을 클릭 시 DebugView에서 "I loaded! OnUnload called" 소스코드의 내용을 확인할 수 있다.

