单车之家-BikeHome.net

标题: CS作弊器的基本原理 [打印本页]

作者: xiaopihai1    时间: 2008-11-16 20:51
标题: CS作弊器的基本原理
CS作弊器的基本原理概览
cs1.5一直到现在的cs1.6,认识了几个很不错爱好cs的朋友,同时也对这方面有了一定的了解。不是cs高手,但我愿意将自己知道的全部说出来与大家一起讨论。
好了,言归正传,今天我想跟大家讨论一下CS作弊器实现的基本原理。大家如果有什么问题或见解,请大家热情回帖,非常期待。
打开cs作弊器目录一般会看到3个文件:myhack.exe,myhack.dll,myhack.cfg。第三个文件.cfg是用来保存配置信息的比较简单,下面仅讨论前两个文件,因为这两个文件是缺一不可的(.cfg文件等可以没有)。
对于普通的CS作弊器(比如OGC类,CDD类等),
其注入器(EXE)cs外挂的作用是这样的:
1、负责启动或监视CS游戏进程
2、创建或检测到游戏进程后,将cs作弊器的主文件(DLL)注入到CS游戏进程中(注入的意思是让运行中的CS游戏进程主动加载我们的作弊器主文件(DLL),就象这个文件本身就是CS游戏的一部分一样)
其主文件(DLL)的作用是这样的:
我们 知道,一款CS作弊器从功能方面来说大致可以分成2块:一部分负责显示方面的,比如透视、防闪、显示人物名字武器等信息;另一部分则是控制本地玩家的动作,比如自动瞄准、开火、加速、冲刺等。而这些功能则全部是由CS作弊器的主文件(DLL)实现的。
1、透视、防闪功能的实现:一般来说,我们都是以OpenGL模式运行CS的。这种情况下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作弊器编写方方面面的问题通过帖子的方式发布出来
作者: cycloneeric    时间: 2008-11-16 21:32
???

高见~

CS打得很烂~
作者: 开水壶    时间: 2008-11-16 21:45
不玩CS
作者: 寒夜梦飞    时间: 2008-11-16 21:56
汗......
作者: blackwarrior    时间: 2008-11-16 22:18
有意思嗎?
作者: Liebe_Ente    时间: 2008-11-16 23:33
有点像建模~
作者: 人妻杀手    时间: 2008-11-17 16:36
CS退散~
咱现在只打战地2
作者: 爱晶    时间: 2008-11-17 20:33
CS退散~
咱现在只打COD4
作者: 爱晶    时间: 2008-11-17 20:34
玩个游戏还开作弊器...
废物
作者: 小虹口    时间: 2008-11-17 20:58
无奈。
CS作弊无意义,因为开透视还是没有别人的反应快
作者: heian    时间: 2008-11-19 22:12
9494  我最讨厌作弊的人拉......




欢迎光临 单车之家-BikeHome.net (http://bbs.bikehome.net/) Powered by Discuz! X3.2