乐易论坛-乐易网易语言培训教程火山PC视窗中文编程交流论坛

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

办理VIP,定制软件,报名培训联系QQ请牢记揰掵佲的QQ号1615457736 1615457734 其他都是骗子易语言0基础入门课程
易语言汇编快速入门课程《64位某信Hook技术实战基础教程》【投稿课程】百日Js加密分析实战课程(无密下载)
【强烈推荐】《火山视窗0基础入门系列课程》《64位某信Hook技术实战进阶教程》【投稿课程】《0基础x64位游戏内存辅助开发教程 》
《火山视窗POST基础入门课程》《64位某信数据库操作课程》【投稿课程】广告位招租联系QQ1615457736
查看: 11369|回复: 9

梦三国D3D全图源码

[复制链接]

梦三国D3D全图源码

[复制链接]
已绑定手机
已实名认证
揰掵佲
等级头衔

等級:乐易运营组

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
易币
贡献
主题
精华
金钱
积分
24312
注册时间
2014-8-2
最后登录
1970-1-1

勋章墙

2015-1-7 08:44:48 | 显示全部楼层 |阅读模式
..真的非常非常垃圾 编码习惯也不是很好 不喜勿下  
注入啊d3d的sdk啊什么直接百度一下就行了 很简单的


//再次声明!!!代码非常丑!!做好心理准备!!!
游客,如果您要查看本帖隐藏内容请回复




[C++] 纯文本查看 复制代码
//By Jocleys 27/05/2014 @ zhihu.com

#include "stdafx.h"
#include "d3d9.h"
#include "D3dx9core.h"
#include "Bgod.h"
#include "VMProtectSDK.h"
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
//定义颜色
#define D3DCOLOR_XRGB(r,g,b) D3DCOLOR_ARGB(0xff,r,g,b)
//
//HOOK 变量区
HWND GameHwnd;
DWORD dw_retAdd;
int i_timetogo=0;
int x;
LPDIRECT3D9 m_pD3D=NULL;
//end
//字体变量区
ID3DXFont* f_dian;
ID3DXFont* f_id;
ID3DXFont* f_welcome;
ID3DXFont* f_deng;
ID3DXFont* f_box;
//

