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

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

?? mymuhook.cpp

?? 關于破解密碼的一些代碼
?? CPP
字號:
// mymuhook.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include "mymuhook.h"
#include "stdio.h"
#include <Winsock2.h>
#pragma comment(lib, "ws2_32")


// This is an example of an exported variable
MYMUHOOK_API int nMymuhook=0;

// This is an example of an exported function.
MYMUHOOK_API int fnMymuhook(void)
{
	return 42;
}

// This is the constructor of a class that has been exported.
// see mymuhook.h for the class definition
CMymuhook::CMymuhook()
{ 
	return; 
}
MYMUHOOK_API int StopHook()
{
	return(UnhookWindowsHookEx((HHOOK)glhHook)); 

}
LRESULT WINAPI myHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
	::MessageBox(0,"fjod","jfkd",MB_OK);
	return CallNextHookEx((HHOOK)glhHook, nCode, wParam, lParam); 
}
MYMUHOOK_API bool SetHook()
{
	glhHook = (HHOOK)SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)myHookProc,myinstance, 0); 
	if(!glhHook)
		return 0;
	return 1;
}
typedef  struct tagHOOKDATA
{
	bool ishooked;//用來卸載時判斷是否已經被hook過
	PROC pfnO;//原函數地址如(PROC)MessageBoxA
	PROC pfn;//替換成的函數地址如(PROC)new_MessageBoxA
	BYTE ins_jmp;//保存被jmp指令替換掉的那個字節
	DWORD fn_addr;//保存被轉跳地址替換掉的4個字節
}HOOKDATA, *LPHOOKDATA;

HOOKDATA senddata;
HOOKDATA recvdata;
HOOKDATA keydata;
bool ok=false;//是否加血

HOOKDATA memdata;

BYTE x=0,y=0;
bool WINAPI HookOneApi(LPHOOKDATA codedata)//只需設置pfnO和pfn就可以了
{
	DWORD oldAccess;//保存被替換的這5個字節的內存讀寫屬性
	DWORD tmp;//臨時
	unsigned char *p=(unsigned char *)codedata->pfnO;
	if(false==VirtualProtect(p,5,PAGE_EXECUTE_READWRITE,&oldAccess ))//改變內存讀寫屬性
		return false;
	codedata->ins_jmp =*p;//保存第一個字節	
	*p=0xe9;//jmp == 0xe9
	DWORD *pp=(DWORD *)(p+1);//轉成DWORD指針,一次性寫入DWORD地址
	codedata->fn_addr =*pp;//保存
	*pp=(DWORD)codedata->pfn-(DWORD)codedata->pfnO-5;//新函數在jmp指令里的地址
	VirtualProtect(p,5,oldAccess,&tmp);//恢復內存讀寫屬性
	codedata->ishooked =true;
	return true;
}

bool WINAPI UnhookOneApi(LPHOOKDATA codedata)//保存著由HookOneApi得的數據
{
	if(codedata->ishooked ==false)//如果這個函數沒被Hook過,直接返回
		return true;
	DWORD oldAccess;
	DWORD tmp;
	unsigned char *p=(unsigned char *)codedata->pfnO ;
	if(false==VirtualProtect(p,5,PAGE_EXECUTE_READWRITE,&oldAccess ))
		return false;
	*p=codedata->ins_jmp ;
	DWORD *pp=(DWORD *)(p+1);
	*pp=codedata->fn_addr ;
	VirtualProtect(p,5,oldAccess,&tmp);//恢復內存讀寫屬性
	return true;
}



void jiami(unsigned char *buf)//加密
{
	char *p={"\xe7\x6d\x3a\x89\xbc\xb2\x9f\x73\x23\xa8\xfe\xb6\x49\x5d\x39\x5d\x8a\xcb\x63\x8d\xea\x7d\x2b\x5f\xc3\xb1\xe9\x83\x29\x51\xe8\x56"};
	for(int i=3;i<buf[1];i++)
	{
		unsigned char c=(unsigned char)p[i%32];
		c^=buf[i-1];
		buf[i]^=c;
	}

}


