逆向知识之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. Thinkphp5 表单提交额外参数和页面跳转参数传递url

    1. 表单提交 <input type="hidden" name="project_name" value="$project_name&qu ...

  2. PHP开发——基础

    简介 l  PHP Hypertext Preprocessor 超文本预处理器,是嵌入到HTML文件中的服务器端的脚本语言: l  一个PHP文件中,可以包含多种代码:HTML.CSS.JS.Jqu ...

  3. 从 NCBI 批量下载基因组的方法

    先下载 assembly summary files The assembly_summary files report metadata for the genome assemblies on t ...

  4. Minimum Increment to Make Array Unique LT945

    Given an array of integers A, a move consists of choosing any A[i], and incrementing it by 1. Return ...

  5. tensorflow学习之(二)Seesion的两种打开模式

    #Seesion的两种打开模式 import tensorflow as tf matrix1 = tf.constant([[3,3]])#一行两列的一个矩阵 matrix2 = tf.consta ...

  6. 顺序栈的基本操作(C语言)

    由于现在只学了C语言所以就写这个C语言版的栈的基本操作 这里说一下 :网上和书上都有这种写法 int InitStack(SqStack &p) &p是取地址  但是这种用法好像C并不 ...

  7. [Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creator【s

    问题:执行创建函数的sql文件报错如下: [Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA ...

  8. kaldi实例脚本运行

    Getting started, and prerequisites. rm/s5/run.sh Data preparation 如果有GridEngine, train_cmd="que ...

  9. JQuery下载及选择器总结

    JQuery下载 JQuery只是一个JS函数库,要使用其中的方法还是要在JS文件中进行调用. 一般去https://mvnrepository.com/这个网站下载,搜索JQuery就能找到JS文件 ...

  10. 深圳scala-meetup-20180902(2)- Future vs Task and ReaderMonad依赖注入

    在对上一次3月份的scala-meetup里我曾分享了关于Future在函数组合中的问题及如何用Monix.Task来替代.具体分析可以查阅这篇博文.在上篇示范里我们使用了Future来实现某种non ...