//测试 娱乐模式全图函数变量区
RECT re_main;//游戏窗口句柄
DWORD dw_acbase=0x166c440;//人物基质 15679c4 155E754
DWORD dw_31acbase=0x166c440;//31版本人物基质
DWORD dw_base_eng;
int banben;
float f_watchax;
float f_watchay;
float f_watchx;
float f_watchy;
int i_watchax=0;
int i_watchay=0;
int i_watchx=0;
int i_watchy=0;
char ch_watchax[10];
char ch_watchay[10];
char ch_watchx[10];
char ch_watchy[10];
DWORD dw_base_eng1=0x0C0C40; 
DWORD dw_31base_eng1=0x0C0C40; //31版本
DWORD dw_dengbase=0x15d3afc;
DWORD dw_bossbase=0x15d39c8;
float f_bx;
float f_by;
char* ch_bid[30];
int myBRectx[30];
int myBRecty[30];
int i_many=0;//参展人数
bool b_flase=true;//是否继续扫描人数总量
float ac_x=0;//整数人物X 如果为-1 则说明到尽头了
float ac_y=0;
float ac_hp=0;
float ac_mp=0;
int i_index=0;//游戏数组下表
int i_drawx;//测试用画图坐标
char st[]="●";
char st1[]="比赛尚未开始!";
int r_many;//读取出来的
char ch_r_many[3];
int i_ac_x;
int i_ac_y;
int color[1][3];
char ch_a[5];
char ch_r[5];
char ch_g[5];
char ch_sys[2];
int sys=0;
char ch_dianh[4];
int dianh;
char ch_dianw[4];
int dianw;
int myDRectx[60];
int myDRecty[60];
float d_x=0;
float d_y=0;
int bgchangey;
//
//画图函数 重要!
int retchar(char* c1,char* c2)
{
	if ((CString)c1==(CString)c2)
	{
		return 0;
	}return 1;
}
ID3DXFont* _stdcall CreateMyFont(LPDIRECT3DDEVICE9 pDxdevice,int model)
{

//	pDxdevice->BeginScene();//开始绘制
	//
	//
	D3DXFONT_DESCA lf;
	ZeroMemory(&lf, sizeof(D3DXFONT_DESCA));
	if (model==1)
	{
		lf.Height = 16; //字体高度
		lf.Width = 8; // 字体宽度
		lf.Weight = 100; 
	}
	if(model==2){
		lf.Height = 20; //字体高度
		lf.Width =10; // 字体宽度
		lf.Weight = 100; 
	}
	if(model==3){
		lf.Height = 20; //字体高度
		lf.Width =10; // 字体宽度
		lf.Weight = 100; 
	}
	if (model==4)
	{
		lf.Height = 16; //字体高度
		lf.Width =8; // 字体宽度
		lf.Weight = 100; 
	}
	
	lf.Italic = false;
	lf.CharSet = DEFAULT_CHARSET;
	if (sys==1)
	{
		strcpy(lf.FaceName, "宋体"); 

	}else strcpy(lf.FaceName, "微软雅黑"); // 字型
	ID3DXFont* font=NULL;
	if(D3D_OK!=D3DXCreateFontIndirect(pDxdevice, &lf, &font)) //创建字体对象
		return 0;

	return font;
}
BOOL _stdcall DrawMyText123(LPDIRECT3DDEVICE9 pDxdevice,TCHAR* strText ,int nbuf,int x,int y,ID3DXFont* myFont,int colorINT)
{

	RECT myrect;
	myrect.top=y;  //文本块的y坐标
	myrect.left=x; //文本块的左坐标
	myrect.right=500+myrect.left;
	myrect.bottom=500+myrect.top;

	pDxdevice->BeginScene();//开始绘制
	switch(colorINT){
	case 1:	myFont->DrawText(NULL,strText,nbuf,&myrect, DT_TOP | DT_LEFT,D3DCOLOR_XRGB(255,0,0));break;
	case 2: myFont->DrawText(NULL,strText,nbuf,&myrect, DT_TOP | DT_LEFT,D3DCOLOR_XRGB(255,255,255));break;
	case 3: myFont->DrawText(NULL,strText,nbuf,&myrect, DT_TOP | DT_LEFT,D3DCOLOR_XRGB(255,255,0));break;
	case 4: myFont->DrawText(NULL,strText,nbuf,&myrect, DT_TOP | DT_LEFT,D3DCOLOR_XRGB(0,191,255));break;
	}
	pDxdevice->EndScene();
	return true;
}

//画图函数 结束!
int ssa;
char ch_chx[6];
char ch_chy[6];
int myRectx[30];
int myRecty[30];
int myHp[30];
int myMp[30];

char ch_num[2];
int i_real_x;//人物真坐标 x
int i_real_y;
float f_mys_x;//转换成我的屏幕上应该对应的坐标
float f_mys_y;
char ch_mys_x[20];
char ch_mys_y[20];
int i_mys_x;
int i_mys_y;
int i_wh;
char ch_wh[2];
char ch_name_1[3];
char ch_name_2[3];
int i_an;//取总人数的一半
char ch_many[2];//取ID
//测试绘图转换率!
char ch_bgmapX[10];
char ch_bgmapY[10];
int i_bgmapX;//先从X的画图开始 X还是有些不准
int i_bgmapY;
int i_smapX;
int i_smapY;
char ch_smapX[10];
char ch_smapY[10];
char ch_bgxx[10];
char ch_model[2];
int i_model;
float f_bgxx;
int i_gd_an;
int i_sgz_jici=0;//第一个人读的
int i_sgz_jici_2=0;
int idcc=56; //28
char* id;//尝试获取人名
char* ch_id[30];//

