亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

VC實現的病毒專殺工具完整實例

2020-01-26 15:12:24
字體:
來源:轉載
供稿:網友

本文實例講述了VC實現的病毒專殺工具的方法。非常實用,分享給大家供大家參考。具體實現方法如下:

如今病毒木馬蠕蟲層出不窮,變種也是一個接一個。反病毒公司以及各大安全公司隨著影響很大的病毒的出現都會免費提供病毒專殺工具,這個舉措對普通用戶來說確實很有幫助。其實寫病毒專殺工具也不像大家想象的那么神秘,利用SDK寫個控制臺程序來實現病毒專殺,因無須寫圖形界面,所以簡便快捷!你自己也能寫!不信?就接著看吧^_^ 廢話不說了,接下來就開始談談病毒專殺工具的思路及實現方法。

本文中講解的病毒專殺工具是針對木馬、蠕蟲等獨立的程序而言的廣義的病毒而言,而不是指那種自我復制感染PE文件的依附于其他程序的那種狹義的病毒。因為寫那種病毒的專殺工具需要PE文件結構等知識,相對而言有點難度,所以我們就先從相對簡單點的開始,難的以后再介紹。

對于大多數病毒而言,殺毒的思路其實很簡單,那就是:終止病毒的進程、刪除自啟動項目(一般在注冊表中的run*主鍵下)、刪除病毒文件,對設置了文件關聯的病毒而言還要修改注冊表恢復文件關聯。下面將分別陳述。

一.終止進程

以前網上曾有許多朋友問我怎么根據文件名終止指定進程,為什么使用函數 TerminateProcess()不能直接終止指定進程。首先讓我們來看看函數TerminateProcess()的聲明吧:Bool TerminateProcess(HANDLE hPeocess,UINT uExitCode),其中第一個參數為進程句柄,而不是進程名稱(文件名)。那怎樣才能獲得指定進程的句柄呢?我們可以使用函數OpenProcess (),其原型為

復制代碼 代碼如下:
HANDLE OpenProcess(
DWORD dwDesiredAccess, // 訪問標志
BOOL bInheritHandle, // 處理繼承的標志
DWORD dwProcessId // 進程標識號,即進程ID
);

最后一個參數就是該進程的ID,進程句柄和進程ID是兩回事,這時你可能很郁悶:怎么知道進程ID呢?方法當然有啦!在Windows9X/2000/XP/2003中,微軟均提供了用來枚舉進程的ToolHelp API系列函數。先運用函數CreateToolhelp32Snapshot()取得快照句柄,然后使用Process32First()以及 Process32Next()枚舉當前的進程。枚舉過程中會將每一個進程的信息存放到PROCESSENTRY32結構中。 PROCESSENTRY32的原型為:
復制代碼 代碼如下:
typedef struct tagPROCESSENTRY32
{
DWORD dwSize; // 結構大??;
DWORD cntUsage; // 此進程的引用計數;
DWORD th32ProcessID; // 進程ID;
DWORD th32DefaultHeapID; // 進程默認堆ID;
DWORD th32ModuleID; // 進程模塊ID;
DWORD cntThreads; // 此進程開啟的線程計數;
DWORD th32ParentProcessID; // 父進程ID;
LONG pcPriClassBase; // 線程優先權;
DWORD dwFlags; // 保留;
char szExeFile[MAX_PATH]; // 進程全名;
} PROCESSENTRY32;

其中th32ProcessID就是進程的ID,szExeFile為該進程的文件名。所以要終止指定進程,我們可以枚舉進程,逐一判斷szExeFile是否和我們欲終止的進程名相同,如果相同就取其th32ProcessID參數,然后代入OpenProcess函數,取得目標進程的句柄。這樣就可以利用函數TerminateProcess()終止該進程了。我寫了個終止指定進程的函數,如下:
復制代碼 代碼如下:
void KillProcessFromName(LPCTSTR name)//name為你要終止的進程的名稱,Win9X則需包括路徑
{
PROCESSENTRY32 pe;//定義一個PROCESSENTRY32結類型的變量
HANDLE hShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);// 創建快照句柄
pe.dwSize=sizeof(PROCESSENTRY32);//一定要先為dwSize賦值
if (Process32First(hShot,&pe))
{
do
{if (strcmp(pe.szExeFile,name)==0) //判斷此進程是否為你要終止的進程
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe.th32ProcessID);//如果是就利用其ID獲得句柄
TerminateProcess(hProcess,0);//終止該進程
}
while(Process32Next(hkz,&pe));
}
CloseHandle(hShot);//最后別忘記Close
}

