先贴代码,代码是可以运行的,最后说一下要点,因为前面博文已经具体分析过远程线程注入技术,所以不具体解释。
#include <Windows.h>
#include <TlHelp32.h>
#include <stdio.h>
//////////////////////////////////////////////////////////////////////////
//
// 根据进程映像名找到进程ID
//
// 返回值:返回-1表示未找到
// 否则返回的是目标进程的ID
//
//////////////////////////////////////////////////////////////////////////
int GetProcessId( char * szProcessName )
{
HANDLE hSnap = CreateToolhelp32Snapshot( TH32CS_SNAPALL , 0 ) ;
if( NULL == hSnap )
{
GetLastError() ;
return -1 ;
}
PROCESSENTRY32 ps32 ;
ps32.dwSize = sizeof( PROCESSENTRY32 ) ;
BOOL bFlag = Process32First( hSnap , &ps32 ) ;
while( bFlag )
{
if( strcmp( ps32.szExeFile , szProcessName ) == 0 )
{
return ps32.th32ProcessID ;
}
bFlag = Process32Next( hSnap , &ps32 ) ;
}
return -1 ;
}
</