void jiemi(unsigned char *buf)//解密
{
	char *p={"\xe7\x6d\x3a\x89\xbc\xb2\x9f\x73\x23\xa8\xfe\xb6\x49\x5d\x39\x5d\x8a\xcb\x63\x8d\xea\x7d\x2b\x5f\xc3\xb1\xe9\x83\x29\x51\xe8\x56"};
	int l=buf[1];//獲取包長度
	for(int i =l-1;i>=3;i--)
	{
		unsigned char c=(unsigned char)p[i%32];
		c^=buf[i-1];
		buf[i]^=c;
	}

}



int WINAPI Myrecv(SOCKET s,char*buf,int len,int flags)
{
	UnhookOneApi(&recvdata);
	unsigned char mbuf[1000];
	int ret;
	ret=recv(s,buf,len,flags);
	unsigned char *pp=(unsigned char*)buf;
	if(0xc1==pp[0] && 0xd7 ==pp[2] && 0x8==pp[1])
	{
		
		memset(mbuf,0,sizeof(mbuf));
		memcpy(mbuf,pp,pp[1]);
		jiemi(mbuf);
		/*uf[5]=x;
		mbuf[6]=y;
		jiami(mbuf);
		buf[5]=mbuf[5];
		buf[6]=mbuf[6];
		buf[7]=0;*/
		FILE *fp;
		fp=fopen("d:\\c1xxrecv.txt","a");
		fprintf(fp,"recv: ");
		for(int i =0;i<mbuf[1];i++)
		{
			fprintf(fp,"%3x ",(unsigned char)mbuf[i]);
			if(3==i||4==i)
				fprintf(fp,"(%3d) ",(unsigned char)mbuf[i]);

		}
		fprintf(fp,"\n");
		fclose(fp);
	}

	HookOneApi(&recvdata);
	return ret;
}



int WINAPI Mysend(SOCKET s,const char* buf,int len,int flags)
{
	UnhookOneApi(&senddata);
	unsigned char mbuf[1000];
	
	int ret;
	unsigned char *pp=(unsigned char *)buf;
	if(0xc1==pp[0] && 0xd9==pp[2])//0xd7為走路包0xd9為左鍵打怪
	{
		
		memset(mbuf,0,sizeof(mbuf));
		memcpy(mbuf,pp,pp[1]);
		jiemi(mbuf);
		/*x=mbuf[3];
		y=mbuf[4];*/
		
		FILE *fp;
		fp=fopen("d:\\c1xxsend.txt","a");
		fprintf(fp,"send: ");
		for(int i =0;i<mbuf[1];i++)
			fprintf(fp,"%3x ",(unsigned char)mbuf[i]);
		fprintf(fp,"\n");
		fclose(fp);

		if(0==pp[2])//移動命令
		{
			FILE *fp;
			fp=fopen("d:\\move.txt","a");
			fwrite(mbuf,mbuf[1],1,fp);
			fprintf(fp,"\n\n");
			fclose(fp);
		}

		//jiami(mbuf);
		
	}
	 ret =send(s,buf,len,flags);
	HookOneApi(&senddata);
	return ret;
}





  void   *mymemcpy( void *dest, const void *src, size_t count )
{
	UnhookOneApi(&memdata);

	FILE *fp;
	fp=fopen("d:\\qqtest.txt","a");
	fprintf(fp,"Msg:");
	fwrite(src,count,1,fp);
	fprintf(fp,"\n");
	
	fclose(fp);

	void *ret=memcpy(dest,src,count);
	HookOneApi(&memdata);
	return ret;

}

void thishook()
{
	senddata.pfn=(PROC)Mysend;
	senddata.pfnO=(PROC)send;
	HookOneApi(&senddata);

	recvdata.pfn=(PROC)Myrecv;
	recvdata.pfnO=(PROC)recv;
	HookOneApi(&recvdata);

	/*keydata.pfn=(PROC)MyGetAsyncKeyState;
	keydata.pfnO=(PROC)GetAsyncKeyState;
	HookOneApi(&keydata);

	memdata.pfn =(PROC)mymemcpy;
	memdata.pfnO=(PROC)memcpy;
	HookOneApi(&memdata);*/
}


