NS版暗黑破坏神3金手指开发教程(2)

article/2025/10/5 4:39:06

上一节,介绍了开发金手指所需的工具,这一节,正式开始简单的金手指修改

1. 首先,分别要准备好2.6.6的main.elf和原始版本待调试信息的DiabloIIINX64ra.elf,因为我们要修改的是2.6.6版本的elf,和最初带调试信息的elf数据是不一样的,不过暴雪更新游戏版本时并没有进行程序上的完全重构,因此大部分程序数据还是基本一致的,我们要做的就是要先找到原始版本的金手指地址,然后根据附近的汇编指令再找到2.6.6版本对应的地址,这个地址就是我们需要修改的数据地址,从网盘上下的2.6.6 Main文件是加密过的,所以需要用 “NS加密解密工具” 解密成完整的elf文件,DiabloIIINX64ra.elf是已经解密过的,就不用再解了,解密的方法很简单,把main文件放在同目录,然后运行“解密main.bat”就可以得到main.elf了,下面先从简单的开始

2. 现在已经万事俱备了,我们首先想要修改什么呢?对了,暗黑三人物的力量,智力,敏捷等数据不是直接影响人物的伤害么?我们想痛快地虐怪,那么就先试试修改人物属性吧,我们先打开hexworkshop, 然后打开main.elf, 比如修改力量,那么就搜索力量的英文Strength,看到好多搜索结果,没关系,我们一一查看下,发现00E50A01这个地址最可疑,因为此处Strength的出现数非常多,而且有+-*等数学运算符,我们猜测此处可能是Lua脚本的公式文本,在游戏加载后可能会被编译成字节码然后被游戏程序调用来计算人物的最终力量值,所以我们只用改这个公式就行了

3. 我们已经找到了力量公式的文件偏移地址0x00E50A01,那么下一步就是祭出神器IDA的时刻了,打开IDA Pro, 打开main.elf, 等待反汇编完成,然后点击跳转->跳转到文件偏移量 输入0x00E50A01,确定,我们就看到了力量公式所在的运行时地址0000000000E50FE7

4. 接下来,我们同步到十六进制视图,并鼠标右键同步到IDA View,我们看到了16进制的力量公式,现在我们就在这上面编辑公式吧

5. 我们在一个地方把1改成9999,也就是把力量计算公式放大了9999倍,这样我们的人物的力量值最终经过程序算出来就是原值的9999倍,修改后如下图,修改完成要右键然后点击应用更改

6. 经过上面一步,我们已经知道了需要修改的内存地址和内存数据,下一步就是制作我们的金手指代码啦,这一步就简单多了,我们只需要新建一个txt文件,命名为此游戏版本的<build id>.txt ,比如2.6.6的版本在ns金手指界面那里看到的build id,当然也可以从NS解密工具里找到(取build_id的前16个字符),然后在txt里按一定格式写下金手指代码即可,注意txt要以utf-8 无BOM编码格式存储,不是的话在notepad++里修改编码格式后保存,不然金手指界面读不出来,[...]里是该代码描述,04000000是表示4字节也就是32位的值写入,后面紧跟着的是运行时内存地址,也就是我们IDA里面显示的地址,然后是这个地址要被写入的32位值,按高低位字节顺序排列,因此和IDA Pro里显示的数据是反着的

7. 现在终于到验证我们辛苦努力成果的时候了,把txt放到ns tf卡里的相应目录,上一节有说明,然后启动暗黑三,1秒后马上切到金手指界面,选择开启力量9999倍,然后回到游戏,选择人物,进入场景查看人物状态,是不是发现人物力量变成9999倍了,好了,可以Hi起来了,下图是将力量敏捷智力体能属性均改成9999倍的效果,敏捷智力体能修改方法类似于力量公式,就不再敖述了

这一节我们知道了怎么通过Hexworkshop和IDA制作出自己的金手指代码,并且可以简单地制作出修改人物基础属性的代码,如果能耐心做到这一步,恭喜,你已经入门(入坑)了

下一节,我们将大概讲解一下人物全部属性的修改