char* did;
char* ch_did[30];//灯ID
int allx;
int ally;
char basex[10];
char basey[10];
char c_allx[10];
char c_ally[10];
char cx[10];
char cy[10];
int realx;
//int clx;
int rx;
int ry;
int cl_x;//client
int cl_y;
float l123;
float l321;
char ch_hp[5];
char ch_mp[5];
char ch_hp_b[10];
char ch_mp_b[10];
int i_dindex=0;
int i_dmany=0;
bool b_dstart=true;
char ch_dx[6];
char ch_dy[6];
char* zcid="侦查*孔明灯";
char* fyid="反隐*孔明灯";
char* ch_boss1="蛤蟆老大";
char* ch_boss2="熊王黑墨";
char* ch_boss3="恶麒麟";
char* ch_boss4="冥鬼王";
char* ch_boss5="上古炎魔";
char* ch_cmpme;
char* ch_xian="_____________";
int i_gogoy;
char ch_forhp[]="Hp:";
float bgfory;
float realy;
char ch_tryy[6];
float f_tryy;
char ch_tryx[6];
float f_tryx;
char ch_bghp[5]; 
int i_bossmany;
//
int strcmp(char* sz1,char* sz2)
{
	while(*sz1++==*sz2++ && *sz1 && *sz2);

	return sz1-sz2;
}
void _stdcall bmapname(LPDIRECT3DDEVICE9 pDxdevice,int x,int y,int many)
{
							_asm
			{
				mov eax,[dw_base_eng]//大地图
				add eax,0x8
				mov ebx,[eax]
				mov [f_watchax],ebx
				add eax,0x4
				mov ebx,[eax]
				mov [f_watchay],ebx
				add  eax,0x8
				mov ebx,[eax]
				mov [f_watchx],ebx
				add eax,0x4
				mov ebx,[eax]
				mov [f_watchy],ebx
			}
			sprintf(ch_watchax,"%f",f_watchax);
			i_watchax=_ttoi(ch_watchax);
			sprintf(ch_watchay,"%f",f_watchay);
			i_watchay=_ttoi(ch_watchay);
			sprintf(ch_watchx,"%f",f_watchx);
			i_watchx=_ttoi(ch_watchx);
			sprintf(ch_watchy,"%f",f_watchy);
			i_watchy=_ttoi(ch_watchy);
		//	if(bgchangey==0)bgchangey=j_

	realx=i_watchx-(int)i_watchax/2;
	allx=realx+i_watchax;
	ally=i_watchy+i_watchay;
	if (x>realx&&x<allx)//判断坐标
	{
		if (y>i_watchy&&y<ally)
		{

			//坐标转换测试 大-屏幕
			//GetPrivateProfileStringA("try","x","",ch_tryx,8,"C:\\test.ini");//读取对应信息
		//	GetPrivateProfileStringA("try","y","",ch_tryy,8,"C:\\test.ini");//读取对应信息
		//	f_tryx=atof(ch_tryx);
		//	f_tryy=atof(ch_tryy);
			rx=x-realx;
			l123=1.000*re_main.right/f_watchax*0.94*rx;
			ry=y-i_watchy;
		//	sprintf(basey,"%d",re_main.top);
			sprintf(ch_bghp,"%d",myHp[many]);
			//i_watchay+=650;
			l321=1.000*re_main.bottom/f_watchay*1.06*ry;
			i_gogoy=re_main.bottom-l321+6;
			if(i_model==2)i_gogoy+=40;
			DrawMyText123(pDxdevice,ch_id[many],sizeof ch_id[many],l123,i_gogoy,f_id,2);
			DrawMyText123(pDxdevice,ch_forhp,2,l123+60,i_gogoy,f_id,2);
			if ((int)strlen(ch_bghp)>0)
			{
					DrawMyText123(pDxdevice,ch_bghp,(int)strlen(ch_bghp),l123+92,i_gogoy,f_id,1);//hp
			}

			DrawMyText123(pDxdevice,ch_xian, (int)strlen(ch_xian),l123,i_gogoy+3,f_id,2);
		}
		
	}
}
int goY=100;
char ch_many123[2];
void _stdcall DrawHpMp(LPDIRECT3DDEVICE9 pDxdevice,int many)
{
	    goY=1+many;
		if(many>9)many-=9;
		goY=goY*30;
		goY=goY+100;
		sprintf(ch_hp,"%d",myHp[many]);
		sprintf(ch_mp,"%d",myMp[many]);
		DrawMyText123(pDxdevice,ch_id[many],sizeof ch_id[many],re_main.right-150,goY,f_id,2);//id
		DrawMyText123(pDxdevice,":",1,re_main.right-110,goY,f_id,2);//点
        if ((int)strlen(ch_hp)>0&&(int)strlen(ch_mp)>0)
		{
			DrawMyText123(pDxdevice,ch_hp,(int)strlen(ch_hp) ,re_main.right-100,goY,f_id,1);//hp
	       	DrawMyText123(pDxdevice,ch_mp,(int)strlen(ch_mp),re_main.right-50,goY,f_id,3);//MP
		}

}
int i_bigsmx=0;
char ch_bigsmx[6];
float f_clientx;
int i_clientx;
int i_clientmodel;
int _stdcall changex(int bgx)
{
	i_clientx=0;
	GetPrivateProfileStringA("model","playone","",ch_bigsmx,6,"C:\\mscc.ini");//读取模式信息 ,1为默认 2为经典 
	i_clientmodel=_ttoi(ch_bigsmx);
    if (i_clientmodel==2)
    {
		if((int)re_main.right!=1024){
			i_clientx=(int)re_main.right-1024;
			i_clientx=1.0000*i_clientx*0.5059+0.6;
		//	i_clientx=i_clientx+1;
		}
    }
	GetPrivateProfileStringA("model","play","",ch_model,2,"C:\\mscc.ini");//读取对应信息
	i_model=_ttoi(ch_model);
	if(i_model==1){
		i_smapX=84;
		i_bgmapX=8100;}
		if(i_model==2){
			i_smapX=91;
			i_bgmapX=8500;}
		if(i_model==3){
			i_smapX=84;
			i_bgmapX=7900;}
	if (bgx>0)//说明在1 3象限
	{		
		f_bgxx=bgx / 97;
		sprintf(ch_bgxx,"%f",f_bgxx);
		return(_ttoi(ch_bgxx)+i_smapX+i_clientx);
	}else{
		bgx=bgx*(-1);
		bgx=i_bgmapX-bgx;
		f_bgxx=bgx / 97;
		sprintf(ch_bgxx,"%f",f_bgxx);
		return(_ttoi(ch_bgxx)+i_clientx);
	}
}
int i_bigsmy=0;
char ch_bigsmy[6];
int _stdcall changey(int bgy)
{

	GetPrivateProfileStringA("model","play","",ch_model,2,"C:\\mscc.ini");//读取对应信息
	i_model=_ttoi(ch_model);
	if(i_model==1){
		i_smapY=100;
		i_bgmapY=9900;}
	if(i_model==2){
		i_smapY=105;
		i_bgmapY=10400;}
	if(i_model==3){
		i_smapY=105;
		i_bgmapY=10800;}
	if (bgy>0)//说明在1 3象限
	{
	   // GetPrivateProfileStringA("try","y","",ch_bigsmy,6,"C:\\test.ini");//读取对应信息
	  //  i_bigsmy=_ttoi(ch_bigsmy);
		f_bgxx=bgy / 98;
		sprintf(ch_bgxx,"%f",f_bgxx);
		if (i_clientmodel==2)
		{
			return(_ttoi(ch_bgxx)+i_smapY-6);
		}return(_ttoi(ch_bgxx)+i_smapY);
		
	}else{
	//	GetPrivateProfileStringA("try","x","",ch_bigsmy,6,"C:\\test.ini");//读取对应信息
	  //  i_bigsmy=_ttoi(ch_bigsmy);
		bgy=bgy*(-1);
		bgy=i_bgmapY-bgy;
		f_bgxx=bgy / 98;
		sprintf(ch_bgxx,"%f",f_bgxx);
				if (i_clientmodel==2)
		{
			return(_ttoi(ch_bgxx)-2);
		}return(_ttoi(ch_bgxx));
	}
}

