cs作弊器[的基本原理概览
从cd一直到现在的sxe认识了几个很不错爱好的朋友,同时也对这方面有了一定的了解。不是]cs高手],但我愿意将自己知道的全部说出来与大家一起讨论。
好了,言归正传,今天我想跟大家讨论一下CS作弊器实现的]基本原理]。大家如果有什么问题或见解,请大家热情回帖,非常期待。
打开]cs作弊器目录]一般会看到3个文件red]myhack.exe,myhack.dll,myhack.cfg。第三个文件.cfg是用来保存配置信息的比较简单,下面仅讨论前两个文件,因为这两个文件是缺一不可的(.cfg文件等可以没有)。
对于普通的[CS作弊器(比如OGC类,CDD类等),其注入器(EXE)cs外挂的作用是这样的:
1、负责启动或监视游戏进程
2、创建或检测到游戏进程后,将cs作弊器的主文件(DLL)注入到[游戏进程中(注入的意思是让运行中的CS游戏进程主动加载我们的[作弊器主文件](DLL),就象这个文件本身就是CS游戏的一部分一样)
其主文件(DLL)的作用是这样的:
我们 知道,一款CS作弊器从功能方面来说大致可以分成2块:一部分负责显示方面的,比如透视、防闪、显示人物名字武器等信息;另一部分则是控制]本地玩家的动作,比如自动瞄准、开火、加速、冲刺]等。而这些功能则全部是由CS作弊器的主文件(DLL)实现的。
1、透视、防闪功能的实现:一般来说,我们都是以OpenGL模式运行]的。这种情况下CS游戏画面的显示就全部是调用OpenGL函数实现的,于是我们可以通过挂接(就是拦截的意思)CS调用的OpenGL函数中特定的一些函数并修改它,比如取消CS游戏场景中物体之间的深度测试或改变物体的透明度从而实现透视等等。
2、机器人功能的实现:以瞄准机器人举例。同现实世界一样,CS游戏中的每一个人物都具有一组结构相同但数值各不相同的数据,我们抽取其中主要的来说,大致有这几类数据:
1、首先则是人物的姓名、状态、帮派、外貌等,用以表示这个人物看起来什么样、哪一个队等
2、人物的坐标值O(X,Y,Z),用以表示此人物在游戏场景中当前的位置
3、人物眼睛瞄向的方位向量V(X,Y,Z),这个向量决定你开木仓时子弹会朝哪飞,你按前进键 ,
时人物会往哪个方向走
要做一个瞄准机器人思路就清晰了:得到本地玩家的坐标 O1,其他任一玩家的坐标O2,然后修改本地玩家的方位向量V1=O2-O1(当然,这是个简单的说明,实际中要稍微精确一点
知道了思路然后就是实际写代码做了:我们调用CS游戏中获取人物数据的函数得到人物的坐标,计算出V1,然后再调用CS游戏中修改人物方位向量的函数修改本地玩家的方位向量。当然了,前提是我们需要调用这两个函数,而我们作弊器主文件(DLL)则理所当然的挂接了这两个函数。
小结:总的来说,我们作弊器主文件(DLL)就象一个高智商的间谍,打入敌方核心阵地(CS游戏进程),劫持敌方各部门收集数据(挂接调用CS游戏的函数),最后整理收集到的数据(计算)。够简单吧,对了,还有一个比较通用的说法,我们把除OpenGL以外的CS函数概略的称为CS游戏引擎函数。
总结:注入器(EXE)------------- 我方间谍的支持团体,负责将其打入敌方内部。
作弊器主文件(DLL)------ 我方间谍,负责在敌方内部活动,完成实质性的工作。
好了,就到这里了。最后再说一句:请大家将您的问题、见解或对CS作弊器编写方方面面的问题通过帖子的方式发布出来