青果社区_青果网_青果论坛_无尽战区论坛  
  
展开

小喇叭     

全站
清唱。 说: 论坛开启邀请注册,邀请码可以关注公众号【青果趣味】发信息【邀请码】给公众号即可免费获取邀请码。
2017-09-14
全站
清唱。 说: 近期开启邀请码注册,请珍惜账号。
2017-08-29
查看: 19898|回复: 144
收起左侧

[源码] 易语言制作CS反恐精英ol透视DLL源码,cs透视作弊器制作原理

  [复制链接]
清唱。 (1)
发表于 2014-3-20 14:34:29 | 显示全部楼层 |阅读模式

这是一个创建于2014-3-20 14:34的主题,如果是[辅助类]帖可能已经失效建议不要下载(标注了永久性或者脚本类工具除外),其他类贴其中的信息可能已经有所发展或是发生改变,请自行甄别。

马上注册,拥有社区全部功能,享用更多特权,让你轻松玩转社区。

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

x
这是网上的文章:
cs透视作弊器制作原理
首先制作作弊器我们要用到以下一些东西
[AppleScript] 纯文本查看 复制代码
1 VC++6.0 编程工具 
  2 作弊器 源代码DLL ( DLL部分主要是实现以下功能.一个作弊器从功能方面来说大致可以分成2块:一部分负责显示方面的,比如透视、防闪、显示人物名字武器等信息;另一部分则是控制本地玩家的动作,比如自动瞄准、开火、加速、256冲刺等。而这些功能则全部是由CS作弊器的主文件(DLL)实现的。) 
  3 注入器源码EXE { EXE部分是负责启动或监视CS游戏进程和在创建或检测到游戏进程后,将作弊器的主文件(DLL)注入到CS游戏进程中(注入的意思是让运行中的CS游戏进程主动加载作弊器主文件(DLL),就象这个文件本身就是CS游戏的一部分一样) }当然你如果想要在平台上运行(比如豆客)你就必须先把豆客的反作弊代码搞道,不过貌似现在豆客连续的升了几次级豆是在给它的那个东东加密,呵呵不好破啊,连服务器都弄到黑卡了,
  先来说作弊器要实现的第一个功能:透视
  首先你要用API钩子去钩住glBegin函数,在被钩住的glBegin函数里,如果拦截到的参数mode是GL_TRIANGLE_STRIP,或GL_TRIANGLE_FAN,那么CS就有可能是准备画一个模型(人物,武器等),那么就可以用glDisable(GL_DEPTH_TEST)来告诉OpenGL:我们想颠倒这个模型的绘制顺序。在游戏中就可以看到,墙壁后背的人物,模型等全跑到了墙壁的前面。这看上去图象顺序有点乱,但这正是作弊器“透视”的原理所在!
  绘制所有模型之前调用这个函数,那就会把整个游戏画面都打乱了,这点比较重要请注意。
  void APIENTRY my_glBegin( GLenum mode )
  {
  if((mode==GL_TRIANGLE_STRIP||mode==GL_TRIANGLE_FAN))
  glDisable(GL_DEPTH_TEST);
  glBegin(mode);
  }
  实现功能2:高亮显示(不过这个一般拿着也没什么用)
  由于光线的问题,在暗处人物也会显得很暗,那怎样把他变得更亮,以便我们游戏时容易发现目标呢?为了达到这种效果,就得钩住glVertex3f,然后在原有函数(区别于我们钩住的函数)调用前加上这行代码:
  glColor4f(1.0f, 1.0f, 1.0f, 1.0f)
  就这么简单就达到了想要的功能。
  void APIENTRY my_glVertex3f(GLFloat x, GLFloat y, GLFloat z)
  glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
  glVertex3f(x, y, z);
  }
  实现功能3:去除烟幕
  实现这个功能必须做的就是钩住glBegin 和 glVertex3fv,然后定义一个bool变量bSmoke来作为开关。在钩住的glBegin中,检查当前参数mode的值是否为GL_QUADS。如果是的话,取当前颜色:
  glGetFloatv(GL_CURRENT_COLOR, &curcol)
  看curcol是否为灰色(灰色就是R=G=B)。然后就是要排除1.0和0.0,因为这样才能不把某些其他物体去除了。
  所以如果当前颜色是灰色,并且不是白色(1.0)、黑色(0.0)时,我们就把bSmoke设为true。当然在别的时候或不是绘制烟幕时,要把bSmoke设为false。
  现在就可以在glVertex3fv中判断bSmoke是否为true,如果是,直接return不处理它。这样去除烟幕的功能便算完成了。
  void APIENTRY my_glBegin( GLenum mode )
  if(mode==GL_QUADS) 
  {
  float curcol[4];
  glGetFloatv(GL_CURRENT_COLOR, curcol);
  if((curcol[0]==curcol[1])&&(curcol[1]==curcol[2])&&(curcol[0]!=1.0f)&&(curcol[0]!=0.0f))bSmoke=true;
  else bSmoke=false;
  glBegin(mode);
  }
  void APIENTRY my_glVertex3fv(const GLfloat *v)
  {
  if(bSmoke)return;
  else glVertex3fv(v);
  }
  实现功能4:去除闪光(如果是想过175的话就别加)
  实现这个功能要钩两个函数:glBegin和glVertex2f。
  CS在画控制台和某些文字时也会用到glVertex2f,所以我们在做这个功能时要小心不要把不该屏蔽的东西屏蔽了。其实闪光的原理就是把一张白色方形贴到屏幕上,然后随着时间改变Alpha透明度,就要检查看有没有白色的QUAD并且覆盖了你的整个屏幕,如果有,那就要留意了。
  在glBegin中,检查mode是否为GL_QUADS,如果是,取当前颜色:
  glGetFloatv(GL_CURRENT_COLOR, &curcol)
  现在来看看什么是纯白:纯白就是R=1,G=1,B=1,如果检测到符合这些条件的话,那就很有可能现在画的就是闪光,但是还是不敢确定到底是不是,要同时从别处入手。
  当一个OpenGL程序调用glBegin时,接着将会调用glVertex*来画模型的顶点,绘制完成后将调用glEnd来收尾。我研究发现CS画简单的方型是用glVertex2f,所以同样我们也要钩住这个函数。
  为了联系glBegin和glVertex2f,找到了详细的实现方法,就是用bool变量bFlash来表示是否为一个白色的方型(即是否是烟幕效果)。下一步是获取当前屏幕的尺寸:
  glGetFloatv(GL_VIEWPORT, &coords)
  这样屏幕就保存在了coords里:
  coords[0] = 0
  coords[1] = 0
  coords[2] = 宽
  coords[3] = 高
  现在钩住的glVertex2f里,如果不符合“闪光”的条件,调用回原有的函数,如果符合的话,就比较glVertex2f传给我们的第二个参数y和coords[3](屏幕高度)是否一样,如果是,则表明CS准备绘制白色闪光或全屏模式的控制台,但是这两者实在是不好区分,所以只有把阿尔法值设置得很小,这将不会影响到控制台,同时也把白色闪光去掉了:
  glColor4f(curcol[0], curcol[1], curcol[2], 0.01f)
  void APIENTRY my_glBegin( GLenum mode )
  if(mode==GL_QUADS)
  float curcol[4];
  glGetFloatv(GL_CURRENT_COLOR, curcol);
  glGetFloatv(GL_VIEWPORT, coords);
  if((curcol[0]==1)&&(curcol[1]==1)&&(curcol[2]==1))bFlash=true;
  void APIENTRY my_glVertex2f(GLfloat x, GLfloat y)
  float curcol[4];
  glGetFloatv(GL_CURRENT_COLOR, curcol);
  if(bFlash &&(y==coords[3]))
  glColor4f(curcol[0], curcol[1], curcol[2], 0.01f);
  glVertex2f(x, y);
  总的来说,作弊器主文件(DLL)就象一个高智商的间谍,打入敌方核心阵地(CS游戏进程),劫持敌方各部门收集数据(挂接调用CS游戏的函数),最后整理收集到的数据(计算)。够简单吧,对了,还有一个比较通用的说法,我们把除OpenGL以外的CS函数概略的称为CS游戏引擎函数。 
  注入器(EXE)------------- 我方间谍的支持团体,负责将其打入敌方内部。 
  作弊器主文件(DLL)------ 我方间谍,负责在敌方内部活动,完成实质性的工作。