void _stdcall getIMANY()
{
	i_many=0;//初始化变量
			b_flase=true;
			ac_x=0;
			while (b_flase)
			{
				i_index=i_many*4;
				__try
			{
				_asm
				{
					push eax
					push ebx
					mov eax,[dw_acbase]
					mov eax,[eax]
					add eax,0x274
					mov eax,[eax]
					add eax,0x30
					mov eax,[eax]
					mov ebx,[i_index]   //将数组下表传入eax
					add eax,ebx        //eax+index
					mov eax,[eax] 
					add eax,0x44       
					mov ebx,[eax]
					add ebx,0x154
					mov ebx,[ebx]
					mov [ac_x],ebx
					mov ebx,[eax]
					add ebx,0x158
					mov ebx,[ebx]
					mov [ac_y],ebx
					mov ebx,[eax]
					add ebx,0x88 //人名
					mov id,ebx
					mov ebx,[eax]
					add ebx,0xAC
					mov ebx,[ebx]
					mov [ac_hp],ebx
					mov ebx,[eax]
					add ebx,0xb0
					mov ebx,[ebx]
					mov [ac_mp],ebx
						//
					pop ebx
					pop eax
				}
				sprintf(ch_chx,"%f",ac_x);
				i_ac_x=_ttoi(ch_chx);
				myRectx[i_many]=i_ac_x;
				sprintf(ch_chy,"%f",ac_y);
				i_ac_y=_ttoi(ch_chy);
				myRecty[i_many]=i_ac_y;
				sprintf(ch_hp_b,"%f",ac_hp);
				myHp[i_many]=_ttoi(ch_hp_b);
				sprintf(ch_mp_b,"%f",ac_mp);
				myMp[i_many]=_ttoi(ch_mp_b);
				ch_id[i_many]=id;
				i_many+=1;
							}
				
				__except(EXCEPTION_EXECUTE_HANDLER)
				{
					b_flase=false;
				}

		}
}
void _stdcall getDeng()
{
        i_dmany=0;
		b_dstart=true;
		i_index=0;
		while(b_dstart)
		{
			i_dindex=i_dmany*92+24;
			__try{
				_asm{
					push eax
					push ebx
					mov eax,[dw_dengbase]
					mov eax,[eax]
					mov ebx,[i_dindex]
					add eax,ebx
					mov eax,[eax]
					add eax,0x38
					mov ebx,[eax]
					add ebx,0x150
					mov ebx,[ebx]
					mov [d_x],ebx
					mov ebx,[eax]
					add ebx,0x154
					mov ebx,[ebx]
					mov [d_y],ebx
					mov ebx,[eax]
					add ebx,0x84
					mov id,ebx
					pop ebx
					pop eax
				}
					sprintf(ch_dx,"%f",d_x);
					myDRectx[i_dmany]=_ttoi(ch_dx);
					sprintf(ch_dy,"%f",d_y);
					myDRecty[i_dmany]=_ttoi(ch_dy);
					ch_did[i_dmany]=id;
					i_dmany+=1;
			}
			__except(EXCEPTION_EXECUTE_HANDLER)
			{
				b_dstart=false;
			}
		}
}

