最近自己的电脑中了病毒后,老是通过其他端口往外发送数据,呵呵,可是公司的电脑,被公司的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 阅读(528)
评论(0) 编辑 收藏 所属分类:
病毒和杀毒