Hướng Dẫn Load Driver Lên Bộ Nhớ
Trang 1 trong tổng số 1 trang
Hướng Dẫn Load Driver Lên Bộ Nhớ
Lập trình driver | Hướng Dẫn Load Driver Lên Bộ Nhớ
Sau khi lập trình xong 1 File Driver bạn đưa vào DDK để biên dịch ra FIle .sys,nhưng để có thể sử dụng File Driver đó bạn cần phải load nó lên bộ nhớ,chúng ta sử dụng hàm CreateServiceA + OpenServiceA + StartService để có thể khởi động Driver đó lên
sau đây là source
PHP Code:
Sau khi lập trình xong 1 File Driver bạn đưa vào DDK để biên dịch ra FIle .sys,nhưng để có thể sử dụng File Driver đó bạn cần phải load nó lên bộ nhớ,chúng ta sử dụng hàm CreateServiceA + OpenServiceA + StartService để có thể khởi động Driver đó lên
sau đây là source
PHP Code:
- Code:
//blackcoders....
#include
#include
#include
#pragma comment(lib,"Advapi32.lib")
//#pragma comment(linker, "/SUBSYSTEM:WINDOWS")
BOOL StartDriver(IN SC_HANDLE SchManager,IN LPCSTR DriverName)
{
SC_HANDLE schService;
BOOL ret;
int error;
schService=OpenServiceA(SchManager,
DriverName,
SERVICE_ALL_ACCESS
);
if(schService==NULL)
{
printf("[-]error OpenService!\n");
return false;
}
ret=StartService(schService,
0,
NULL);
if(ret)
{
printf("[+]StartService success!\n");
}
else
{
error=GetLastError();
if(error==ERROR_SERVICE_ALREADY_RUNNING)
{
printf("[-]Error:Start Service-already running!");
}
else
{
printf("Error:StartService!(0x%02x)\n",error);
}
}
CloseServiceHandle(schService);
return ret;
}
BOOL InstallDriver( IN SC_HANDLE SchManager,IN LPCSTR DriverName,IN LPCSTR Sexe)
{
SC_HANDLE schService;
DWORD err;
schService=CreateServiceA(SchManager,
DriverName,
DriverName,
SERVICE_ALL_ACCESS,
SERVICE_KERNEL_DRIVER,
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
Sexe,
NULL,
NULL,
NULL,
NULL,
NULL);
if(schService==NULL)
{
err=GetLastError();
if(err==ERROR_SERVICE_EXISTS)
{
printf("[-]Service already Exists!\n");
}
else
{
printf("[-]Error:CreateService:(0x%02x)\n",err);
}
return FALSE;
}
else
{
printf("[+]CreateService SUCCESS!\n");
}
CloseServiceHandle(schService);
}
BOOL StopDriver(IN SC_HANDLE SchManager,IN LPCSTR DriverName )
{
SC_HANDLE schService;
BOOL ret;
SERVICE_STATUS serviceStatus;
schService = OpenServiceA (SchManager,
DriverName,
SERVICE_ALL_ACCESS);
if(schService==NULL)
{
printf("[-]Error!OpenService(0x%02x)\n",GetLastError());
return FALSE;
}
ret=ControlService(schService,SERVICE_CONTROL_STOP,&serviceStatus);
if(ret)
{
printf("[+]Driver Stoped!\n");
}
else
{
printf("Error While Stoping!(0x%02x)\n",GetLastError());
}
CloseServiceHandle(schService);
return ret;
}
BOOL DeleteDriver(IN SC_HANDLE SchManager,IN LPCSTR DriverName )
{
SC_HANDLE schService;
BOOL ret;
schService = OpenServiceA (SchManager,
DriverName,
SERVICE_ALL_ACCESS);
if(schService==NULL)
{
printf("[-]Error!OpenService(0x%02x)\n",GetLastError());
return FALSE;
}
ret=DeleteService(schService);
if(ret)
{
printf("[+]Driver Deleted!\n");
}
else
{
printf("Error While Deleting!(0x%02x)\n",GetLastError());
}
CloseServiceHandle(schService);
return ret;
}
VOID _cdecl main(IN int argc,IN char *argv[])
{
char current[128];
SC_HANDLE sch;
GetCurrentDirectoryA(128,current);
sch=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
{
InstallDriver(sch,"abc","C:\\1.sys");
StartDriver(sch,"abc");
}
//StopDriver(sch,"abc");
//DeleteDriver(sch,"abc");
CloseServiceHandle(sch);
}
Similar topics
» Load IOS cho switch qua TFTP server
» Làm sao để build 1 driver
» Load IOS cho cisco switch bằng xmodem
» Windows Driver Kit Version 7.0.0 | 580 MB
» Threads và Driver Code
» Làm sao để build 1 driver
» Load IOS cho cisco switch bằng xmodem
» Windows Driver Kit Version 7.0.0 | 580 MB
» Threads và Driver Code
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
27/8/2013, 11:45 am by echcondihoc
» Quản Lí Tiến Trình Dùng Thư Viện PSAPI
11/10/2011, 9:42 pm by CNTT_DH
» xin tai lieu tieng viet
31/8/2011, 6:59 am by bantoisg
» Theo dõi tiến trình
27/8/2011, 5:51 pm by haigaopro01
» Giải pháp Bảo mật của Cisco
17/6/2011, 8:50 am by admin
» Nghiên cứu và đưa ra giải pháp phòng chống tấn công DoS, DDoS (Phần 1)
16/6/2011, 2:32 pm by admin
» Learn to hack !
16/6/2011, 8:49 am by admin
» Giải pháp hệ thống dành cho doanh nghiệp với thiết bị mạng Fortinet (Phần 1)
15/6/2011, 11:12 am by admin
» Ô Long Viên (Tập II)
27/9/2010, 4:56 pm by root
» những ebook về hack tiếng việt cho người mới tìm hiểu.
27/9/2010, 4:54 pm by root