逆向知识之CS辅助/外挂专题.2.实现CS1.6透视原理

一丶透视简介

我们涉及到FPS游戏.免不了说透视.自瞄什么的. 在CS1.6中. 有OpenGl.也有D3D.

透视的方法很多. gl透视(也就是CS中可以实现的透视)  D3D透视. HOOKD3d的绘图函数.设置渲染状态就可以实现透视. 方框透视.

根据敌人坐标以及我们的坐标. 使用三角函数(sin cos tan) 以及转换屏幕比例算法. 求出的透视. 这种透视是通用的. 因为是算法计算出来了.依赖的就是游戏中的敌人跟我们的坐标.

二丶透视原理

  Gl透视. 所讲的这个透视是说CS中的透视.

  首先知道两个函数  openGL32.DLL 中的 glBegin(渲染ID)  glDisable(ID) 关闭渲染.

其实在CS中实现透视很简单.

  1.HOOK glBegin函数. 过滤ID. 看看那个是人物ID.

  2.HOOK之后.判断是否是人物ID.如果是.则关闭渲染.

  3.跳转回去.继续执行.

根据这个方法.也可以知道闪光弹绘制的时候的ID.我们也可以判断.这样也就实现了无视闪光了.

三丶HOOK代码.

1.寻找Opengl32.dll. 从导出表中查看glBegin的偏移. 以及glDisable的偏移.

  2.申请一块内存空间.

  3.内存空间中写入我们的ShellCode. 也就是我们的HOOK代码.

  4.重定位到glBegin函数位置. 进行HOOK. 跳转到我们ShellCode执行位置.

关于HOOK以及HOOK重定位函数不多说了. 做逆向的话这些必须需要会.

1.HOOK glBegin位置.跳转到我们申请的空间. 当然.这里需要重定位. 目的地址 - 源地址 - 5

2.执行我们的ShellCode

上图汇编代码的意思是 比较esp +4 也就是参数值是否是人物ID. (cs中 5 6 )都可以

如果不想等.则恢复以前的HOOK地址位置值.并且跳转回去.

如果相等. 调用glDisable函数.参数的值是 0xB71

这样就可以完成一个HOOK.

当然写HOOK代码注意的问题很多. 比如Call glDisable的时候.你需要重定位glDisable.并且写入到里面.

JMP回来的时候.也需要重定位.

四丶实现过后的表现形式.

逆向知识之CS辅助/外挂专题.2.实现CS1.6透视原理的更多相关文章

  1. 逆向知识之CS辅助/外挂专题.2.实现CS1.6无限夜视仪.无限闪光烟雾高爆弹.

    逆向知识之CS辅助/外挂专题.2.实现CS1.6无限夜视仪.无限闪光烟雾高爆弹. 关于人物子弹无限可以观看上一篇博客. 一丶无限夜视仪. 无限夜视仪找法. 1.CE附加游戏. 2.搜索0或者1. 3. ...

  2. 逆向知识之CS1.6辅助/外挂专题.1.实现CS1.6主武器副武器无限子弹

    逆向知识之CS辅助/外挂专题.1.实现CS主武器副武器无限子弹 PS: 相信大家CS1.6这类的FPS应该玩过.现在我们通过外挂手法.讲解逆向的本质.以及应用. 关于CS1.6的下载.网络百度下载即可 ...

  3. 逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构

    逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打 ...

  4. 逆向知识第八讲,if语句在汇编中表达的方式

    逆向知识第八讲,if语句在汇编中表达的方式 一丶if else的最简单情况还原(无分支情况) 高级代码: #include "stdafx.h" int main(int argc ...

  5. 逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式

    逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式 一丶了解什么是结构体,以及计算结构体成员的对其值以及总大小(类也是这样算) 结构体的特性 1.结构体(struct)是由一系列具有相同类型或不 ...

  6. 逆向知识第一讲,IDA的熟悉使用

    逆向知识第一讲,IDA的熟悉使用 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打开. 1.提示使用什么格 ...

  7. IM开发基础知识补课(七):主流移动端账号登录方式的原理及设计思路

    1.引言 在即时通讯网经常能看到各种高大上的高并发.分布式.高性能架构设计方面的文章,平时大家参加的众多开发者大会,主题也都是各种高大上的话题——什么5G啦.AI人工智能啦.什么阿里双11分分钟多少万 ...

  8. 博主有偿带徒 《编程语言设计和实现》《MUD游戏开发》《软件破解和加密》《游戏辅助外挂》《JAVA开发》

    <考研专题>操作系统原理 理论解答:8K 实战 1.5W CPU设计 理论解答:1W 实战 2.5W <编程语言设计和实现>初窥门径<5K>:编译原理.编译设计小试 ...

  9. 史上最全最强Charles截取手机https协议数据包教程(附上利用此技术制作最近微信比较火的头脑王者辅助外挂)!

    纯原创,思路也是本人花了半个小时整理出来的,整个完成花费了本人半天时间,由于不才刚大学毕业,所以有的编码方面可能不入大牛们的眼,敬请原谅!如有转载请附上本地址,谢谢! 最近微信朋友圈刚刚被跳一跳血洗, ...

随机推荐

  1. 设计模式之模板模式 template

    设计模式 模板模式如果有一个流程如下step1();step2();step3();step4();step5();其中step3() step5()是需要用户自己编写使用其他步骤是固定的那么可以写成 ...

  2. ahk保存

    python ;把大写禁用了,因为确实基本不用.`表示删除,caplock+ijkl可以控制光标 SetCapsLockState , AlwaysOff ;用;p来替换书写经常不好使,因为输入多个字 ...

  3. python模块:configparser

    """Configuration file parser. A configuration file consists of sections, lead by a &q ...

  4. php,mysql存储过程的简单例子

    一.连接mysql 使用phpmyadmin: 打开test数据库: 二.创建存储过程 参数如图. 三.php中调用存储过程 <?php $user = "root"; // ...

  5. golang注意问题

    关于slice 我们都知道slice是在通过参数传递的时候传递的是引用 slice的appen操作是有返回值的,并不改变原值 例如 b := [],,,} c:=append(b, ) // b 不变 ...

  6. Beta冲刺 (6/7)

    Part.1 开篇 队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Part.2 成员汇报 组员1:(组长)柯奇豪 过去两天完成了哪些任务 部分代码的整合 编辑及标注的提交操 ...

  7. emr hadoop 参数调优

    set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; ; ; set hive.exec.compress.intermedia ...

  8. java 项目的路径详情

    title: 项目下的路径问题tags:grammar_cjkRuby: true--- 在javaee的项目中,存取文件,解析xml和properties文件,以及项目中的文件,都需要获取路径,常用 ...

  9. WebRTC 学习之 Conference 实现混音混屏

    混音 混音的意义就是将多个音频流混成一路音频,在Conference 的实现中有分为终端实现和服务器实现. 1. 终端混音实现: 终端接受到多路(一般是多个用户)的音频流之后,在终端本地将多路音频流混 ...

  10. 软件包管理之rpm与yum

    软件包的安装和卸载时很平常的事,但在Linux上面却不简单..Linux的其中一个哲学就是一个程序只做一件事,并且做好.组合小程序来完成复杂的任务,这样做有很多好处,但是各个小程序之间往往会存在着复杂 ...