본문 바로가기

TDI

5월 22일 SOURCES 파일 출처 : 루트킷 - 에이콘 50page  SOURCES파일은 파일 이름이 항상 대문자로 SOURCES이어야 하고, 파일 확장자가 없다. 다음은 SOURCES파일이 포함해야 하는 내용을 보여주고 있다. TARGETNAME=MYDRIVER TARGETPATH=OBJ TARGETTYPE=DRIVER SOURCES=mydriver.c TARGETNAME 변수에는 드라이버의 이름을 할당한다. TARGETNAME에 설정된 이름은 드라이버 바이너리에 포함되기 때문에 TARGETNAME에 MY_EVIL_ROOTKET_IS_GONNA_GET_YOU와 같은 이름을 할당하는 것은 좋은 생각이 아니다. 드라이버 파일의 이름을 변경하더라도 바이너리 안에 포함된 이름은 변경되지 않는다. TARGETPATH 변수는 일반적으로 O.. 더보기
[TDI_FW] 예제 분석 5월 19일 int main (void) { SC_HANDLE schSCManager; SC_HANDLE schService; SERVICE_STATUS serviceStatus; char Path[256]; HANDLE hDevice; schSCManager = OpenSCManager (NULL, NULL, SC_MANAGER_ALL_ACCESS); if (!schSCManager) { return 0; } GetCurrentDirectory (255, Path); strcat (Path, "\\FILTER.SYS"); schService = OpenService (schSCManager, "FILTER", SERVICE_ALL_ACCESS); if (schService == NULL) { schService =.. 더보기
[TDI_FW] 예제 분석 5월 18일 참고 자료 : 윈도우 디바이스 드라이버 - 이봉석(한빛미디어) 604쪽 - 서비스를 생성하는 목적으로 사용되는 Win32 API 함수 정리 OpenSCManager() : 서비스를 생성하거나 제거, 중지 등의 일을 하기 위해서 사전에 사용하는 서비스 컨트롤 관리자(Service Control Manager) 핸들을 얻는 함수다. OpenService() : 기존에 생성한 서비스 핸들을 얻는 함수다. 디바이스 드라이버 서비스를 생성하기 전에 이 함수를 먼저 사용하여 드라이버를 위한 서비스가 이미 생성되어 있느닞를 알아보는 용도로 사용한다. CreateService() : 서비스를 생성하는 목적으로 사용하는 함수다. StartService() : 서비스를 실행하는 목적으로 사용하는 함수다. NT 구형(Leg.. 더보기