void _stdcall getBoss()          ////////////有错误!!!!!!!!!!!!
{
        i_bossmany=0;
		b_dstart=true;
		i_index=0;
		while(b_dstart)
		{
			i_dindex=i_bossmany*92+24;
			__try{
				_asm{
					push eax
					push ebx
					mov eax,[dw_bossbase]
					mov eax,[eax]
					mov ebx,[i_dindex]
					add eax,ebx
					mov eax,[eax]
					add eax,0x38
					mov ebx,[eax]
					add ebx,0x150
					mov ebx,[ebx]
					mov [f_bx],ebx
					mov ebx,[eax]
					add ebx,0x154
					mov ebx,[ebx]
					mov [f_by],ebx
					mov ebx,[eax]
					add ebx,0x84
					mov id,ebx
					pop ebx
					pop eax
				}
					sprintf(ch_dx,"%f",f_bx);
					myBRectx[i_bossmany]=_ttoi(ch_dx);
					sprintf(ch_dy,"%f",f_by);
					myBRecty[i_bossmany]=_ttoi(ch_dy);
					ch_bid[i_bossmany]=id;
					i_bossmany+=1;
			}
			__except(EXCEPTION_EXECUTE_HANDLER)
			{
				b_dstart=false;
			}
		}
}
void _stdcall YLSG(LPDIRECT3DDEVICE9 pDxdevice)//参数为设备接口
{     
	       VMProtectBegin("z1");
	//SE_PROTECT_START();
	        
			getIMANY();
		//	getDeng();
		//	getBoss();
			//大地图数据

		//	if(::FindWindowA(NULL,"大神全图")==NULL)return;//不存在就返回
			VMProtectEnd();
		//	SE_PROTECT_END();
		sprintf(ch_many,"%d",i_many);
		GetPrivateProfileStringA("model","play","",ch_model,2,"C:\\mscc.ini");//读取对应信息
		i_model=_ttoi(ch_model);
		if (i_model==3)//官渡
		{
			if (i_many>=3)
		{
			while(i_many>0)
			{
				i_many=i_many-1;
				i_mys_x=changex(myRectx[i_many]);
				i_mys_y=changey(myRecty[i_many]);
				DrawMyText123(pDxdevice,st,sizeof st-1,i_mys_x,(int)re_main.bottom-i_mys_y,f_dian,1);	//画点
			}
		}

		}
		if (i_model!=3)
		{
			if (i_many>=2)//如果有效参赛人数超过两个说明比赛开始了
			{
				while (i_dmany>0)
				{
					i_dmany-=1;
					i_mys_x=changex(myDRectx[i_dmany]);
					i_mys_y=changey(myDRecty[i_dmany]);
					ch_cmpme=ch_did[i_dmany];
					if (retchar(ch_cmpme,zcid)==0)
					{
						DrawMyText123(pDxdevice,"△",2,i_mys_x,(int)re_main.bottom-i_mys_y,f_deng,3);
					}
					if (retchar(ch_cmpme,fyid)==0)
					{
						DrawMyText123(pDxdevice,"反",2,i_mys_x,(int)re_main.bottom-i_mys_y,f_deng,3);
					}
					

				}
				  while (i_bossmany>0)
				{
					i_bossmany-=1;
					i_mys_x=changex(myBRectx[i_bossmany]);
					i_mys_y=changey(myBRecty[i_bossmany]);
						
						ch_cmpme=ch_bid[i_bossmany];
					if(retchar(ch_cmpme,ch_boss1)==0||retchar(ch_cmpme,ch_boss2)==0||retchar(ch_cmpme,ch_boss3)==0||retchar(ch_cmpme,ch_boss4)==0||retchar(ch_cmpme,ch_boss5)==0){
						DrawMyText123(pDxdevice,ch_bid[i_bossmany],4,i_mys_x,(int)re_main.bottom-i_mys_y,f_id,3);
					}

				}
				i_an=i_many / 2;			
				while(i_many>0)
				{
					i_many-=1;
					GetPrivateProfileStringA("H","wh","",ch_wh,2,"C:\\mscc.ini");//读取对应信息
					i_wh=_ttoi(ch_wh);

					if (i_wh==1)
					{
						if (i_many<i_an&&i_many>=0)
						{
							i_mys_x=changex(myRectx[i_many]);
							i_mys_y=changey(myRecty[i_many]);
						//	bmapname(pDxdevice,myRectx[i_many],myRecty[i_many],i_many);
							DrawMyText123(pDxdevice,ch_id[i_many],sizeof ch_id[i_many]-2,i_mys_x,(int)re_main.bottom-5-i_mys_y,f_id,2);
							DrawMyText123(pDxdevice,st,sizeof st-1,i_mys_x,(int)re_main.bottom-i_mys_y,f_dian,1);	//画点
						//	DrawHpMp(pDxdevice,i_many);
						}
					} 
					if (i_wh==2)
					{
						if (i_many>=i_an)
						{
							i_mys_x=changex(myRectx[i_many]);
							i_mys_y=changey(myRecty[i_many]);
						//	bmapname(pDxdevice,myRectx[i_many],myRecty[i_many],i_many);			
							DrawMyText123(pDxdevice,ch_id[i_many],sizeof ch_id[i_many]-2,i_mys_x,(int)re_main.bottom-5-i_mys_y,f_id,2);
							DrawMyText123(pDxdevice,st,sizeof st-1,i_mys_x,(int)re_main.bottom-10-i_mys_y+10,f_dian,1);	//画点
						//	DrawHpMp(pDxdevice,i_many);
							//这里是上方的画图
						}
					}
				}
			}
		}




		
		}

