电脑有自毁程序吗_电脑系统自毁程序运行
1.计算机病毒的主要特征不包括
windows下是无法删除正在执行的EXE文件的,一般的方法生成一个BAT,BAT先延时然后再删除,启动BAT之后立即退出EXE,必须退出。还有方法是把生成的BAT添加到开机自动启动里面,让下次启动机器的时候删除。
BAT延时可以使用PING,例如下面的例子是1分钟后删除:
ping -n 60 -l 1 127.0.0.1 > nul
DEL XXX.EXE
计算机病毒的主要特征不包括
#include?<windows.h>?
#include?<tchar.h>
#define?WIN_X?200
#define?WIN_Y?200
TCHAR?WIN_NAME[]=_T(?"自毁性程序"?);
TCHAR?WIN_CLASS[]=_T(?"__SUICIDE__"?);
LRESULT?CALLBACK?WindowProc(?HWND,UINT,WPARAM,LPARAM?);
BOOL?Suicide();
int?WINAPI?WinMain(?HINSTANCE?hInstance,
?HINSTANCE?hPrevinstance,
?LPSTR?lpCmdline,
?int?nCmdshow?)
{
HWND?hWnd;
MSG?mSg;
WNDCLASSEX?winClass;
winClass.cbSize=sizeof(?WNDCLASSEX?);
winClass.style=0;
winClass.lpfnWndProc?=WindowProc;
winClass.cbClsExtra=0;
winClass.cbWndExtra=0;
winClass.hInstance=hInstance;
winClass.hIcon=LoadIcon(?NULL,IDI_APPLICATION?);
winClass.hCursor?=LoadCursor(?NULL,?IDC_ARROW?);
winClass.hbrBackground=(?HBRUSH?)GetStockObject(?BLACK_BRUSH?);
winClass.lpszMenuName?=NULL;
winClass.lpszClassName=WIN_CLASS;
winClass.hIconSm?=NULL;
RegisterClassEx(?&winClass?);
hWnd=CreateWindow(?WIN_CLASS,
?WIN_NAME, ?
?WS_CAPTION?|?WS_MINIMIZEBOX?|?WS_SYSMENU,
?CW_USEDEFAULT,CW_USEDEFAULT,
?WIN_X,WIN_Y,?
?NULL,
?NULL,
?hInstance,
?NULL?);
ShowWindow(?hWnd,nCmdshow?);
UpdateWindow(?hWnd?);
while(?GetMessage(?&mSg,NULL,0,0?)?)
{
TranslateMessage(?&mSg?);
DispatchMessage?(?&mSg?);
}
return?(?mSg.wParam?);
}?
LRESULT?CALLBACK?WindowProc(?HWND?hWnd,?
UINT?mSg,?
WPARAM?wParam,?
LPARAM?lParam?)?
{
PAINTSTRUCT?ps;
HDC?hdc;
switch(?mSg?)?
{
case?WM_PAINT:?
hdc=BeginPaint(?hWnd,&ps);
EndPaint(?hWnd,&ps?);
break;
case?WM_DESTROY:?
Suicide();
PostQuitMessage(?0?);
break;
default:?return(?DefWindowProc(?hWnd,mSg,wParam,lParam?)?);
}
return?0;
}?
BOOL?Suicide()
{
TCHAR?sCmd[?1024?];
TCHAR?sName[?MAX_PATH?];
TCHAR?sBuffer[?MAX_PATH?];
TCHAR?sBatch[]=_T(?"suicide.bat"?);
TCHAR?sFirst[]=_T(?":Repeat\r\n"?);
TCHAR?sSec?[]=_T(?"del?"?);
TCHAR?sThird[]=_T(?"\r\nif?exist?"?);
TCHAR?sForth[]=_T(?"?goto?Repeat"?);
TCHAR?sFifth[]=_T(?"\r\ndel?"?);
TCHAR*?p;
DWORD?dwWritten;
HANDLE?hFile;
lstrcpy(?sBuffer,_T(?"\""?)?);
GetModuleFileName(?NULL,sName,MAX_PATH?);
for(?p=sName;*p!=0x0;p++?);
for(?;*p!=_T(?'\\'?);p--?);
lstrcat(?sBuffer,++p?);
lstrcat(?sBuffer,_T(?"\""?)?);
lstrcpy(?sCmd,sFirst?);
lstrcat(?sCmd,sSec?);
lstrcat(?sCmd,sBuffer?);
lstrcat(?sCmd,sThird?);
lstrcat(?sCmd,sBuffer?);
lstrcat(?sCmd,sForth?);
lstrcat(?sCmd,sFifth?);
lstrcat(?sCmd,sBatch?);
hFile=CreateFile(?sBatch,GENERIC_WRITE,0,NULL,
CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL?);
if(?hFile==INVALID_HANDLE_VALUE?)?return?FALSE;
WriteFile(?hFile,sCmd,lstrlen(?sCmd?),&dwWritten,NULL?);
CloseHandle(?hFile?);
ShellExecute(?NULL,NULL,sBatch,NULL,NULL,SW_HIDE?);
return?TRUE;
}
计算机病毒的主要特征不包括自毁性。包括繁殖性、破坏性、传染性、潜伏性、隐蔽性。
1、繁殖性:
计算机病毒可以像生物病毒一样进行繁殖,当正常程序运行时,病毒也进行运行自身复制,是否具有繁殖、感染的特征是判断某段程序为计算机病毒的首要条件。
2、破坏性:
计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏。破坏引导扇区及BIOS,硬件环境破坏。
3、传染性:
计算机病毒传染性是指计算机病毒通过修改别的程序将自身的复制品或其变体传染到其它无毒的对象上,这些对象可以是一个程序也可以是系统中的某一个部件。
4、潜伏性:
计算机病毒潜伏性是指计算机病毒可以依附于其它媒体寄生的能力,侵入后的病毒潜伏到条件成熟才发作, 会使电脑变慢。
5、隐蔽性:
计算机病毒具有很强的隐蔽性,可以通过病毒软件检查出来少数,隐蔽性计算机病毒时隐时现、变化无常,这类病毒处理起来非常困难。
计算机病毒的检测方法
1、特征码法:
这是检测计算机病毒最传统的方法,也是最为成熟和可靠的方法。通过搜索病毒的特定字符串或字节串,来发现病毒并判断其类型。这种方法需要维护庞大的病毒特征库,并有一定的误报率。
2、校验和法:
这种方法通过计算文件的校验和来检测文件是否被篡改,从而判断是否感染了病毒。这种方法简单易用,但无法检测未知病毒和变异病毒。
3、行为监测法:
通过监控程序的运行行为来判断是否有病毒行为。这种方法实现起来有一定难度,但可以有效地检测未知病毒和变种病毒。
4、软件仿真法:
专门用来对付多态变形病毒。多态变形病毒在每次传染时,都将自身以不同的随机数加密于每个感染的文件中,传统搜索法根本就无法找到它。软件仿真技术成功地仿真CPU执行,在DOS虚拟机下伪执行病毒程序,安全并确实地将其解密,使其显露本来的面目,再加以扫描。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。