在使用時只要在main()主函數里調用函數KillProcessFromName(),把參數設為你要終止的進程的名稱即可,Win9X則需包括路徑。還有一點值得注意一下,就是別忘了#include 。

二、刪除文件

這一步驟很簡單,調用函數DeleteFile()即可,Bool DeleteFile(LPCTSTR lpFilename),把lpFilename設要指向刪除的文件的文件名的指針即可,可包含具體路徑。

三、修改注冊表,刪除啟動項及文件關聯

首先用函數RegOpenKeyEx()打開目標主鍵,RegOpenKeyEx()函數原型為:

復制代碼 代碼如下:
LONG RegOpenKeyEx(
HKEY hKey,// 將要打開的鍵的句柄
LPCTSTR lpSubKey,// 指向將要打開的包含子建的名稱字符串指針
DWORD ulOptions,// 為保留字,必須為NULL
REGSAM samDesired,// 訪問權限
PHKEY phkResult//指向打開鍵的句柄指針
);

獲得句柄后用函數RegSetValueEx()進行修改鍵值,函數原型為:
復制代碼 代碼如下:
LONG RegSetValueEx(
HKEY hKey, //當前打開的鍵的句柄
LPCTSTR lpValueName, //指向非空的包含要查詢的值名稱的字符串指針
DWORD Reserved, //保留值,必須為NULL
DWORD dwType,//鍵值類型,比如REG_SZ、REG_DWORD等
CONST BYTE * lpData , //指向鍵值數據的指針,注意此變量類型,不是LPCTSTR!
DWORD cbData//指向保存設定值長度變量的指針,以字節為單位
);

當然也可以用函數RegDeleteValue()來刪除鍵值。操作完畢后別忘了用函數RegCloseKey()來Close。

使用這些函數很簡單,只要把相應的參數換為你要刪除或修改注冊表的相應數值,唯一值得注意的是RegSetValueEx()函數中第5個參數的類型是BYTE而不是LPCTSTR!通過這些就可以很方便刪除指定啟動項以及恢復文件關聯,為了便于大家理解,我舉個修復EXE文件關聯的例子,大家修改相應的參數就可以適用其它鍵值的修改,換用RegDeleteValue函數就可以實現刪除自啟動項。

復制代碼 代碼如下:
HKEY hKey;
LPCTSTR data1="/"%1/" %*";//EXE文件默認的open方式,”%1/"表EXE文件本身
DWORD lResult=RegOpenKeyEx(HKEY_CLASSES_ROOT,"exefile//shell//open//command",0,KEY_WRITE,&hKey);
if(lResult==ERROR_SUCCESS)
RegSetValueEx(hKey,"",NULL,REG_SZ,(LPBYTE)data1,9);//修改鍵值
RegCloseKey(hKey);

到這里,一個病毒專殺工具的模型就已初步完成了,大家自己編寫時只需把文中函數的形參換為你要殺的目標病毒的相應特征數據編譯即可。這個是個簡單的專殺工具,只能對付普通的木馬、蠕蟲等病毒,大家應具體情況具體分析,根據具體情況擴充該程序功能,比如有些木馬是通過修改win.ini、system.ini來實現自動運行,我們就需操作文件刪除相應數據,除此之外,有時還需添加終止服務、卸載DLL模塊、進入RING0操作等功能。總之,我相信大家一定能自己寫出病毒木馬專殺工具的!呵呵,是不是很有成就感呢!

