注册
 找回密码
 注册
江西广告网
查看: 401|回复: 0
打印 上一主题 下一主题

Win2k下进程不死术

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-17 13:33:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  此段程序采用公开的 Win2k注射远程线程,来保护指定进程始终处于运行状态。   生成wap32.exe拷贝到c:\下运行,则Wap32进程不死。      include Win32.inc      .386   .model flat,stdcall   .data      Protect2kProc proc ProcID: dword   call GetKnlOpenProcess   KnlOpenProcess dd ?   GetKnlOpenProcess:   pop eax   call [eax],PROCESS_ALL_ACCESS,FALSE,ProcID   or eax,eax   jz short ExitProtectProc   mov ebx,eax   call GetKnlWaitForSingleObject   KnlWaitForSingleObject dd ?   GetKnlWaitForSingleObject:   pop eax   call [eax],ebx,-1h   call GetFileNameAddress   GetFileNameAddress:   pop ecx   add ecx,offset FileName-offset GetFileNameAddress   call GetKnlWinExec   KnlWinExec dd ?   GetKnlWinExec:   pop eax   call [eax],ecx,01   ExitProtectProc:   ret   Protect2kProc endp      FileName db 'c:\wap32.exe',0         KnlOpenProcessStr db 'OpenProcess',0   KnlWaitForObjectStr db 'WaitForSingleObject',0   KnlWinExecStr db 'WinExec',0         .code   extrn GetProcAddress: proc   extrn OpenProcess: proc   extrn FindWindowA: proc   extrn GetWindowThreadProcessId: proc   extrn VirtualAllocEx: proc   extrn VirtualFreeEx: proc   extrn WriteProcessMemory: proc   extrn GetCurrentProcessId: proc   extrn CreateRemoteThread: proc   extrn GetExitCodeThread: proc   extrn CloseHandle: proc   extrn WinExec: proc   extrn MessageBoxA: proc   extrn Sleep: proc         Start:   call GetProcAddress,077e60000h,offset KnlOpenProcessStr   mov KnlOpenProcess,eax   call GetProcAddress,077e60000h,offset KnlWaitForObjectStr   mov KnlWaitForSingleObject,eax   call GetProcAddress,077e60000h,offset KnlWinExecStr   mov KnlWinExec,eax      call FindWindowA,0,0   push eax   call GetWindowThreadProcessId,eax,esp   call OpenProcess,PROCESS_ALL_ACCESS,FALSE   or eax,eax   jz short OpenProcessError   mov ebx,eax   call VirtualAllocEx,ebx,NULL,1000h,MEM_COMMIT,L 40h   or eax,eax   jz short OpenProcessError   mov edi,eax   push eax   call WriteProcessMemory,ebx,edi,OFF Protect2kProc,1000h,esp   call GetCurrentProcessId   call CreateRemoteThread,ebx,NULL,NULL,edi,eax,NULL,esp   call GetExitCodeThread,eax,esp   pop eax   ;call VirtualFreeEx,ebx,edi,1000h,MEM_DECOMMIT   call CloseHandle,ebx   call Sleep,100h   call MessageBoxA,0,offset FileName,offset FileName,0   OpenProcessError:   ret      end Start       <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表