三、C++反作弊对抗实战 (实战篇 —— 6.游戏CS1.6流程API:AddToFullPack 实现反透视)

通常,在FPS射击游戏中会射击到玩家的很多重要的数据,比如玩家移动的脚步声,这个数据由客户端发送至服务端,而服务端通常会转发至所有客户端并存储当前位置,最终来绘制玩家的模型(人物、武器等等)

在前面的章节中,我们讲述过CS透视的原理与实现方法,通常是获取玩家数据信息,将3D坐标转换为屏幕2D坐标,最后绘制方框,从而实现透视效果,而在CS1.6游戏中,我们可参使用C++(HLSDK)编写自己的第三方插件模块,这些模块加载于服务端用与一些特殊功能,至此,我们也可以使用它实现一个CS反透视功能,下面是基于C++的服务端模块片段代码:

MTAntiESP.h

#pragma once

BOOL				MTPatchSoundEspStart();
void				MTPatchSoundEspEnd();

MTAntiESP.cpp

#include "stdafx.h"

// 声音特征码
#define START_SOUND_SIG			"\x68\x2A\x2A\x2A\x2A\x50\x8b\x45\x1c\x51\x8b\x4d\x18\x52\x8b\x55\x14\x50\x51\x52\x57\x53\xE8"
#define START_SOUND_SIG_BYTES	sizeof(START_SOUND_SIG)-1

//
// 反透视相关函数,有个BUG就是站梯子上就看不见了,暂时还没找到解决办法
//

// Sound Esp
BOOL (__cdecl *pSV_StartSound)(edict_s* pEntity, int channel, const char* sample,

猜你喜欢

转载自blog.csdn.net/wangningyu/article/details/129231474