最近自己的电脑中了病毒后,老是通过其他端口往外发送数据,呵呵,可是公司的电脑,被公司的it整了n次了,还是说自己的电脑
老向外面发数据,it部门的人用macfee杀了n次,还是有问题。看来得自己解决了,
用netstat 命令查看一下当前的电脑的端口,发现有SYN_SENT 状态的,而且端口是8080,经常时有时无,
呵呵,觉得应该是病毒没有完全清楚,用netstat -ano命令找出是相应端口程序的pid,
在通过任务管理器查看有没有相应的进程,找了半天,都没有发现。但是问题还是经常出现,
在网上找了一个能通过pid找出相应程序名词。代码如下:
#include <windows.h>
#include <Psapi.h>
#include<iostream>
#include<conio.h>
using namespace std;
int printProcessNameByPid( DWORD ProcessId ) 
{ 
HANDLE pHd; 
HMODULE pHmod; 
char ProcessName[MAX_PATH] = "unknown"; 
DWORD cbNeeded; 
pHd = OpenProcess( PROCESS_QUERY_INFORMATION |PROCESS_VM_READ, FALSE, ProcessId ); 
if(pHd == NULL) 
return 0; 
if(!EnumProcessModules( pHd, &pHmod, sizeof(pHmod), &cbNeeded)) 
return 0 ; 
if(!GetModuleFileNameEx( pHd, pHmod, ProcessName, MAX_PATH)) 
return 0 ; 
printf( "%d\t%s\n", ProcessId, ProcessName); 
CloseHandle( pHd ); 
return 0 ; 
}
int main(int argc, char* argv[])
{
    int pid;
    cout<<"please input the pid:";
    cin>>pid;
       printProcessNameByPid((DWORD)pid)
       getch();
 return 0;
}
通过输入的pid,可以找出相应的程序名称,并且知道程序在那里,但是有些系统的进程可能这个小程序返回不了
程序的位置,注意编译此程序要有额外的两个文件。Psapi.h和Psapi.Lib 我把它压缩成了psapi.rar /Files/jlin/psapi.rar
希望能对查毒有点帮助。
	posted on 2008-08-14 16:52 
fly 阅读(549) 
评论(0)  编辑  收藏  所属分类: 
病毒和杀毒