利用远程线程技术嵌入进程的模型源码
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Author: [Shotgun] // // Email: [Shotgun@Xici.Net] // // Homepage: // // [http://IT.Xici.Net] // // [http://WWW.Patching.Net] // // // // USAGE: // // RmtDLL.exe PID[|ProcessName] DLLFullPathName // // Example: // // RmtDLL.exe 1024 C:\WINNT\System32\MyDLL.dll // // RmtDLL.exe Explorer.exe C:\MyDLL.dll // // // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include<windows.h> #include<stdlib.h> #include<stdio.h> #include<psapi.h> DWORD ProcessToPID( char *); //将进程名转换为PID的函数 void CheckError ( int, int, char *); //出错处理函数 void usage ( char *); //使用说明函数 PDWORD pdwThreadId; HANDLE hRemoteThread, hRemoteProcess; DWORD fdwCreate, dwStackSize, dwRemoteProcessId; PWSTR pszLibFileRemote=NULL; void main(int argc,char **argv) { int iReturnCode; char lpDllFullPathName[MAX_PATH]; WCHAR pszLibFileName[MAX_PATH]={0}; //处理命令行参数 if (argc!=3) usage(“Param……