上面看的头疼,,然后下面是易语言通过钩子OpenGL32制作的透视, 单机CS是可以用的,


另外CSOL反恐精英OL也是可以用的,改成后缀为ASII文件放入BIN目录即可自动加载且不非法,
但是游戏中开启透视是开启必封不要问我为什么知道的这么清楚,5555,不解释{:5_126:}。我的雷神账号啊。


部分截图:
2.jpg

QQ截图20140320143148.jpg



--警告,用来测试CSOL封号概不负责。

[C++] 纯文本查看 复制代码
.版本 2

.程序集 程序集1
.程序集变量 钩子地址, 整数型
.程序集变量 OldProtect, 整数型
.程序集变量 cheat, 逻辑型
.程序集变量 原始数据, 字节集
.程序集变量 Hook地址, 字节集
.程序集变量 透视
.程序集变量 地图高亮
.程序集变量 去烟雾

.子程序 _启动子程序, 整数型, 公开, 请在本子程序中放置动态链接库初始化代码

RunDllHostCallBack (1, 2, 3)
_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 返回值被忽略。

.子程序 _临时子程序

' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
' [url=https://www.qingguox.com]www.qingguox.com[/url] 青果巷 青果社区


.子程序 RunDllHostCallBack, 整数型, 公开
.参数 a, 整数型
.参数 b, 整数型
.参数 c, 整数型

