dnf游戏外怪原理

Wesley13
• 阅读 381

dnf游戏外怪原理

一、总结

一句话总结:用钩子,修改内存。找到存储数据的内存,修改内存的执行代码达到修改数据的目的,修改了数据之后再改回来。

1、如何找到存储数据的内存?

然后数据变化,用软件找变化了数据的内存。

2、如何修改内存的执行代码?

汇编知识,

二、dnf游戏外怪原理

秒怪

找到内存中的表示怪物血的地址,给它改成0,怪物就挂了

自动加血原理

找到内存中表示自己血的地址,把数值改成满血即可满血

dnf游戏外怪原理

怪物对应的血是+1c,而不是+18

修改了jump地址,其实就是修改了程序的跳转,从而改变了程序

dnf游戏外怪原理

新在内存中分配了一块值为0的地址,然后让DNF游戏的怪物的血的地址指向这块空地址。

在源地址要指定jump到为0的地址,在为0的地址也要指明是什么地址的什么操作将会到这个地址。

dnf游戏外怪原理

找到表示人物的地址,然后在这个地址上面加多少就是人物这个数据结构里面的内容,比如红,蓝,名字,血条。

dnf游戏外怪原理

怪物是存放在数组里面的

所以可以由一个怪物的地址推测到其它怪物的地址,地址+8

而且可以通过怪物的血推测怪物的血量来找到存放怪物地址的位置

dnf游戏外怪原理

不同地图存放怪物血量的地址是一样的

所以找到一个图的就可以找到所有的图的了

用vs++写的外挂程序

一个简单的逻辑判断,分为你打怪物还是怪物打你

dnf游戏外怪原理

感觉像是汇编语言

是修改了原来程序里面的ddl程序:

dnf游戏外怪原理

这个DDL打开时一个小界面

dnf游戏外怪原理

要想办法将ddl注入到dnf的游戏中

原理就是  将他们跳到其它的内存单元(钩子)。

设置定时器,如果当蓝小于总蓝一半的时候自动加蓝

所以修改后就可以立马修改回来(变成原来的),不会被检测为第三方外挂

就是改了的东西(链接的钩子),要改回来。

点赞
收藏
评论区
推荐文章
3A网络 3A网络
2年前
从一条更新 SQL 的执行过程窥探 InnoDB 之 REDOLOG
从一条更新SQL的执行过程窥探InnoDB之REDOLOG1前言数据库为了取得更好的读写性能,InnoDB会将数据缓存在内存中(InnoDBBufferPool),对磁盘数据的修改也会落后于内存,这时如果进程或机器崩溃,会导致内存数据丢失,为了保证数据库本身的一致性和持久性,InnoDB维护了REDOLOG。修改Page之前需要
Wesley13 Wesley13
2年前
java的内存机制
Java把内存划分成两种:一种是栈内存,另一种是堆内存。 Heap(堆)Stack(栈)JVM中的功能内存数据区内存指令区存储数据对象实例基本数据类型,指令代码,常量,对象的引用地址堆中存储数据堆内存用来存放由new创建的对象和数组。 保存对象实例,实际上是保存对象实例的属性值,属性的类型和
Wesley13 Wesley13
2年前
java游戏服务器优化
最近游戏服务器经常是启动一段时间后gc很频繁,造成无法登陆游戏,原因无非就是临时内存增长速度很快,那么就是要分析内存飞涨原因先在本地启动游戏服务器,java环境用Jdk1.8先用jps查出java进程,然后执行 jmapdump:live,formatb,file<file\_name.hprof <pid得到游戏服务器内存d
Wesley13 Wesley13
2年前
java SQL常用语句总结大全(超详细)
数据库数据库定义:\\数据库:\\存储数据的仓库.其本质是一个文件系统,数据库按照特定的格式将数据存储到文件中,使用者可以对数据库中的数据进行增加,修改,删除及查询操作。存储位置优点缺点内存例如:集合,实体类对象数据是放在内存中存取速度很快不能永久的保存,程序停止时,内存释放数据消失文件例如
Wesley13 Wesley13
2年前
mysql存储引擎
什么是存储引擎?MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySql的存储引擎:MyISAM节省数据库空间,当数据读远大于修改时,可以使用该存储引擎InnoDB支持事务,
Stella981 Stella981
2年前
Fedora 24系统基本命令
Fedora 24基本命令一、    DNF软件管理1.     修改配置:在/etc/dnf/dnf.conf中加入fastestmirrortrue、keepcachetrue2.     更新软件:dnf update、apt upgrade3.   
Wesley13 Wesley13
2年前
32位CPU最多支持4G内存是怎么算出来的?(解惑篇)
文章目录前言一、对2^32^4BG的疑惑二、聊一下内存1.内存的特性2.内存的基本结构3.内存地址的概念总结前言这两天在研究java指针压缩的原理,在研究过程中就涉及到了cpu寻址相关方面的知识,为了弄明白原理,所以又查了很多资料,在这个过
Stella981 Stella981
2年前
JVM探秘3:内存溢出
在Java虚拟机内存区域中,除了程序计数器外,其他几个内存区域都可能会发生OutOfMemoryError,这次通过一些代码来验证虚拟机各个内存区域存储的内容。在实际工作中遇到内存溢出异常时,需要做到能根据异常信息快速判断是哪个内存区域的溢出,知道什么样的代码会导致这些区域内存溢出,并且知道出现内存溢出后如何处理。Java堆溢出Jav
Stella981 Stella981
2年前
JVM中内存分配策略及堆和栈的比较
最近愈发对JVM底层的运行原理产生了兴趣,遂查阅相关资料以备忘。内存分配策略根据编译原理的观点,程序运行时的内存分配,有三种策略,分别为_静态的_、_堆式的_、_栈式的_。静态存储分配指的是在编译时就能确定每个数据目标在运行时的存储空间需求,因而在编译时就给它们分配了固定的内存空间。这种分配方式要求程序代码中不能有可变数据结构
Wesley13 Wesley13
2年前
Java基础之数组队列及Java堆外内存学习笔记[图]
Java基础之数组队列及Java堆外内存学习笔记\图\1.数组1.1数组基本概念:数组是一个容器,可以存储同一数据类型的N个数据;数组是一个数据结构,是数据结构中访问速度最快的;数组是直接通过下标进行定位;数组是属于引用数据类型(数组名中存储的是内存首地址);数组本身只有有length属性(获取数组能存储的数据个数),但是