希望本文所述對大家的VC程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产日韩一区二区| 久久九九国产精品怡红院| 欧美大片免费观看在线观看网站推荐| 亚洲情综合五月天| 亚洲成人精品在线| 91精品国产91久久久久福利| xvideos亚洲| 精品久久久精品| 97成人精品区在线播放| 欧美综合在线观看| 69国产精品成人在线播放| 4438全国成人免费| 黑人狂躁日本妞一区二区三区| 国产v综合v亚洲欧美久久| 亚洲最大成人免费视频| 久久香蕉国产线看观看av| 911国产网站尤物在线观看| 欧美日韩中文字幕在线| 欧美高清视频一区二区| 亚洲变态欧美另类捆绑| 成人动漫网站在线观看| 中文字幕在线精品| 亚洲精品456在线播放狼人| 日本精品视频在线观看| 久久夜精品va视频免费观看| 色诱女教师一区二区三区| 欧美精品一区二区免费| 久久久精品视频在线观看| 国产噜噜噜噜久久久久久久久| 国产一区红桃视频| 欧美一级成年大片在线观看| 欧美日韩在线免费观看| 日韩在线视频线视频免费网站| 亚洲女人被黑人巨大进入| 91精品一区二区| 日韩成人av网址| 欧美国产日产韩国视频| 97色在线视频| 成人女保姆的销魂服务| 欧美日韩国产成人在线观看| 亚洲精品久久在线| 国产精品视频男人的天堂| 欧美日韩亚洲激情| 日韩亚洲成人av在线| 亚洲精品xxx| 久久久这里只有精品视频| 国产亚洲福利一区| 亚洲黄页视频免费观看| 欧美电影院免费观看| 91高清在线免费观看| 欧美亚洲国产视频小说| 欧美日韩高清在线观看| 91产国在线观看动作片喷水| 日韩欧美在线播放| 青青草原一区二区| 亚洲成人网av| 九色91av视频| 日韩的一区二区| 亚洲一区二区三区在线免费观看| 在线看日韩欧美| 91国内揄拍国内精品对白| 96精品久久久久中文字幕| 91天堂在线视频| 亚洲天堂网站在线观看视频| 国产精品久久久久久av福利软件| 欧美亚洲成人精品| 久久91亚洲精品中文字幕| 精品久久久精品| 亚洲精品videossex少妇| 日韩精品免费在线| 亚洲最大激情中文字幕| 国产mv免费观看入口亚洲| 欧美极品欧美精品欧美视频| 久久天天躁狠狠躁夜夜爽蜜月| 国产综合久久久久| 91九色蝌蚪国产| 国产精品第二页| 亚洲欧洲在线播放| 国产精品一区二区电影| 欧美极品在线视频| 最近2019中文字幕mv免费看| 一区二区三区视频免费| 亚洲网址你懂得| 韩日精品中文字幕| 国产精品99久久久久久久久| 国产精品毛片a∨一区二区三区|国| 亚洲色图50p| 亚洲第一视频在线观看| 国产精品一区久久| 黑人巨大精品欧美一区二区| 久久亚洲电影天堂| 国语自产精品视频在线看一大j8| 中文国产亚洲喷潮| 日本道色综合久久影院| 午夜精品久久久久久久白皮肤| 国产成人中文字幕| 在线视频精品一| 久久久久国色av免费观看性色| 久久久久一本一区二区青青蜜月| 国产亚洲美女久久| 欧美大尺度电影在线观看| 久久av在线看| 国产精品久久久久久久久免费看| 亚洲香蕉在线观看| 欧美亚洲第一区| 亚洲国产精品高清久久久| 日本精品视频在线播放| 欧美激情在线观看视频| 亚洲欧美成人网| 欧美理论电影在线观看| 亚洲欧美日韩中文在线| 欧美精品生活片| 精品久久久精品| 久久久久久有精品国产| 不卡av在线网站| 成人激情视频免费在线| 一区二区国产精品视频| 欧美电影《睫毛膏》| 亚洲天堂免费观看| 欧美在线视频导航| 欧美国产日本在线| 亚洲欧美国产日韩中文字幕| 国产主播在线一区| 国产精品九九九| 55夜色66夜色国产精品视频| 欧美美最猛性xxxxxx| 国产成人在线亚洲欧美| 国产91对白在线播放| 国产精品欧美日韩一区二区| 国产精品成av人在线视午夜片| 精品色蜜蜜精品视频在线观看| 国产成人在线视频| 国产精品三级久久久久久电影| 日本精品va在线观看| 色婷婷**av毛片一区| 日韩在线播放av| 国产精品综合网站| 国产成人黄色av| 51色欧美片视频在线观看| 国产精品美女www爽爽爽视频| 91久久国产精品91久久性色| 国产精品入口免费视| 国内精品久久久久久中文字幕| 国产成人在线亚洲欧美| 日韩在线观看免费| 中文字幕亚洲欧美一区二区三区| 欧美性高潮床叫视频| 欧美最猛性xxxx| 按摩亚洲人久久| 狠狠爱在线视频一区| 中文字幕欧美精品日韩中文字幕| 性欧美长视频免费观看不卡| 亚洲色图13p| 欧美疯狂做受xxxx高潮| 久久久久久国产三级电影| 国产精品第一视频| 国产精品99久久久久久久久久久久| 欧美成人精品不卡视频在线观看| www.日本久久久久com.| 青青青国产精品一区二区| 疯狂欧美牲乱大交777| 激情懂色av一区av二区av| 亚洲free性xxxx护士白浆| 人人爽久久涩噜噜噜网站|