上一节,我们讲解了关于各种延时机制的hack,这一节,将会介绍全传奇威能的制作

1. 因为传奇威能的收集比较困难,需要获取到大部分拥有传奇技能的装备,而且还要提取传奇威能,因此,我们考虑从程序中Hack出来全部的威能,首先我们从SItemPlayerExtractLegendaryPower函数中知道了威能数组和数量在Player中的偏移地址,如下图,顺便找到2.6.6中此函数的地址0x7B45F0

2. 我们去找到LocalPlayerGet在2.6.6中的函数地址是0xB8040,后面会用到

3. 接下来我们找到选择威能时程序会调用的一个函数UIEquipLegendaryPowers::GetAllPowers,就在这里找一个hack的地方,做hack代码跳转,如图中的v3那里

4. 然后找到2.6.6中对应的地址,修改成hack跳转

5. 在2.6.6中的0xc426fc处开始编写hack代码,注意由于金手指要偏移-0x1000,所以B9040和7B55F0其实是B8040和7B45F0, 233978其实是232978,讲解一下思路,我们先获取player对象,然后找到威能数地址改为0,然后把arExtractableLegendaryPowers的地址给X8, 遍历其中每个威能,并调用SItemPlayerExtractLegendaryPower让人物学会该威能,调用该函数前,切记要保存X0到X21, 因为,player的地址每次循环都要用,因为函数里会改变一些寄存器,如x8,x9,所以最后还要恢复x8,x9的值,最后跳回到调用处,这样就完成了整个流程

6. 由于我们在调用SItemPlayerExtractLegendaryPower的时候并没有传入第三个参数,也就是GameError *eGameError,因此还需要修改一些地方来避免出错,打开该函数,分析代码找到了三个需要修改的地方

7. 找到2.6.6版本对应的地址,一一修改之

8. 因为我们直接修改了跳转,导致威能成就没办法正确获取,因此我们改一下拾取金币的成就,把他变成威能成就判断,当然也可以不改,反正下次进入游戏成就还是会正确完成,所以也可以忽略,在这里说一下怎么改吧,分析可以知道威能成就标志是524

9. 找到sPlayerCurrencyPickup函数里金币成就判断的地方,把金币成就类型10改成威能成就类型524即可,找到2.6.6的对应地址去做hack

10. 把所有代码写成金手指格式

11. 开启金手指进游戏里打开卡奈魔盒,看看传奇威能是不是全都有啦,注意,暂时不要选威能,由于我们改了全威能数组,但是并没有重新导入和排序,所以需要退出游戏场景重新进入就好了,所有威能全部可以选了

好了,本节到此结束,从这一节开始,我们讲解的hack过程越来越复杂,实现的功能越来越强大,但是万变不离其宗,只要程序逻辑分析清楚,全面考虑所有情况,最后一定会成功

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

  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金手指开发教程(8)

    上一节,我们通过代码Hack的方式修改了移速和攻速,这一节,将通过程序分析的方式,制作出各种强力的战斗杀敌金手指功能 1. 我们先修改暴击几率和暴击伤害,先搜索critchance, 找到PowerC ...

最新文章

  1. 云炬随笔20171209
  2. 别人写好的爬虫怎么运行_怎么写好楷书?
  3. 牛客练习赛73 D 离别(线段树+右端点排序离线查询)
  4. poi 不自动计算 设置单元格公式_Java POI:如何读取Excel单元格的值而不是计算公式?...
  5. 最新桌面操作系统份额统计:Windows占比91.59%
  6. Firefox删除DNS缓存——修改hosts后,无需关闭
  7. python导入鸢尾花数据集_python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析...
  8. Win11怎么设置鼠标箭头图案?Win11更换鼠标图案的方法
  9. Android实现抖音无水印视频
  10. Marr-Hildreth边缘检测器C++实现
  11. 2022年电子邮箱哪个好用?邮箱大全测评来了,请及时查看哦
  12. 杭州市公积金提取及相关知识
  13. 如何把阿拉伯数字转换为中文大写?
  14. 计算机报名照片不能小于20kb,公务员考试:上传20KB电子照片难倒不少考生
  15. 大牛教你怎么学习Java多进程,下载量瞬秒百万
  16. pi/4dqpsk的matlab及FPGA仿真
  17. win10笔记本右键磁盘无响应,鼠标一直转圈圈,或卡死
  18. Nginx的介绍与使用
  19. 全网最硬核 JVM TLAB 分析 6. TLAB 相关热门QA汇总
  20. 一些有趣的鸽巢原理的题目

热门文章

  1. KindEditor富文编辑器集成kityformula数学公式
  2. Python实现银行金额大写汉字转换【简单易懂】!!
  3. 如何在Windows中将应用程序添加到快速启动菜单
  4. 【网络工程师精华篇】华为路由交换机基础命令!
  5. 连接数据库报错com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure的解决方法
  6. arduino笔记8:语言运算符 + c语言运算符优先级
  7. 什么是组合索引?在哪些场景中,组合索引会失效?
  8. HGOI20190811 省常中互测4
  9. css实现空心文字效果
  10. MySQL 5.7.31安装Can‘t change dir to ‘……‘问题解决