http://chatgpt.dhexx.cn/article/ulETLJBf.shtml

相关文章

NS版暗黑破坏神3金手指开发教程(7)

上一节&#xff0c;我们讲解了通过代码Hack的方式修改人物的魔法物品获取率和金币获取量等属性&#xff0c;这一节&#xff0c;我们将一鼓作气&#xff0c;拿下移速攻速等更复杂的属性修改 1. 我们在原始版本里搜索移速英文movespeed得到一个结果&#xff0c;双击打开伪代码 2…

Unity 基础常用的脚本(一)

1.获取相机射线 var ray Camera.main.ScreenPointToRay(Input.mousePosition); //GameObject.CreatePrimitive(PrimitiveType.Cube).transform.position ray.GetPoint(10.0f); transform.LookAt(ray.GetPoint(10.0f)); 2.AddForce和velocity有什么区别&#xff1f; AddForc…

NS版暗黑破坏神3金手指开发教程(10)

上一节&#xff0c;我们讲解了一击必杀&#xff0c;技能冷却无CD等人物战斗时用到的金手指制作&#xff0c;这一节&#xff0c;将会讲解人物升级相关的功能以及宝石和打孔器等材料数量的锁定功能制作 1. 在游戏中特别是在游戏后期&#xff0c;我们会发现人物随着等级的提高&am…

Unity脚本复习

1.在Project面板中显示和创建的每一个脚本其实都是一个类&#xff0c;当我们把脚本挂载到Hierarchy层级中的游戏物体时&#xff0c;其实我们就实现了将脚本类实例化为一个脚本组件&#xff08;对象&#xff09;的过程 2.在游戏运行时&#xff0c;场景加载&#xff0c;游戏对象…

零基础游戏开发笔记11——Unity脚本介绍、脚本初始阶段

1.语法结构&#xff1a; 2.编译过程&#xff1a; CLS->Mono RunTime->机器码 3.关于修改和创建脚本&#xff1a; 创建脚本&#xff1a; 一般我们会在项目中添加scripts文件夹&#xff0c;并在此文件夹中编写脚本&#xff0c;当然这些脚本可以根据个人喜好分配到不同类…

NS版暗黑破坏神3金手指开发教程(4)

上一节&#xff0c;我们讲了基于公式明文的金手指制作方法&#xff0c;这一节&#xff0c;我们将进阶到更高级的基于程序修改的金手指制作方法&#xff0c;从现在开始&#xff0c;对读者的技术水平有了一个更高的要求&#xff0c;读者最好有汇编和C/C高级语言的一些基础&#x…

NS版暗黑破坏神3金手指开发教程(17)

终于到最后一节了&#xff0c;在这一节中我们将讲解如何利用hack制作出丰富多彩的世界&#xff0c;开个玩笑&#xff0c;其实是因为由于暗黑三的AMIIBO功能很有意思&#xff0c;不但可以用普通手办在城外召唤出一组精英怪&#xff0c;而且在城内用专用哥布林手办还能开启宝藏秘…

NS版暗黑破坏神3金手指开发教程(5)

上一节&#xff0c;我们学会了通过修改程序指令的方式制作金手指&#xff0c;这一节&#xff0c;将引出真正的高手级金手指开发方法 除了必掉太古这个极其护肝和有用的金手指外&#xff0c;我们能想到的另一个金手指就是人物背包里的素材&#xff0c;包括金钱&#xff0c;宝石…

暗黑破坏神2 符文自动合成--按键精灵源码

最近玩了一个暗黑破坏神mod服 发现2个符文可以合成一个大号符文.不过手动合成实在太费劲了.于是乎我就写了一个自动合成的脚本. 需要用到图灵插件,不知道的自己百度一下. 还是挺有意思的这类脚本.还需要有一个自己的算法. 源码如下. Function 移动鼠标点左键(x1, y1)MoveT…

Unity脚本(二)

视频教程&#xff1a;https://www.bilibili.com/video/BV12s411g7gU?p122 目录 Transform GameObject Object GetComponentInParent LookAt GetSiblingIndex、SetSiblingIndex Instantiate Transform 对象的位置、旋转和缩放 场景中的每个对象都有一个Transform&…

