FPS类游戏的自瞄和爆头效果看起来很奇妙,但实际情况下,算法却并不难,而且该功能也不算变态功能,只不过是通过内存数据计算出精准的准星朝向,我们知道计算器的计算速度,一个精确的角度而已,那么自瞄和爆头是很简单的事情。

首先,我们需要的内存数据有我们自身的坐标,敌人也就是目标的坐标,然后知道准星朝向的表达方式,这样我们就可以建立坐标系,推算算法了。
我们拿创世战车为例子,其数据如下
人物坐标和怪物坐标我们就不单独说了,每个游戏我们都去逆向过,一样的方法,大家可以直接去尝试
朝向值:
Crossout.exe+17E53F4 角色水平摇摆角 值为-π到π
Crossout.exe+17E53F8 角色俯冲角 值为-0.5π到0.5π
怎么找到的这2个角度?
很简单,人物准星水平移动,然后CE扫描变化的数值
这样经过多次扫描就可以扫描到水平摇摆角了
人物准星高低移动,然后CE扫描变化的数值
这样经过多次扫描就可以扫描到俯冲角了

并且我们要经过多次测试
知道该角度的变化规律
Crossout.exe+17E53F4 角色水平摇摆角 值为-π到π
Crossout.exe+17E53F8 角色俯冲角 值为-0.5π到0.5π
这样只要通过敌我的坐标算出角度值
然后填写进这个准星地址里就可以了
当然我们算出来的是角度
需要把角度 和 -π到π 转换一下
方法很简单 /180 * π 即可简单转换
数据和原理我们理顺了
那么就可以开始写自瞄爆头代码了
拿按钮测试 传递怪物X,Y,Z 进行自瞄

void QQxiyouDialog::OnBnClickedButton4(){UpdateData(TRUE);CString str4=m_Edit4;CString str5=m_Edit5;CString str6=m_Edit6;FLOAT X=(FLOAT)_tstof(str4);FLOAT Y=(FLOAT)_tstof(str5);FLOAT Z=(FLOAT)_tstof(str6);Call_自动瞄准(X,Y,Z);}

然后来看自瞄代码