BOOL b_zt=true;
HDC hdc;
int i_weltime=0;
LPDIRECT3DDEVICE9 my;
char* isay="-梦三国大神辅助-";
char foryou[]="↑键切换阵营,←娱乐三国,↓官渡,→三国志";
char ch_mytime[30];

void __declspec(naked) QT()
{
	_asm
	{
		pushad
		mov [my],eax
	}
	if (b_zt)
	{
		f_dian=CreateMyFont(my,2);
		f_id=CreateMyFont(my,1);
		f_welcome=CreateMyFont(my,3);
		f_deng=CreateMyFont(my,4);
		//f_box=CreateMyFont(my,5);
		if(f_dian!=NULL&&f_id!=NULL&&f_welcome!=NULL)b_zt=FALSE;
	}
	if (i_weltime<=3000)
	{
		i_weltime+=1;
		DrawMyText123(my,isay,(int)strlen(isay),1,50,f_welcome,3);
		DrawMyText123(my,"到期时间:",9,1,90,f_welcome	,3);
		DrawMyText123(my,ch_mytime,sizeof ch_mytime,81,90,f_welcome,3);
		DrawMyText123(my,foryou,sizeof foryou-1,1,130,f_welcome,3);
		/*HANDLE myShhandl; //设备句柄
		myShhandl=::OpenFileMappingA(4,false,"MyShareMemoryFile");//获取句柄

		char* ch_mytxt;//char转换 指针
		LPVOID tt; //指针
		tt=MapViewOfFile(myShhandl,4,0,0,0);//读取 返回值为指针
		if (myShhandl==NULL)//如果设备部存在 信息框 no
		{
			AfxMessageBox("No!");
		}
		//AfxMessageBox(ch_mytxt);
		ch_mytxt=(char*)tt;//普通指针转换到char指针
		DrawMyText(my,ch_mytxt,12,1,300,f_welcome,3);//写出来*/
	}
    //GetClientRect(GameHwnd,&re_main);//再次获取游戏屏幕大小
	YLSG(my);
	_asm {popad}
	_asm
	{
		mov edi,edi
		push ebp
		mov ebp,esp
		jmp [dw_retAdd]
	}
}