信息框 (“开启成功!INS开启,Del关闭”, 0, )

监视热键 (&开启, #Ins键)  ' 自己加载模块写监视热键
监视热键 (&关闭, #Del键)  ' 自己加载模块写监视热键
返回 (0)

.子程序 开启
.局部变量 值, 字节集

.如果 (原始数据 = {  })
    钩子地址 = GetProcAddress (GetModuleHandle (“opengl32.dll”), “glBegin”)
    .如果真 (钩子地址 = 0)
        信息框 (“无法获取函数地址!!!”, 0, )
        返回 ()
    .如果真结束
    VirtualProtect (钩子地址, 8, 64, OldProtect)
    原始数据 = 指针到字节集 (钩子地址, 8)
    值 = { 184 }
    写到内存 (值 + 到字节集 (&glBegin) + { 255, 224 }, 钩子地址, 8)
.否则
    钩子地址 = GetProcAddress (GetModuleHandle (“opengl32.dll”), “glBegin”)
    .如果真 (钩子地址 = 0)
        信息框 (“无法获取函数地址!!!”, 0, )
        返回 ()
    .如果真结束
    VirtualProtect (钩子地址, 8, 64, OldProtect)
    值 = { 184 }
    写到内存 (值 + 到字节集 (&glBegin) + { 255, 224 }, 钩子地址, 8)
.如果结束
' [url=https://www.qingguox.com]www.qingguox.com[/url] 青果巷 青果社区

.子程序 关闭

写到内存 (原始数据, 钩子地址, )
' [url=https://www.qingguox.com]www.qingguox.com[/url] 青果巷 青果社区

.子程序 glBegin
.参数 mode, 整数型

.如果真 (mode = #GL_TRIANGLE_STRIP 或 mode = #GL_TRIANGLE_FAN)
    glDisable (#GL_DEPTH_TEST)
.如果真结束
写到内存 (原始数据, 钩子地址, )
gl_glBegin (mode)
写到内存 ({ 184 } + 到字节集 (&glBegin) + { 255, 224 }, 钩子地址, 8)
' [url=https://www.qingguox.com]www.qingguox.com[/url] 青果巷 青果社区


 CSAPI透视源码下载

透视.rar (1.76 MB, 下载次数: 331, 售价: 5 升荣耀)

评分

参与人数 3 +1 荣耀 +2 收起 理由
kzhw983 + 1 这不是一般的加分,这是无上的敬意
Mr.Kin + 1 大神,求收徒,我爱你
少时诵诗书 + 1

查看全部评分

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

青果啊1 (32582)
发表于 2019-3-10 02:38:27 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

青果啊1 (32582)
发表于 2019-3-10 02:38:03 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

qq1361431956 (31946)
发表于 2018-2-15 17:44:07 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

星雨呀 (31922)
发表于 2018-2-11 17:33:43 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

nmxiaoye (31582)
发表于 2018-1-18 13:57:37 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

武俊宇123 (31190)
发表于 2017-12-18 21:50:20 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

武俊宇123 (31190)
发表于 2017-12-18 21:50:03 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

武俊宇123 (31190)
发表于 2017-12-18 21:49:28 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

武俊宇123 (31190)
发表于 2017-12-18 21:48:47 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

swz20021123 (30667)
发表于 2017-11-5 15:34:10 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

csolgg521 (30626)
发表于 2017-11-2 12:24:51 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

wdg666 (30509)
发表于 2017-10-26 22:21:44 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

993651481 (29891)
发表于 2017-9-21 23:44:24 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

中国黑客 (29808)
发表于 2017-9-10 16:11:14 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

bxb6077095 (29806)
发表于 2017-9-9 23:59:06 | 显示全部楼层

发帖求助前要善用社区搜索功能,那里可能会有你要找的答案,就像度娘一样;

请不要反复发帖问【荣耀】怎么获取,点击这里查看【积分策略】,或者【点击赚积分】or【分享得荣耀】and【每日签到

如何回报帮助你的果友,一个好办法就是给对方加【荣耀】或是【点评】来赞美Ta,加分不会扣除自己的积分,做一个热心且受人欢迎的人。

 懒得打字嘛,点击右侧快捷回复【左侧自定义内容】 
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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