Hướng Dẫn C++ | Cách Viết và Debug 1 Driver Cơ bản trên C++
Author: coder_gate
Origin Link: http://forums.congdongcviet.com/showthread.php?t=17959
Origin Link: http://forums.congdongcviet.com/showthread.php?t=17959
Yêu cầu ai copy paste thì ghi rõ nhé bài viết thuộc về congdongcviet nhé
Trình Biên dịch Driver : DDK
Từ Điển WDK http://download.microsoft.com/downlo...s_03202009.EXE
hoặc http://download.microsoft.com/downlo...m_03202009.exe
Công Cụ debug http://download.sysinternals.com/Files/DebugView.zip
Công Cụ Chạy Thử Driver http://www.4shared.com/file/10408755...ad_Driver.html
Công Cụ để soạn thảo code : Bất Kỳ 1 Trình Biên dịch C nào
1 Driver cũng giống như 1 ứng dụng win32API vậy,nó cũng có hàm Main,các hàm con...
sau đây là source 1 Driver cơ bản chỉ có nhiệm vụ là in ra màn hình debug câu chào hỏi
Bạn có thể tra cứu trong WDK để biết ý nghĩa của từng kiểu giá trị như PDRIVER_OBJECT,PUNICODE_STRING ...
để biên dịch,ta cần phải đặt source vào Folder F:\WINDDK\3790.1830\src ( với đường dẫn F:\WINDDK\ là nơi để dữ liệu cài đặt của DDK )
sau đó tạo 2 File là source và MAKEFILE với giá trị như sau
Sources
Bật DDK lên
sau đó chạy DDK và đánh lệnh BUILD
Trình Biên dịch Driver : DDK
Từ Điển WDK http://download.microsoft.com/downlo...s_03202009.EXE
hoặc http://download.microsoft.com/downlo...m_03202009.exe
Công Cụ debug http://download.sysinternals.com/Files/DebugView.zip
Công Cụ Chạy Thử Driver http://www.4shared.com/file/10408755...ad_Driver.html
Công Cụ để soạn thảo code : Bất Kỳ 1 Trình Biên dịch C nào
1 Driver cũng giống như 1 ứng dụng win32API vậy,nó cũng có hàm Main,các hàm con...
sau đây là source 1 Driver cơ bản chỉ có nhiệm vụ là in ra màn hình debug câu chào hỏi
Code:
// My Driver ptit
#include "ntddk.h"
// ham unload
VOID OnUnload( IN PDRIVER_OBJECT DriverObject )
{
DbgPrint("Coder_gate Driver Unload\n");
}
NTSTATUS DriverEntry(IN PDRIVER_OBJECT theDriverObject,
IN PUNICODE_STRING theRegistryPath)
{
DbgPrint("Coder_nguyen@yahoo.com load");
// Initialize the pointer to the unload function
// in the DriverObject
theDriverObject->DriverUnload = OnUnload;
return STATUS_SUCCESS;
}
Bạn có thể tra cứu trong WDK để biết ý nghĩa của từng kiểu giá trị như PDRIVER_OBJECT,PUNICODE_STRING ...
để biên dịch,ta cần phải đặt source vào Folder F:\WINDDK\3790.1830\src ( với đường dẫn F:\WINDDK\ là nơi để dữ liệu cài đặt của DDK )
sau đó tạo 2 File là source và MAKEFILE với giá trị như sau
Sources
Trích dẫn:
TARGETNAME=Coder_gate TARGETTYPE=DRIVER TARGETPATH=obj INCLUDES=..\..\inc SOURCES = coder_gate.c |
Trích dẫn:
# # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source # file to this component. This file merely indirects to the real make file # that is shared by all the driver components of the Windows NT DDK # !INCLUDE $(NTMAKEENV)\makefile.def |
Bật DDK lên
sau đó chạy DDK và đánh lệnh BUILD