void unthishook()
{
	UnhookOneApi(&senddata);
	UnhookOneApi(&recvdata);
	//UnhookOneApi(&keydata);
	//UnhookOneApi(&memdata);
}
VOID CALLBACK TimerProc( HWND hwnd, UINT uMsg,UINT_PTR idEvent, DWORD dwTime)
{
	ok=true;
}
/*
BOOL APIENTRY DllMain( HANDLE hModule,DWORD  ul_reason_for_call, LPVOID lpReserved )
{
    switch(ul_reason_for_call) 
	{ 
	case DLL_PROCESS_ATTACH:
		//SetTimer(NULL,123,2000,(TIMERPROC)TimerProc);
		thishook();
		break;
	case DLL_PROCESS_DETACH:
		unthishook();
		break; 
	} 
	 
    return TRUE; 
}
*/

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    switch (ul_reason_for_call)
	{
		case DLL_PROCESS_ATTACH:
			thishook();
			myinstance=(HINSTANCE)hModule;
			break;
		case DLL_THREAD_ATTACH:
		case DLL_THREAD_DETACH:
			break;
		case DLL_PROCESS_DETACH:
			unthishook();
			break;
    }
    return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜影院久久久| 亚洲欧美影音先锋| 欧美视频一区在线观看| 99re免费视频精品全部| 白白色亚洲国产精品| 99久久久精品| 日本高清成人免费播放| 在线亚洲免费视频| 884aa四虎影成人精品一区| 欧美日韩电影一区| 精品少妇一区二区三区日产乱码| 欧美一卡在线观看| 久久综合久久鬼色中文字| 国产亚洲一区二区在线观看| 欧美激情在线一区二区| 亚洲欧美aⅴ...| 亚洲h在线观看| 精品一区二区三区免费| 国产高清久久久| 91传媒视频在线播放| 欧美日韩精品免费观看视频| 91精品国产综合久久婷婷香蕉| 精品三级av在线| 国产精品久99| 日韩1区2区3区| 国产成人自拍网| 欧美性受xxxx黑人xyx性爽| 欧美一区二区三区免费视频| 精品动漫一区二区三区在线观看| 中文字幕巨乱亚洲| 偷拍亚洲欧洲综合| 成人黄色免费短视频| 在线观看亚洲精品视频| 日韩美一区二区三区| 国产精品久久国产精麻豆99网站 | 日韩电影在线看| 国产精品综合网| 色婷婷亚洲一区二区三区| 欧美一区三区二区| 亚洲欧美一区二区三区国产精品| 秋霞午夜鲁丝一区二区老狼| www.亚洲色图| 欧美精品一区二区不卡| 亚洲一二三四久久| 成人av午夜电影| 日韩欧美一级二级三级| 亚洲精品老司机| 国产成人日日夜夜| 日韩一区二区中文字幕| 亚洲最新视频在线播放| 国产成人免费视频网站高清观看视频 | 蜜臀av一级做a爰片久久| 粉嫩av亚洲一区二区图片| 91精品国产综合久久久久久久久久 | 日韩美一区二区三区| 亚洲免费观看高清在线观看| 国产精品91xxx| 欧美日韩日日夜夜| 天堂在线亚洲视频| 成人性视频免费网站| 日韩一区二区精品在线观看| 亚洲激情在线播放| av日韩在线网站| 欧美激情一区二区在线| 国产精品自拍一区| 精品国产乱码久久| 狠狠狠色丁香婷婷综合久久五月| 欧美日韩中文字幕精品| 一区二区三区产品免费精品久久75| 粉嫩久久99精品久久久久久夜| 久久影院视频免费| 麻豆一区二区三| 日韩欧美黄色影院| 九九国产精品视频| 精品奇米国产一区二区三区| 蜜乳av一区二区三区| 91精品国产综合久久香蕉的特点 | 国产乱码精品一区二区三区av| 日韩欧美一区在线观看| 久久99久久99精品免视看婷婷| 欧美日韩极品在线观看一区| 午夜视频在线观看一区二区 | 国产乱子伦一区二区三区国色天香| 日韩一区二区三区四区| 奇米影视一区二区三区| 欧美一区二区三区免费大片| 精品伊人久久久久7777人| 欧美精品一区二区三区四区| 国产精品 欧美精品| 国产精品国产三级国产aⅴ原创| 成人激情免费视频| 一区二区三区中文在线| 51午夜精品国产| 韩国成人福利片在线播放| 亚洲国产精品传媒在线观看| 91麻豆免费在线观看| 五月婷婷久久丁香| 精品国产乱码久久久久久久久| 成人伦理片在线| 亚洲国产毛片aaaaa无费看| 欧美tickling挠脚心丨vk| 成人一区二区三区中文字幕| 一区二区三区四区在线| 日韩精品中文字幕一区二区三区 | 欧美三级视频在线观看| 激情综合色综合久久综合| 日韩美女久久久| 欧美一个色资源| 99国产精品久| 久久91精品国产91久久小草| 国产精品久久三| 91精品国产欧美一区二区成人| 国产福利91精品| 日韩vs国产vs欧美| 亚洲三级免费电影| xfplay精品久久| 欧美三级视频在线| eeuss国产一区二区三区| 免费精品视频在线| 亚洲综合成人在线视频| 久久久久高清精品| 欧美日韩你懂的| 不卡一区二区三区四区| 裸体健美xxxx欧美裸体表演| 综合电影一区二区三区| 久久免费国产精品| 欧美一区二区福利在线| 欧美最猛性xxxxx直播| 成人黄色小视频在线观看| 美国三级日本三级久久99 | 日韩一区二区三区电影| 91视频xxxx| 成人永久aaa| 国产精品一二三在| 久久99国内精品| 日韩国产欧美在线播放| 亚洲欧洲美洲综合色网| 久久精品人人做人人综合| 日韩欧美的一区二区| 在线电影一区二区三区| 欧美日韩日日夜夜| 欧美性受极品xxxx喷水| 欧美偷拍一区二区| 99re热视频精品| 91色porny蝌蚪| av电影天堂一区二区在线观看| 成人综合在线观看| 成人午夜视频在线| av在线这里只有精品| 99久久伊人久久99| 99久久综合色| 欧洲人成人精品| 欧洲另类一二三四区| 欧美最猛性xxxxx直播| 欧美在线观看视频在线| 欧美日韩中文精品| 欧美日韩一本到| 欧美一区二区久久久| 精品国产乱码久久久久久1区2区| 精品人伦一区二区色婷婷| 国产午夜精品一区二区 | 亚洲一本大道在线| 亚洲成av人综合在线观看| 亚洲国产精品麻豆| 午夜久久电影网| 九九精品视频在线看| 成人午夜视频在线观看| 色综合色综合色综合色综合色综合 | 国产一区二区三区日韩| 国产成人在线视频网站| 99综合电影在线视频| 在线精品亚洲一区二区不卡| 欧美日本免费一区二区三区| 日韩精品一区二区三区老鸭窝| 久久综合成人精品亚洲另类欧美| 久久久99精品免费观看| 亚洲视频中文字幕| 青青草原综合久久大伊人精品| 国产高清精品网站| 欧美天堂亚洲电影院在线播放| 91精品国产综合久久久久久| 国产喂奶挤奶一区二区三区| 亚洲人123区| 精品亚洲欧美一区| 一本到不卡免费一区二区| 91精品国产综合久久福利软件| 国产日韩三级在线| 亚洲丶国产丶欧美一区二区三区| 韩国av一区二区三区四区| 99精品视频在线播放观看| 91精品国产乱码| 亚洲欧洲av一区二区三区久久| 一个色在线综合| 国产传媒日韩欧美成人| 欧美视频精品在线观看| 国产欧美精品日韩区二区麻豆天美| 亚洲v中文字幕| 不卡一区二区在线| 久久蜜桃一区二区| 免费成人在线观看|