windows黑客程式設計基礎(一)
系統服務
部落格:blog.csdn.net/shangguanwaner
前兩天和乙個同學聊天,他念的是xx大學計算機專業,他向我抱怨說天天在學校學的東西好象都沒什麼用,對hacker程式設計倒頗有興趣,就是不知到從何學起。於是本人不才,萌生了寫乙個關於黑客程式設計的系列教程。
這一系列教程全部基於windows作業系統,讀者需要具有一定的c語言和win32 sdk的基礎。每一講,我都會對涉及到的原理做較為具體的介紹,並給出相應的例項**。你可以跟我聯絡,大家共同**。
好,開始教程的第一篇,windows服務程式設計。
許多的病毒和木馬都將自己註冊為系統服務,來實現自啟動。有的註冊新的服務,有的替換現有服務實現隱藏。新增系統服務是windows木馬乙個普遍使用的技術,還是比較實用的。就讓我們來看看它是如何實現的。
先給出一段程式,說明如何新增乙個新的系統服務。
#include
#include
#include
#define srv_name 「srvsample」 //服務名稱
#define srv_info 「乙個系統服務程式例項」
//服務說明
#define srv_path 「c:/srvsample.exe」 //系統服務程式的路徑
int main(int argc,char** argv)
service=createservice(scmgr,srv_name,srv_info,service_all_access,
service_win32_own_process,
service_auto_start,service_error_normal,
srv_path,0,0,0,0,0);
if(service)
printf(「create a new service successful!/n」);
else
printf(「failed to create a new service!/n」);
closeservicehandle(scmgr);
closeservicehandle(service);
return 0;
}**很簡單,先開啟服務管理器的控制代碼,然後呼叫api新增服務。幾個api的用法你可以查閱msdn。
下面給出**演示如何刪除乙個服務。標頭檔案包含和上面相同。為了簡潔起見,沒有進行錯誤處理。
int main(int argc,char** argv)
bool bsuccess=deleteservice(service);
if(bsuccess)
printf(「delete service successful!/n」);
else
printf(「failed to delete service!/n」);
return 0;
}下面給出乙個服務程式的模板。乙個服務程式必須有兩個函式,乙個是服務程式的主函式servicemain(),另乙個是服務程式的派遣函式servicehandler(),它負責處理外部控制訊息。
#include
service_status servicestatus;
service_status_handle hstatus;
void winapi servicemain( dword dwargc, lptstr *lpszargv );
void winapi servicehandler( dword fdwcontrol );
int main(int argc,char** argv)
//服務控制處理函式
void winapi servicehandler(dword fdwcontrol)
setservicestatus(hstatus,&servicestatus);
return ;
}//服務主函式
void winapi servicemain( dword dwargc, lptstr *lpszargv )
// 初始化結束,報告執行狀態
servicestatus.dwcurrentstate = service_running;
servicestatus.dwcheckpoint = 0;
servicestatus.dwwaithint = 0;
setservicestatus(hstatus, &servicestatus);
//在這裡做其他的工作
dowork();
}這是乙個模板,要實現你自己的服務,在dowork()中新增功能**即可。能做什麼只取決於的想象,呵呵。
Windows黑客程式設計基礎 一 系統服務
windows黑客程式設計基礎 一 系統服務 songnianhu 163.com 部落格 blog.csdn.net shangguanwaner 前兩天和乙個同學聊天,他念的是xx大學計算機專業,他向我抱怨說天天在學校學的東西好象都沒什麼用,對hacker程式設計倒頗有興趣,就是不知到從何學起。...
windows 黑客程式設計基礎技術
基礎技術 monday,february 3,2020 3 27 pm 1.介紹 研發時通常會使用第三方庫,但並非所有的第三方庫都會提供靜態庫,大多數會提供動態鏈結庫 dll。dll延遲載入優點是將必須的 dll檔案以資源檔案的形式插入到程式中。在正式呼叫到必須的dll之前,程式都可以正常執行。程式...
一 系統基礎 12 域
domain 內網環境 工作組 workgroup 預設模式,人人平等,不方便管理 域 不平等,集中管理,統一管理 特點集中 統一管理 組成a.域控制器 dc,domain controller b.成員機 域的部署 a.安裝域控制器 dc,domain controller 生成域環境 b.安裝活...