91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

把dll注入到遠(yuǎn)程線程。使用的時(shí)候創(chuàng)建一個(gè)空的工程,然后把代碼當(dāng)做主文件放到工程中,自己寫個(gè)mian函數(shù)調(diào)用injectDLL函數(shù)就能注入了。菜鳥級(jí)友情提醒:64位別忘了編譯成x64的可執(zhí)行文件

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?
#undef???UNICODE?
#include?
#include?
#include?

#define?INJECT_PROCESS_NAME????“explorer.exe“?//目標(biāo)進(jìn)程
typedef?WCHAR?WPATH[MAX_PATH];
typedef?DWORD64?(WINAPI?*PFNTCREATETHREADEX)??
(???
PHANDLE?????????????????ThreadHandle?????
ACCESS_MASK?????????????DesiredAccess????
LPVOID??????????????????objectAttributes?????
HANDLE??????????????????ProcessHandle????
LPTHREAD_START_ROUTINE??lpStartAddress???
LPVOID??????????????????lpParameter??????
BOOL????????????????????CreateSuspended??????
DWORD64???????????????????dwStackSize??????
DWORD64???????????????????dw1???
DWORD64???????????????????dw2???
LPVOID??????????????????Unknown???
);?

//函數(shù)前置聲明?
BOOL???CreateRemoteThreadLoadDll(LPCWSTR???lpwLibFile???DWORD64???dwProcessId);?
BOOL???CreateRemoteThreadUnloadDll(LPCWSTR???lpwLibFile???DWORD64???dwProcessId);?
HANDLE?MyCreateRemoteThread(HANDLE?hProcess?LPTHREAD_START_ROUTINE?pThreadProc?LPVOID?pRemoteBuf);

BOOL???EnableDebugPrivilege(VOID);?
int???AddPrivilege(LPCWSTR???*Name);
void???GetWorkPath(???TCHAR???szPath[]???int???nSize???);?

//全局變量聲明?
HANDLE???hProcessSnap=NULL;?????//進(jìn)程快照句柄?
DWORD64???dwRemoteProcessId;???????//目標(biāo)進(jìn)程ID?

//---------------------------------------------------------------------?
//注入函數(shù),調(diào)用該函數(shù)即可
int?injectDll()
{
BOOL?result?=?FALSE;
//提升權(quán)限
result?=?EnableDebugPrivilege();
if(result?!=?TRUE)
{
printf(“add?privilege?failed!\n“);
return?-1;
}
PROCESSENTRY32???pe32={0};?
//打開進(jìn)程快照
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS0);?

if(hProcessSnap==(HANDLE)-1)?
{?
return???-1;?
}????

pe32.dwSize=sizeof(PROCESSENTRY32);?

//獲取目標(biāo)進(jìn)程的ID
if(Process32First(hProcessSnap&pe32))???//獲取第一個(gè)進(jìn)程?
{?
do{?
char?te[MAX_PATH];?
strcpy(tepe32.szExeFile);?
if(strcmp(te?INJECT_PROCESS_NAME)?==?0)
{?
dwRemoteProcessId=pe32.th32ProcessID;?
printf(“%d\n“dwRemoteProcessId);
break;?
}?????
}?????
while(Process32Next(hProcessSnap&pe32));//獲取下一個(gè)進(jìn)程?
}?
else?
{?
return???-1;?
}?


WCHAR???wsz[MAX_PATH];?
swprintf(wsz???L“%S?““F:\\hookdll.dll“);?//dll地址

LPCWSTR???p???=???wsz;?
//在目標(biāo)進(jìn)程中創(chuàng)建線程并注入dll
if(CreateRemoteThreadLoadDll(pdwRemoteProcessId))?
return?1;
}

//---------------------------------------------------------------------?
//在目標(biāo)進(jìn)程中創(chuàng)建線程并注入dll
BOOL???CreateRemoteThreadLoadDll(LPCWSTR???lpwLibFile???DWORD64???dwProcessId)?
{?
BOOL???bRet?=?FALSE;?
HANDLE???hProcess?=?NULLhThread?=?NULL;?
LPVOID?pszLibRemoteFile???=???NULL;
SIZE_T?dwWritten?=?0;
__try?
{?
//1.打開進(jìn)程,同時(shí)申請(qǐng)權(quán)限,這里申請(qǐng)了PROCESS_ALL_ACCESS
hProcess?=?OpenProcess(PROCESS_ALL_ACCESS?TRUE?dwProcessId);
if???(hProcess???==???NULL)?
__leave;?

int???cch???=???1???+???lstrlenW(lpwLibFile);?
int???cb???=???cch???*???sizeof(WCHAR);?
printf(“cb:%d\n“cb);
printf(“cb1:%d\n“sizeof(lpwLibFile));
//2.申

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????9536??2012-07-20?14:56??injectDLL.cpp

-----------?---------??----------?-----??----

?????????????????9536????????????????????1


評(píng)論

共有 條評(píng)論

相關(guān)資源