Hướng Dẫn Load Driver Lên Bộ Nhớ
Trang 1 trong tổng số 1 trang • Share •
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» Đĩa CD tổng hợp Driver cho XP
» bán hạt hướng dương, hạt bí ngô, hạt bí
» Hướng dẫn ep đồ map DDay 19.9b trở lên
» Hướng dẫn làm forum từ A - Z
» Hướng dẫn về cách tạo diễn đàn
» bán hạt hướng dương, hạt bí ngô, hạt bí
» Hướng dẫn ep đồ map DDay 19.9b trở lên
» Hướng dẫn làm forum từ A - Z
» Hướng dẫn về cách tạo diễn đàn
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





» xin tai lieu tieng viet
» Theo dõi tiến trình
» Giải pháp Bảo mật của Cisco
» Nghiên cứu và đưa ra giải pháp phòng chống tấn công DoS, DDoS (Phần 1)
» Learn to hack !
» Giải pháp hệ thống dành cho doanh nghiệp với thiết bị mạng Fortinet (Phần 1)
» Ô Long Viên (Tập II)
» những ebook về hack tiếng việt cho người mới tìm hiểu.
» Cơ hội mua Laptop SAMSUNG Intel® Core™ i3-330M Processor giá rẻ dành cho học viên VnExperts