Unity 剧情类游戏基础脚本

本文主要用于给新人提供实现剧情类游戏的基本思路。 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; 然后是一个很重要的 [System.Serializable] 它的作用是使得在检查器窗口来看到我i们自己创建的类从而实现在检…

Unity脚本(三)

视频教程&#xff1a;https://www.bilibili.com/video/BV12s411g7gU?p128 目录 Time Prefab Animation Time Time.time&#xff1a;自应用程序启动以来&#xff0c;每帧的开始时间&#xff08;只读&#xff09; Time.deltaTime&#xff1a;每帧间隔&#xff0c;或说完…

NS版暗黑破坏神3金手指开发教程(1)

最近重温了NS版的暗黑三&#xff0c;因为空闲时间实在有限&#xff0c;面对这样一款刷刷刷的经典作品&#xff0c;为了护肝以及更爽快的游玩&#xff0c;同时为了弥补自己丢失已久的汇编技能&#xff0c;加上NS版暗黑三最初版本里有带完整调试信息的elf文件&#xff0c;于是有了…

NS版暗黑破坏神3金手指开发教程(3)

上一节&#xff0c;我们初步介绍了修改人物力量的方法&#xff0c;也大致说了一下hexworkshop和IDA的简单操作&#xff0c;这一节&#xff0c;我们将进阶到复杂度高一些的人物全属性修改&#xff0c;搜索方法基本跟上一节的力量公式一样&#xff0c;需要一定的耐心和细心&#…

Unity入门3——脚本基础

一、生命周期函数 ​ 所有继承 MonoBehavior 的脚本&#xff0c;最终都会挂载到 GameObject 游戏对象上 ​ 生命周期函数就是该脚本对象依附的 GameObject 对象从出生到消亡整个生命周期中 ​ 会通过反射自动调用的一些特殊函数 ​ Unity 帮助我们记录了一个 GameObject 对象依…

4.实现csdn暗黑模式-油猴脚本实战1

4.实现csdn暗黑模式-油猴脚本实战1 Start 前面的文章&#xff0c;对油猴脚本做了基础的介绍。今天来我们来实战一下&#xff0c;编写一个有实际作用的油猴脚本。 如果我希望我的csdn是暗黑模式&#xff0c;怎么办&#xff1f; 看我表演&#xff1f; 注意&#xff01;本文仅用…

6. unity之脚本

1. 说明 当整个游戏运行起来之后,我们无法再借助鼠标来控制物体,此时可以使用脚本来更改物体的各种姿态,驱动游戏的整体运动逻辑。 2. 脚本添加 首先在Assets目录中,新创建一个Scripts文件夹,在该文件内右键鼠标选择创建脚本选项,即可创建一个脚本文件,可命名为Sampl…

Unity入门03——Unity脚本

1.脚本基本规则 1.设置编程用工具 2.基本规则 1.创建规则 不在VS中创建脚本了可以放在Assets文件夹下的任何位置&#xff08;建议同一文件夹管理)类名和文件名必须一致,不然不能挂载(因为反射机制创建对象&#xff0c;会通过文件名去找Type)建议不要使用中文名命名没有特殊…

你可能还不知道的暗黑3常用小技巧

以下是上次活动热心坛友发来的游戏小技巧&#xff0c;经过我的搜集和加入一些自己和朋友们分享的经验整合编辑而成。再次感谢大家的热心参与。都非常实用哟&#xff01;&#xff01;&#xff01; 操作篇 1&#xff0c;如果你不希望朋友进入你的游戏时&#xff0c;按ESC&#xf…

jq linux获取数组长度,数组长度用size还是length

数组长度用length属性。length是js的原生方法&#xff0c;可获取元素的个数和对象的长度&#xff1b;而size()函数是jQuery方法&#xff0c;只能作用于对象上&#xff0c;用于返回当前jQuery对象封装的元素个数。获取一个数组的长度或者参数的长度&#xff0c;只能用lenth。 本…