void QQxiyouDialog::OnBnClickedButton4(){UpdateData(TRUE);CString str4=m_Edit4;CString str5=m_Edit5;CString str6=m_Edit6;FLOAT X=(FLOAT)_tstof(str4);FLOAT Y=(FLOAT)_tstof(str5);FLOAT Z=(FLOAT)_tstof(str6);Call_自动瞄准(X,Y,Z);}然后来看自瞄代码void Call_自动瞄准(FLOAT 怪物X,FLOAT 怪物Y,FLOAT 怪物Z){T人物属性 人物;人物.初始化();FLOAT 水平角;if (怪物X > 人物.fX && 怪物Y > 人物.fY)//第一象限{Call_输出调试信息("XXXX    自瞄进入第一象限\r\n");水平角=(FLOAT)(0 - atan2(怪物Y-人物.fY,怪物X-人物.fX)-3.1415926/2);}if (怪物X < 人物.fX && 怪物Y > 人物.fY)//第二象限{Call_输出调试信息("XXXX    自瞄进入第二象限\r\n");水平角=(FLOAT)(atan2(怪物Y-人物.fY,人物.fX-怪物X)+3.1415926/2);}if (怪物X < 人物.fX && 怪物Y < 人物.fY)//第三象限{Call_输出调试信息("XXXX    自瞄进入第三象限\r\n");水平角=(FLOAT)(3.1415926/2-atan2(人物.fY-怪物Y,人物.fX-怪物X));}if (怪物X > 人物.fX && 怪物Y < 人物.fY)//第四象限{Call_输出调试信息("XXXX    自瞄进入第四象限\r\n");水平角=(FLOAT)(atan2(人物.fY-怪物Y,怪物X-人物.fX)-3.1415926/2);}Call_输出调试信息("XXXX    自瞄水平角%f\r\n",水平角);FLOAT 俯视角;FLOAT 水平距离;水平距离 = sqrt((怪物X-人物.fX)*(怪物X-人物.fX)+(怪物Y-人物.fY)*(怪物Y-人物.fY));if (怪物Z > 人物.fZ){Call_输出调试信息("XXXX    自瞄进入抬头模式\r\n");俯视角 = atan2(怪物Z-人物.fZ,水平距离);}if (怪物Z < 人物.fZ){Call_输出调试信息("XXXX    自瞄进入低头模式\r\n");俯视角 = 0 - atan2(人物.fZ-怪物Z,水平距离);}Call_输出调试信息("XXXX    自瞄俯视角%f\r\n",俯视角);DWORD 模块句柄 = (DWORD)GetModuleHandleA("Crossout.exe");*(FLOAT*)(模块句柄 + 0x17E53F4) = 水平角;*(FLOAT*)(模块句柄 + 0x17E53F8) = 俯视角;}

这样就可以自瞄了
同时如果想要爆头的话
只要我们把Z抬高相应的高度就可以了
因为我们计算出来的准星 基本上是在怪物的重心上 而头在准星的正上方一定距离,做对应调整即可

【游戏逆向】FPS游戏自瞄追踪及原理算法相关推荐

  1. 【游戏逆向】游戏玩家技能冷却分析

    技能冷却对于不同的游戏有不同的存放方式,而技能冷却的遍历也大多不会和技能的普通属性放在一起,在<在**明月刀>这款游戏中,技能的冷却判断格外重要,因为技能的连贯性对打怪的效率影响很大. 我 ...

  2. 【游戏逆向】游戏外挂开发技术《挖金子》

    首先说说基本思路吧.外挂开发主要分为两部分: 一是对游戏的分析调试,主要是找基址和call地址等游戏信息. 二是使用编程工具进行外挂功能开发,比如用delphi或者VB.VC等自己熟悉的一种开发工具进 ...

  3. 影子跟随算法:FPS游戏中游戏同步性的实现

    转自:https://www.gameres.com/454350.html 何为延迟补偿?如何进行坐标差值?B客户端屏幕上A已经跑到东边了,但是收到服务器说"A正在西边往北跑", ...

  4. FPS游戏初开发--逻辑分析总结

    (图片来自网络,侵权可删) FPS游戏,即First-person Shooting Game,第一人称射击游戏,说到FPS游戏,相信大家第一个想到都是经典的CS,近几年优秀的FPS游戏也是不少,比如 ...

  5. 【游戏逆向】《某某仙侠传》跨图寻路功能分析

    大部分网络游戏都是有寻路功能的,只有个别的暗黑系列游戏和FPS游戏没有寻路.而在这些有寻路的游戏中,还有一些是可以跨图寻路的,下面我们来分析一下<QQ仙侠传>的跨图寻路功能. 其实跨图寻路 ...

  6. 【游戏逆向】FPS游戏自瞄透视之堆栈分析

    我们想做FPS游戏的自瞄透视功能,最基础的数据就是周围所有目标的坐标值只有确定了所有目标的位置,我们才能用算法写出自瞄和透视. 首先我们拿自身的血量当突破口,找出周围所有目标的遍历. 竞技场血量不好找 ...

  7. 【游戏逆向】FPS网络游戏自动瞄准漏洞分析以及实现二

    开始分析人物结构 由于人物结构是一个结构体,该结构体的起始地址为人物对象地址,所以,我们继续用CE的结构体分析工具去分析人物对象地址,也就是刚才的eax地址: 通过观察,我们立刻就得到了人物名称的偏移 ...

  8. FPS游戏自瞄爆头原理

    众所周知只要是射击类FPS类游戏都有自瞄爆头的功能有的人会说,既然大家都知道,游戏公司也必然知道那么为什么不把这个BUG修复掉呢实际上并不是不修复,而是这个根本不算是BUG 为什么这么说呢?原因很简单 ...

  9. 【游戏逆向】FPS网络游戏自动瞄准漏洞分析以及实现

    了解FPS游戏自瞄漏洞 经常玩游戏的朋友,应该知道FPS游戏,例如:穿越火线,逆战等等,他们的特点就是以第一人称视角进行操作人物,屏幕中间会有一个准星,通过准星瞄准敌人进行攻击以达到击杀效果和游戏体验 ...

最新文章

  1. java json 内部类_使用Fastjson解析内部类的一个小问题
  2. HTML5中的Article和Section元素
  3. 【HDOJ】2577 How to Type
  4. .NET中常见的 IL 指令集
  5. 基于 VS 2010 阐述C# 4个特性
  6. 年薪30W前端程序员,需要吃透的前端书籍推荐
  7. 服务计算与服务生态系统 第一章测验题答案
  8. select框的text与value值的获取(实用版)
  9. linuxt gogs搭建
  10. STAMP软件 输入文件准备
  11. 手机市场的竞争,用户价值才是硬道理
  12. 一周市场摘抄20210125
  13. 爬虫初探:弱水三千只取一瓢,房源三千全都想要
  14. 2021年高处安装、维护、拆除考试及高处安装、维护、拆除考试技巧
  15. 手把手教你如何 远程控制另一台电脑 保姆教程
  16. 劳务派遣能解决哪些用工难题?企业关心的都在这里!
  17. 00 Linux到底是什么?
  18. 交互设计谁是最好用的原型绘制工具
  19. jade基础文档总结
  20. 未来最赚钱的四个行业,看看你的行业在其中吗?

热门文章

  1. python怎么全选_python练习题之全选框全不选反选
  2. Java语法与架构中的异常处理(assert断言、堆栈追踪)
  3. 如何用阿里云的API进行身份证识别
  4. 超声波洗碗机控制器电源发生器设计
  5. 哪一类功率放大电路效率最高_集成电路代换方法与技巧
  6. java毕业设计校园篮球互动平台mybatis+源码+调试部署+系统+数据库+lw
  7. 如何有效掌握标签打造优质单品,如何掌握人群标签的秘诀
  8. ios获取手机用户是否开启关闭静音
  9. java开发工程师面试题及答案
  10. 2017中山大学计算机考研科目,2017年中山大学0812计算机科学与技术考研专业目录及考试科目...