【原创】铁血联盟2内存修改器配置文件Offset.xml的修改 - 次元门 | 多元位面碎片集散地

访客需注册方可查看全部版块内容 请您花费一分钟时间完成注册过程 ( 登录 | 注册 )

 
Reply to this topicStart new topic
> 【原创】铁血联盟2内存修改器配置文件Offset.xml的修改, 可使我写的“铁血联盟2内存修改器”支持不同游戏版本(包括旧版)
会飞的猪
post 2018.01.17, 20:56
楼层 #1
编号: 42,910
帖数: 51
美刀: 192
组别: 列兵 R_18正式成员
注册: 2010.12.14, 11:36
物品: 查看

以下内容也会以WORD文档形式跟最新版的修改器放在一起。最新版下载地址(如果没被和谐以后就都是这个地址了):https://pan.baidu.com/s/1htIAqXY

Offset.xml文件保存的是各版本相关功能的修改位置,所以只需按格式添加节点,修改对应功能的偏移值,就能让修改器自动适应不同版本(包括1.12及以前各种老版)。BTW:有很多示意图,由于免费图床的不稳定,所以看过的觉得有保存价值的朋友请尽早离线保存哦。

两篇修改相关的帖子:
人物属性修改篇:铁血联盟2 v1.13内存修改不完全研究——人物属性篇
物品修改篇:铁血联盟2 v1.13内存修改不完全研究——物品篇


以下是各功能对应的地址的修改方法(使用Cheat Engine 6.5.1,简称CE):
首先把CE附加到游戏进程上,如图所示:



显示属性指针地址——分两种:
1、新版(1.13版):
将数值类型改为“字串”:


勾上“Unicode”,取消“区分大小写”后,输入红框内的佣兵昵称(黄框为佣兵名),点击“首次扫描”:



扫描结果如图,红框中的两个绿色的分别是“假属性”地址和“真属性”地址。为方便后续操作,双击这两个地址将其加入地址列表


将“假属性”地址减2后才是该佣兵“假属性”地址的起始位,这里是042341AA,减2后得042341A8。然后点击“新的扫描”,数值类型选“4字节”,勾上“16进制”,输入刚才计算的值042341A8后扫描结果如下:



一般来说第一个就是最终目标地址了,如果不确定的话,右键点击绿色地址,选“”或左键点击后按Ctrl+B,正确地址的话会很整齐且连续,每4个数值为一组(应该有255组也就是说基本上当前显示都是那样的地址)都是很相近的值,这些都是对应各佣兵的“假属性”的指针。如果搜索的不是第一个佣兵的信息,就还要倒数回第一个才行。

那么对于1.13版来说,这个搜索结果中的04233718就是我们要找的“显示属性指针地址”了,将其填入Offset.xml文件对应节点属性即可。

2、旧版(1.12版):
由于旧版没使用这种指针方式,所以找到的是直接值。相对的最快查找方式是搜索AP(行动点)值,由于AP值是单字节的,所以数值类型要选“字节”,如图:


经过几次扫描后有时会有几个结果,判断方法很简单,点击地址按Ctrl+B浏览内存,由于AP值和AP最大值是连续的,所以格式若如图所示:

两个箭头所指的0E(10进制为14)是当前剩余行动点,19(10进制25)是最大行动点,符合这种形式就对了,特别是注意红框中的B4 00 01 00 5E,这是当前佣兵的第一个物品(这里是钢盔),01是数量,5E是完好度,旧版物品是紧跟在行动点后的,所以内存如果符合这种形式就可以肯定是正确结果了。
将找到的行动点的地址(这里是00751AE3)减3才是该佣兵的起始位,这里得到结果00751AE0,这个就是旧版的“显示属性指针地址”值了。将其填入Offset.xml文件即可。

显示属性间距——分两种:
1、新版(1.13版):由于新版全是指针,所以一个指针占4字节,间距直接就是4。
2、旧版(1.12版):旧版没采用指针,所以还要搜索第2个佣兵的AP值,找到地址后减第1个佣兵的AP值地址(注意使用16进制的减法)才是对应的“显示属性间距”。

佣兵计数器——直接搜索当前佣兵数即可,新旧版都一样,唯一要注意的是交通工具——车也在计数中(飞机不算),所以已经有车的话,当前佣兵数+车辆数才是要搜索的值。找到地址后填入文件即可。

第一个——在前面找“显示属性指针地址”步骤中扫描佣兵昵称时会找到两个结果,在第2个结果上按Ctrl+B浏览内存往上翻几行就能看到佣兵名字。图中红框中的“57”为名字的第一个字母对应的内存值(如果不会看,就像下面箭头所指,点击内存值“44”,右边对应被选中的位置会显示成黄色,那么点右边的字母,左边对应位置也会显示成黄色,由此确定位置),这里“57”所在行的首地址是09FD7E40,而“57”在第5个,那么09FD7E44(第1个值对应地址是09FD7E40)就是我们要找的最终结果了,将其填入Offset.xml文件即可。


最后一个——由于一共有多少个没有源代码的话很难确定,所以一般是先得到静态属性间距,再尝试性的猜有多少个,用间距×猜测数+第一个的地址,跳到那个地址上看看往下还有没有,有就加大猜测数,直到往下翻几页都没有符合格式的数据,那么最后的间距×猜测数+第一个得到的地址就是最后一个地址了。

静态属性间距——得到“第一个”地址后,按Ctrl+B浏览内存,直接往下翻几页就能看到第二个人物的名字,定位到该人物名字的首字符上,会看的直接数地址,不会看就点右键,选择“将此地址加入到列表中”,会弹出一个对话框,如图:


