第3章进程

2026/4/29 14:25:28

pPerfInst->NameOffset);

if(!stricmp((LPCTSTR)bstrProcessName,(LPCTSTR)bstrInput)) {

//获得所有计数器

for(j=0;jNumCounters;j++) {

if(pCurCntr->CounterNameTitleIndex==PROC_ID_COUNTER) {

PtrToCntr=CounterBlock(pPerfInst);

DWORD*pdwValue=(DWORD*)((LPBYTE)PtrToCntr+ pCurCntr->CounterOffset);

SetOfPID.push_back(*pdwValue); break; }

//获得下一个计数器

pCurCntr=NextCounter(pCurCntr); } }

//得到下一个实例

pPerfInst=NextInstance(pPerfInst); } }

free(pPerfData);

RegCloseKey(HKEY_PERFORMANCE_DATA); }

intmain(intargc,char*argv[]) {

std::vectorSetOfPID;

GetProcessID(\

if(SetOfPID.empty())//Processisnotrunning {

MessageBox(NULL,\MB_OK); }

else//Processisrunning {

for(inti=0;i

charszText[256];

sprintf(szText,\MessageBox(NULL,szText,\

HANDLEhProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,SetOfPID[i]); //somecode...

KillProcess(hProcess);

CloseHandle(hProcess); } }

return0; }

boolKillProcess(INconstHANDLEhProcess) {

DWORDdwId;

EnumWindows((WNDENUMPROC)TerminateAppEnum,(LPARAM)dwId); if(WaitForSingleObject(hProcess,5000)!=WAIT_OBJECT_0) bResult=TerminateProcess(hProcess,0); else

bResult=TRUE;

CloseHandle(hProcess); returnbResult==TRUE; }

//窗口枚举函数,通过调用GetWindowThreadProcessId得到与该窗口句柄相关的进程标 识,将这个标识和要处理的进程一致,就向该窗口发送WM_CLOSE消息,关闭窗口。直至关

闭所有与该进程相关的窗口,然后调用TerminateProcess该进程。 staticBOOLCALLBACKTerminateAppEnum(HWNDhwnd, LPARAMlParam) {

DWORDdwID;

GetWindowThreadProcessId(hwnd,&dwID); if(dwID==(DWORD)lParam) {

PostMessage(hwnd,WM_CLOSE,0,0); }

returnTRUE; }

3.6进程与端口

木马程序进入系统后,它往往会创建一个进程,这个进程会使用一个TCP端口或

者UDP端口进行侦听,接受外来客户端连接。主动外连木马程序则会主动去连接外面 主机的侦听端口。木马的危害是显而易见的,它允许远程机器以系统管理员身份接管 本机系统,会给用户系统数据带来致命威胁。

木马入侵系统后会自动采用TCP协议或者UDP协议打开一个端口进行侦听。这

一特征可以作为判断系统是否感染木马的一种重要标志。为了获得系统的端口状态信 息,人们习惯会使用netstat命令,使用an参数,查看本机网络状态信息。如图3-4 所示。

使用netstat命令可以查看TCP和UDP侦听的端口,已经建立连接的TCP端口等

信息。然而这个命令无法识别这个端口是哪个进程打开的。另外还有一个免费的共享软 件fport,这个软件能够在WindowsNT以上的操作系统上显示进程关联的端口状态信息。 C:\\>fport

FPortv2.0-TCP/IPProcesstoPortMapper Copyright2000byFoundstone,Inc. http://www.foundstone.com PidProcessPortProtoPath

496svchost->135TCPC:\\WINNT\\system32\\svchost.exe 8System->445TCP

596msdtc->1025TCPC:\\WINNT\\system32\\msdtc.exe 712DSRSvc->1027TCPC:\\Program Files\\Compuware\\DriverStudio\\Com mon\\Bin\\DSRSvc.exe 8System->1029TCP

596msdtc->3372TCPC:\\WINNT\\system32\\msdtc.exe 496svchost->135UDPC:\\WINNT\\system32\\svchost.exe 8System->445UDP

712DSRSvc->1026UDPC:\\Program Files\\Compuware\\DriverStudio\\Com mon\\Bin\\DSRSvc.exe

712DSRSvc->1028UDPC:\\Program Files\\Compuware\\DriverStudio\\Com mon\\Bin\\DSRSvc.exe

712DSRSvc->1048UDPC:\\Program Files\\Compuware\\DriverStudio\\Com mon\\Bin\\DSRSvc.exe

712DSRSvc->9108UDPC:\\Program Files\\Compuware\\DriverStudio\\Com

mon\\Bin\\DSRSvc.exe

712DSRSvc->9110UDPC:\\Program Files\\Compuware\\DriverStudio\\Com mon\\Bin\\DSRSvc.exe

712DSRSvc->17491UDPC:\\Program Files\\Compuware\\DriverStudio\\Com mon\\Bin\\DSRSvc.exe

在WindowsXP以上的操作系统,包括Windows2003上获得上述信息是比较容易

的,所有基于NT的系统都提供了一个名称为iphlpapi.dll的动态链接库。在XP以上版 本,这个库比较特殊,它输出了一对API函数,AllocateAndGetTcpExTableFromStack 和AllocateAndGetUdpExTableFromStack函数。相对于AllocateAndGetTcpTableFromStack 和AllocateAndGetUdpTableFromStack函数,这两个函数输出更加详尽的信息。这些信 息除了端口、地址信息、状态之外,还包含了用户最关心的关联进程标识。通过这个 标识,可以借助于前面几节的内容得到进程名称及完整路径。由于这两个函数在静态 库文件中没有包含,所以用户必须采用动态加载的方法。

例3-7进程和端口的映射信息获得(对于WindowsXP以下系统无法获得进程信息)。 #include #include #include #include

#pragmacomment(lib,\#defineHOSTNAMELEN256 #definePORTNAMELEN256

程序书第3章进程员库#defineADDRESSLENHOSTNAMELEN+PORTNAMELEN //结构定义

typedefstructtagMIB_TCPEXROW{ DWORDdwState;//TCP连接状态 DWORDdwLocalAddr;//本地IP地址 DWORDdwLocalPort;//打开的本地端口 DWORDdwRemoteAddr;//远程IP地址 DWORDdwRemotePort;//远程端口号 DWORDdwProcessId;//进程标识 }MIB_TCPEXROW,*PMIB_TCPEXROW; typedefstructtagMIB_TCPEXTABLE{ DWORDdwNumEntries;

MIB_TCPEXROWtable[ANY_SIZE];

}MIB_TCPEXTABLE,*PMIB_TCPEXTABLE; typedefstructtagMIB_UDPEXROW{ DWORDdwLocalAddr;//本地IP地址 DWORDdwLocalPort;//打开的本地端口 DWORDdwProcessId;//进程标识

}MIB_UDPEXROW,*PMIB_UDPEXROW; typedefstructtagMIB_UDPEXTABLE{ DWORDdwNumEntries;


第3章进程.doc 将本文的Word文档下载到电脑
搜索更多关于: 第3章进程 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219