上一节,我们通过代码Hack的方式修改了移速和攻速,这一节,将通过程序分析的方式,制作出各种强力的战斗杀敌金手指功能

1. 我们先修改暴击几率和暴击伤害,先搜索critchance, 找到PowerComputeCritChance函数,双击转到伪代码,要hack的就是最后的返回值,我们需要改成1,注意,PowerComputeCritChance是敌我通用的,hack的时候要注意区分敌我,跟上节一样

2. 转到汇编代码,然后再找到2.6.6对应的地址,我们就在FCMP            S0, #0.0上做hack跳转

3. 找空白区域编写代码如下

4. 写成金手指格式

5. 接下来开始修改暴击伤害,原始版本中搜索critdamage,打开PowerComputeCritDamageScalar,拉到最后面,我们发现了暴击伤害获取后进行了另外一个比较,我们猜测是暴击伤害上限,在游戏里测试也会发现,爆伤上限是900%,这个在hack时需要解除的

6. 我们转到汇编代码,顺便再找到2.6.6对应的地址,通过分析,找到了需要Hack的指令,可以直接在上限判断的指令上做hack,这样就不用找空白区域写hack代码了

7. 编写代码如下

8. 经过测试会发现,对怪物造成的爆伤好像没有达到上亿倍,我们猜测可能还有一些地方做了爆伤限制,所以继续寻找,在函数PowerComputeCritDamageScalar上右击跳转到外部引用,看到PowerAPI_DoPayload,根据字面意思猜测这个是造成伤害的函数,双击点进去,发现了这里也有暴击伤害的限制,找到2.6.6对应的地方,改为NOP解除之

9. 我们另外还发现PowerAPI_BuffAddToACD里也有做爆伤限制的地方,可能是DOT伤害,同样找到2.6.6对应的地方,怒改之

10. 最后,我们得到的金手指代码如下,注意30倍,万倍,亿倍的区别仅在于最后的指令改成NOP,关闭的金手指代码只用把程序原指令恢复即可

11. 这样我们就完成了暴击率+暴击伤害的金手指,但是暴击伤害却并没有计算到人物面板DPS中,因此我们介绍一下暴击伤害加成的另一种写法,也就是类似于面板攻速的Hack修改法,首先先要解除计算DPS时的爆伤上限限制,在GetDPSValue里发现了PowerActorGetWeaponDamageAndAttackSpeed,继续点进去,拉到后面。通过分析代码找到了爆伤的限制处,然后去找到2.6.6的地址,把限制改掉即可(改成fmov s0,s10),至此我们改掉了爆伤的最后一个限制

12. 找空白区域编写汇编代码如下,注意因为金手指地址偏移-0x1000,最后实际跳转的是0x66ED30, 编写完后在0x66ED2C处改成此段代码的调用指令就可以了

13. 至此,我们完成了所有代码的编写,再加上之前解除爆伤限制的修改,合起来转写成金手指代码如下

14. 接下来进游戏中测试一下爆伤金手指,成功,爆伤是原来的1000000倍,48是人物本身自带的50,由于计算精度变成了48,不用在意,而且面板DPS也计算对了,现在终于可以去暴虐怪物了,想想都开心

15. 好了,本节到此结束,本来是想将其他功能修改一起放到这一节的,不过目前来看内容有点多,就先到这里吧,下一节我们将会讲解如何制作最变态的金手指:一击必杀和生命不减,能量不减等等振奋人心的功能

NS版暗黑破坏神3金手指开发教程(8)相关推荐

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

    上一节,我们介绍了全饰品的制作方法,这一节将讲解全幻化的制作,涉及到的汇编和逆向知识比较多,代码量也很大,读者需要一定的耐心,理解了本节意味着已经没有什么困难可以阻挡你前进了 1. 我们搜索幻化tra ...

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

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

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

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

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

    上一节,介绍了开发金手指所需的工具,这一节,正式开始简单的金手指修改 1. 首先,分别要准备好2.6.6的main.elf和原始版本待调试信息的DiabloIIINX64ra.elf,因为我们要修改的 ...

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

    上一节我们介绍了暴击爆伤的修改,这一节将讲解一些变态功能的制作,由于前面的章节已经详细地将大部分hack制作方法都讲解的差不多了,从这一节开始将会加速金手指教程 1. 我们先从生命不减和一击必杀的功能 ...

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

    上一节,我们学会了全幻化的制作,功力精进了一步,这一节,将会讲解全图纸的制作,也基本上是金手指教程的最后一节了,通过这一节,读者将会看到如何将逆向程序分析方法使用得淋漓尽致,面对任何困难也能无坚不摧 ...

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

    上一节,我们介绍了金钱血岩以及全素材的代码Hack修改,这一节,我们将解决第二节提出的问题,如何能在游戏中实时动态地开启和关闭人物属性的修改 1. 我们在游戏里打开人物的状态窗口,可以看到大部分属性, ...

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

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

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

    上一节,我们讲解了关于各种延时机制的hack,这一节,将会介绍全传奇威能的制作 1. 因为传奇威能的收集比较困难,需要获取到大部分拥有传奇技能的装备,而且还要提取传奇威能,因此,我们考虑从程序中Hac ...

最新文章

  1. Qt之两种初始化QListWidget的方法
  2. (四)Decorator设计模式解决GET/POST请求的乱码问题(转)
  3. 数组的升序 java_java – 以升序数组排序数组
  4. 解除服务器端口号占用及服务器端口号的修改
  5. 为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname
  6. [译] APT分析报告:05.Turla新型水坑攻击后门(NetFlash和PyFlash)
  7. Linux访问交换机FTP,华为交换机使用FTP查看下载文件
  8. 华为手机android怎么解锁,怎么查看华为手机解锁
  9. 【js】碰到了Flash与extjs冲突无法输入中文解决办法。
  10. 了解Android布局,了解Android对话框布局
  11. 电力-开闭所/配电房/变电所/变电站
  12. 谷歌浏览器上不了网如何设置_如何解决电脑网络连接正常却上不了网
  13. php 生成指定长度字符串
  14. 两年工作经验的后端开发的工作方法小结
  15. 计算机系统结构复习(四):Pipelining流水线
  16. ios3怎么取消长按弹出菜单_ios13长按多功能怎么关闭-手机数据恢复精灵
  17. C++ accumulate
  18. SQL考试练习题及全部答案2
  19. 内生性、自选择偏误、样本选择偏误
  20. ---------------经典语录 三-----------------------

热门文章

  1. 查任意qq的密保源码
  2. 【12306购票】处理验证码并完成登陆
  3. TEE 开发入门知识
  4. 数据结构和算法 堆排序 (图解堆调整)
  5. 高通与华为协商专利授权费体现后者专利实力的上升
  6. 服务器为C#开发,aspx设置跨域请求
  7. 海天酱油以创新为基础,拓展网络销售渠道
  8. ResNet改进原理介绍论文笔记
  9. day2 Hello world
  10. 阿里云高主频计算型实例规格族cm4实例CPU配置性能和使用场景