红框里就是第2个人物的首地址了,用此地址减去第一个的地址(注意用16进制减法)就能得到间距了。

佣兵操作数据——昵称、行动点、在队、钥环、精力、疲劳度、士气、物品地址指针都是相对于“假属性”的起始地址而言的。昵称就不用说了,其余的参考下图(这是新版的,旧版数据大多在昵称的上面):


另外,新版的物品地址是从上图中的的一个指针地址跳过去的,查找方法是先搜索物品数量,参考“铁血联盟2 v1.13内存修改不完全研究——物品篇”,找到第一个物品后,右键点击红框,选“找出是什么改写了这个地址”,在游戏中把头盔拿起来再放回去,应该就能跟踪到了,相关CE的使用方法就不写了,网上很多CE的使用教程。


佣兵能力数据——这里的数据都是相对于“真属性”的起始地址而言的。要注意的是其中“能力值”和“技能”节点除了“value”外还有“ctrlvalue”,而“ctrlvalue”的值是相对于“假属性”的起始地址而言的。


汇编修改(这个需要懂点汇编的人才能做了):
锁钱——先按正常方法搜索金钱(不是物品钱,就是直接搜索当前“账户余额”),找到后双击地址加入列表,然后在列表地址上点右键,选“找出是什么访问了这个地址”,进游戏花点钱,切换出来就能看到已经跟踪到了。如图所示(这里是用旧版做的演示,新版思路一样)。

这里具体是哪条的判断需要经验,图中前3条在我从战略界面切换到笔记本界面就出来了,说明是在读取钱的时候跟踪到的数据,后两条是在花钱雇佣兵的时候出来的,说明这两条是决定钱变化的代码,而且相隔很近,这里我双击怀疑的那条,可以看到上面有个CALL,所以跟进去看看(如果没有图中我双击的那条,可双击下面那条,稍往上翻一下就能找到同样的结果)。点击“显示反汇编程序”,如图所示:

分析后即可肯定是这里了,具体就不解释了。注意红框和蓝框是不同的地址,这里由于是要保存修改数据,所以要将蓝框处的地址跳转到上面红框汇编代码的位置,方法是在蓝框显示数据区域的任意位置点右键,选“前往地址”,输入上面的地址,注意上面显示的是“ja2.exe+148DDC”,所以真正要前往的地址是400000+148DDC,即548DDC。这里要修改两处水红框指示的代码,上面是代码原本是读取帐户余额到寄存器,这里改为直接将数据写入寄存器,下面的“add eax,esi”直接nop掉,就能锁定金钱了。
那么在Offset.xml文件对应版本的锁钱节点中,Offset节点值即为0x00548DDC,再复制从“mov eax,[0098ACC8]”到“add eax,esi”之间的数据,方法如图,从“mov eax,[0098ACC8]”对应的“A1 C8 AC 98 00”开始按左键不放选择到“add eax,esi”对应的“…03 C6”结束,Ctrl+C复制,粘贴为OldCode节点的值。


然后再修改汇编代码后,将修改后的数据(如图)复制,粘贴为NewCode节点的值即完成。


负重——跟锁钱的分析过程差不多,只不过要注意的是在“找出是什么访问了这个地址”时,要跟踪“假属性”位置上的“力量”值。要注意的是这段代码是把力量值读入到al,且为有符号值,所以修改直接写入的值不能超过127(新版可以超过但粗略测试没到255)。

本主题由 会飞的猪 于 2018.01.24, 19:45 修改




Go to the top of the page
 
+Quote Post
kmoi
post 2018.01.18, 15:17
楼层 #2
编号: 43,333
帖数: 2,060
美刀: 696
组别: 准将 L_05版块版主
注册: 2011.01.09, 18:49
物品: 查看

访客需注册方可查看全部版块内容 请您花费一分钟时间完成注册过程 [注册|登录]
Go to the top of the page
 
+Quote Post
huyanjie6321
post 2018.01.19, 00:21
楼层 #3
编号: 54,377
帖数: 569
美刀: 1,209
组别: 上士 R_15士官三级
注册: 2013.10.30, 00:32
物品: 查看

访客需注册方可查看全部版块内容 请您花费一分钟时间完成注册过程 [注册|登录]
Go to the top of the page
 
+Quote Post
kmoi
post 2018.01.19, 03:58
楼层 #4
编号: 43,333
帖数: 2,060
美刀: 696
组别: 准将 L_05版块版主
注册: 2011.01.09, 18:49
物品: 查看

访客需注册方可查看全部版块内容 请您花费一分钟时间完成注册过程 [注册|登录]
Go to the top of the page
 
+Quote Post
ymh234567
post 2020.04.23, 16:16
楼层 #5
编号: 64,633
帖数: 7
美刀: 21
组别: 列兵 R_18正式成员
注册: 2020.04.22, 13:48
物品: 查看

访客需注册方可查看全部版块内容 请您花费一分钟时间完成注册过程 [注册|登录]
Go to the top of the page
 
+Quote Post
会飞的猪
post 2020.05.19, 19:35
楼层 #6
编号: 42,910
帖数: 51
美刀: 192
组别: 列兵 R_18正式成员
注册: 2010.12.14, 11:36
物品: 查看

访客需注册方可查看全部版块内容 请您花费一分钟时间完成注册过程 [注册|登录]
Go to the top of the page
 
+Quote Post
1 位会员正在查看此主题 (1 位访客和 0 位隐身会员)
0 位注册会员:
Reply to this topicStart new topic
 



[ Copyright ©2003-2020 CiYuan.MEN ]   当前时间: 2020.07.15, 07:33