char ch_pre[11];
int i_pre;
DWORD add;
char ch_banben[2];
DWORD dw_myqx;

void hook()
{
	VMProtectBegin("p");
	//SE_PROTECT_START();
	DeleteFileA("C:\\windows\\bg.ini");
	GameHwnd=::FindWindow(NULL,"梦三国 Online");
	GetClientRect(GameHwnd,&re_main);
	GetPrivateProfileStringA("time","my","",ch_mytime,30,"C:\\mschoco.ini");//读取对应信息
	GetPrivateProfileStringA("Pre","Add","",ch_pre,11,"C:\\mschoco.ini");//读取对应信息
		add=(DWORD)GetModuleHandle("d3d9.dll");
		dw_base_eng=(DWORD)GetModuleHandle("Engine.dll");
		dw_myqx=(DWORD)GetModuleHandle("Engine.dll");
		i_pre=_ttoi(ch_pre);
		PWORD pw_d3dhoo;
		DWORD pd_oldproc;
		PWORD pw_D3Dret;
		PWORD pw_d3dmy;
		PWORD dw_d3dmy;
		DWORD dw_d3dgobase;
		PWORD p_qxdadd;
		PWORD p_qxdadd1;

		_asm{
			mov eax,[add]
			mov ebx,[i_pre]
			add eax,ebx
			mov [pw_d3dhoo],eax
			add eax,1
			mov [pw_d3dmy],eax
			add eax,4
			mov [pw_D3Dret],eax
			mov [dw_retAdd],eax
			mov eax,[dw_base_eng]
			mov ebx,[dw_31base_eng1]
			add eax,ebx
			mov [dw_base_eng],eax
		}		
		byte byte_jmp[1]={0xe9};
		VirtualProtect(pw_d3dhoo,5,64,&pd_oldproc);
		memcpy(pw_d3dhoo,&byte_jmp,1);
		dw_d3dgobase=(DWORD)((DWORD)&QT-(DWORD)pw_D3Dret);
		memcpy(pw_d3dmy,&dw_d3dgobase,4);
		VirtualProtect(pw_d3dhoo,5,pd_oldproc,&pd_oldproc);
	
		VMProtectEnd();
		
	//	SE_PROTECT_END();
}

