先介紹一下什麼是nt服務,實際上就是乙個可以在系統啟動時自動在一定身份下啟動的,伴隨著系統長期存在的程序.
乙個nt服務有三部分構成:
1:service control manager(scm) 每個win nt/2k都有乙個scm,他存在於service.exe中.
2:服務本身 乙個服務擁有能從scm受到訊號和命令所必需的特殊**,並能夠在處理後將他的狀態返回scm.
3:service control dispatcher(scp) 他是乙個擁有使用者截面,允許使用者開始,暫停,繼續,並且控制已經安裝在計算機上作為服務執行的win32
應用程式
下面我們來看編寫乙個nt服務: (這是乙個服務框架,只要在他後面新增自己的後門**,那麼後門就可以實現服務方式啟動)
請大家對照注釋仔細研究!
#include
#include
service_status m_servicestatus;
service_status_handle m_servicestatushandle;
bool brunning=true;
void winapi servicemain(dword argc, lptstr *ar**); //服務主函式
void winapi servicectrlhandler(dword opcode); //服務控制函式
void winapi cmdstart(void); //要啟動的程式函式
bool installservice(); //安裝服務的函式
bool deleteservice(); //刪除服務的函式
int main(int argc, char* ar**)
if(strcmp(ar**[1],"-install")==0) //安裝
else if(strcmp(ar**[1],"-remove")==0) // 刪除
else
//在進入點函式裡面要完成servicemain的初始化,
//準確點說是初始化乙個service_table_entry結構陣列,
//這個結構記錄了這個服務程式裡面所包含的所有服務的名稱
//和服務的進入點函式
service_table_entry
dispatchtable=,};
//最後的null指明陣列的結束
startservicectrldispatcher(dispatchtable);
return 0; }
void winapi servicemain(dword argc, lptstr *ar**)
void winapi servicectrlhandler(dword opcode) //服務控制函式
return; }
bool installservice() //安裝服務函式
lpctstr lpszbinarypathname=strdir;
schservice = createservice(schscmanager,"windowsmgr","windows manger control", //將服務的資訊新增到scm的資料庫
service_all_access,
service_win32_own_process, // 服務型別
service_auto_start, // 啟動型別
service_error_normal,
lpszbinarypathname, // 服務名
null,
null,
null,
null,
null);
if (schservice == null)
closeservicehandle(schservice);
return true; }
bool deleteservice()
hservice=openservice(schscmanager,"windowsmgr",service_all_access);
if (hservice == null)
if(deletefile(chsyspath)==0)
else printf("delete file ok!/n");
if(deleteservice(hservice)==0)
return false;
if(closeservicehandle(hservice)==0)
return false;
else
return true; }
void winapi cmdstart(void)
Fleaphp函式用法舉例,供大家學習
row array 字段 字段值 字段 字段值 字段 字段值 字段 字段值 conditions array level ix 3 table updatebyconditions conditions,row 3。flea db tabledatagateway updatefield 用途 更新...
編寫NT服務
編寫nt服務 先介紹一下什麼是nt服務,實際上就是乙個可以在系統啟動時自動在一定身份下啟動的,伴隨著系統長期存在的程序.乙個nt服務有三部分構成 1 service control manager scm 每個win nt 2k都有乙個scm,他存在於service.exe中.2 服務本身 乙個服務...
關於徵集大家學習部落格的通知
今天整理了些爬取部落格 文章的爬蟲,自己覺得不錯的文章保留了下來,如果你們有不錯部落格可以推薦,不限制國內國外。在此向您請教!虛心學習。如果有一天,你想看哪方面的文章可以按以下方式 webshell下的另類提權之3389密碼爆破 利用 dirty cow 髒牛 漏洞的提權嘗試 sp oacreate...