本帖子中包含更多资源

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

×
回复

使用道具 举报

已绑定手机
已实名认证
我真的是油条
等级头衔

等級:顶级Vip

Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
易币
贡献
主题
精华
金钱
积分
477
注册时间
2014-10-17
最后登录
1970-1-1

勋章墙

2015-1-7 09:47:18 | 显示全部楼层
什么也看不到。。。皇帝的新源码吗,哈哈
回复

使用道具 举报

苍天静
等级头衔

等級:编程入门

Rank: 4

积分成就
易币
贡献
主题
精华
金钱
积分
595
注册时间
2014-10-26
最后登录
1970-1-1

勋章墙

2015-1-7 12:14:58 | 显示全部楼层
这么好的资源,无条件抱走。
回复

使用道具 举报

已绑定手机
浴血★修罗
等级头衔

等級:编程入门

Rank: 4

积分成就
易币
贡献
主题
精华
金钱
积分
532
注册时间
2014-8-15
最后登录
1970-1-1

勋章墙

2015-1-7 13:43:13 | 显示全部楼层
支持乐易编程网
(*^__^*)
回复

使用道具 举报

upzhu
等级头衔

等級:编程起步

Rank: 5Rank: 5

积分成就
易币
贡献
主题
精华
金钱
积分
1326
注册时间
2014-8-22
最后登录
1970-1-1

勋章墙

2015-1-7 21:01:30 | 显示全部楼层
说好的资源呢?
回复

使用道具 举报

已绑定手机
124713549
等级头衔

等級:程序制作者

Rank: 6Rank: 6

积分成就
易币
贡献
主题
精华
金钱
积分
1280
注册时间
2014-8-12
最后登录
1970-1-1

勋章墙

2015-1-8 09:35:24 | 显示全部楼层
支持乐易编程网 (*^__^*)
回复

使用道具 举报

帝天
等级头衔

等級:初识编程

Rank: 1

积分成就
易币
贡献
主题
精华
金钱
积分
8
注册时间
2015-3-10
最后登录
1970-1-1

勋章墙

2015-3-10 13:22:49 | 显示全部楼层
看看。我真的很需要这个
回复

使用道具 举报

btaxr
等级头衔

等級:编程菜鸟

Rank: 2

积分成就
易币
贡献
主题
精华
金钱
积分
72
注册时间
2015-8-31
最后登录
1970-1-1

勋章墙

2015-9-4 17:37:47 | 显示全部楼层
我也想了解,请大家都说说












回复

使用道具 举报

头像被屏蔽
尼基贝拉90
等级头衔

等級:禁止发言

积分成就
易币
贡献
主题
精华
金钱
积分
1344
注册时间
2016-7-15
最后登录
1970-1-1

勋章墙

2016-9-17 15:28:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

往子
等级头衔

等級:编程菜鸟

Rank: 2

积分成就
易币
贡献
主题
精华
金钱
积分
63
注册时间
2017-5-22
最后登录
1970-1-1

勋章墙

2017-5-23 19:09:15 | 显示全部楼层
学习来看看
回复

使用道具 举报

如果懒得打字,请选择右侧内容快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

热点推荐上一条 /5 下一条

QQ|网站地图|手机版|小黑屋|乐易论坛-乐易网 | 湘ICP备19007035号

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表乐易立场!

娄底市乐易网络科技有限公司声明:乐易原创培训课程版权均为我公司所有,未经许可,不得擅自翻录,盗版,破解本站课课程,我们将保留法律诉讼的权利

GMT+8, 2025-7-6 18:35 , Processed in 0.075386 second(s), 69 queries .

Powered by Discuz! X3.4

Copyright © Tencent Cloud.

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