LZStorm 发表于 2021-12-24 12:55

抛砖引玉 - 讨论一下CE修改人物装备

本帖最后由 LZStorm 于 2021-12-26 12:44 编辑

CE小白一个 基本不会写auto assembler的编码,很多编码也是看的一知半解。358出来的时候收集了几个简单的宝珠,战马,饰品之类的修改CT表到现在也没完全看懂,但是简单的宝珠和战马修改应该还是没太大问题的,弊端就是需要一个一个手动搜索和修改比较麻烦。有大佬能做个CT表就更好了。。。我学了半天没学到什么
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
首先人物的战马,开局大家应该都是鹿毛 160速度 400突破力,这个战马需要用CE的Array of byte搜索 (下面Writable/读写的那个方框最好把打钩√点成方框,不过可能不需要)。这串代码是:

00 00 FF FF A0 00 ?? ?? ?? ?? ?? ?? 90 01            这个地址应该有两个,所以搜到之后把这两个地址点进CE,然后查看内存就能看到这串代码了。

解释一下:

[*]第一个00是鹿毛,中间空00 FF FF
[*]下一个A0代表移动速度160 ,A0是16进制,换成10进制就是160了。(A0后面的00其实也是和速度挂钩的 ,比如你想改成900速度换成16进制是384,这里要把A0 00变成 84 03, CE要这么反着写才行)
[*]中间那一大堆空的因为358帝国的战马没有本传马耐力之类的设定
[*]最后的90 01是冲突力400, 400换成16进制是190
[*]如果你想搜索其它的马 (我没玩那么多只有一匹马),把这个公式套进去,数字更换再搜一下就好了


所以最简单的修改时把鹿毛的00改成07 就能变成赤兔了,其它马的代码:

00鹿毛
01黑鹿毛
02芦毛
03栗毛
04栢毛
05绝影
06的卢
07赤兔

2021/12/26编辑:改好的马打完一盘之后会加进存档里面,也就是说把鹿毛改成赤兔最后会两匹马同时存在。这里有个问题是改战马的时候只改了ID 没改其他的 赤兔的速度还是鹿毛的速度, 所以要手动改一下速度

稍微关键的地方来了,我们搜索上面的那串代码出现了2个地址,根据另一个大神的猜想一个地址代表显示数据 一个地址代表真正的数据 ,所以修改的时候要两个都改。这个在改珠子的时候一定要留意。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

接下来我们改珠子,宝珠也是和战马一样需要搜索游戏内存里面的一串代码(还是要用Array of bytes)。

改珠子有个非常重要的一点,那就是要改的宝珠不要和武器的宝器一个属性。举个例子,我在装备火精之器(让角色能装4级武器,附带火属性),不要搜索火属性的宝珠(火精珠)。因为对应属性的武器会让宝珠的属性数值加强,词条的数字会变成蓝色代表武器和宝珠属性对应。这时候你看到该宝珠的属性值不代表内存里能找到的属性值,所以这个切记。另外 人物初始的护身珠子好像一直都是蓝色词条,所以我搜索不到。。。

改过战马之后我们直接来一串宝珠代码,搜索方式和战马一样,会出现2个地址:
20 00 02 00 63 00 26 00 03 00 72 00 08 00 10 00 1A 00 18 00 1A 00 17 00 1A

这个是我自改的宝珠所以没有人能在游戏里搜到这么具体的数据,只是拿过来举个例子,宝珠的属性如下:

疾风珠 (20)
守备/防御力 + 99(02 00 63)
反击的威力 + 3% (26 00 03)
触发攻击范围 +8% (72 00 08)
攻击速度 +26( 10 00 1A)
每一秒无双回复 + 26 (18 00 1A)
每一秒体力回复 +26 (17 00 1A)

有颜色的都是属性对应的词条,加粗的位置是词条对应的数值(防御力的63是16进制数字,等于10进制的99)。宝珠和宝珠词条我会放在附件里。 这里宝珠和战马一样,搜索会有两个地址所以两个都要改,这两个地址在内存里位置是很接近的,可能就差了1行半的代码。
不过游戏开局不会给你6词条宝珠,所以很可能上面代码后半部分都是00 00 00......只要根据格式填充对应的词条和数据就行了。词条数值后面的00和战马一样,是给你空出来改一些比较变态的数据的比如 02 00 63 00 是防御力+99,我们改成 02 00 84 03 就变成防御力+900

一般我搜索宝珠都是 宝珠+第一个词条看看有没有那个地址,比如上面的疾风珠 我要是盲着找的话 可能会先搜索 20 00 02 00 63, 如果有很多结果我会一点一点加词条看看能不能具体到2个地址,不过每次后面加新数据都要重新开搜索,直接连着当前结果搜索的话肯定是0结果了,这其实就是个排除法。



研究了半天也就出来这些东西,改武器完全没头绪,所以把研究成果放出来看看大家有没有什么可以加上去的。祝游戏愉快!











╭魚の第七秒╰_ 发表于 2021-12-24 13:22

啥时候来个CT,珠子属性太垃圾了

touch 发表于 2021-12-24 13:34

记得本传有个CT直接改珠子,帝国应该也行。不过还是感谢楼主分享。

LZStorm 发表于 2021-12-24 14:16

touch 发表于 2021-12-24 13:34
记得本传有个CT直接改珠子,帝国应该也行。不过还是感谢楼主分享。

我这个思路就是看本传的那个改的,我以为光荣会懒到死 但是那个改珠子的CT在帝国上用不了。我只懂一点点写那个CT表的代码。。。在帝国上我不会找具体的固定地址:(

酩酊 发表于 2021-12-24 14:59

本帖最后由 酩酊 于 2021-12-24 15:22 编辑

感谢!修改了一套变态珠子。这个是新珠子   43 00 全王珠(一级)修改的话5个属性就行,第6个会看不见珠子固有属性,虽然有效。游戏本身属性暂时发现的有

[*]00 00:攻击
[*]02 00:防御
[*]04 00:体力
[*]0F 00:获得功绩+XX%
[*]10 00:攻击速度
[*]15 00:道具获得概率+XX%
[*]1E 00:触发攻击+XX%
[*]1F 00:连贯攻击+XX%
[*]21 00:射击的威力+XX%
[*]22 00:骑乘攻击的威力+XX%
[*]23 00:特殊攻击的威力+XX%
[*]24 00:无双乱舞的威力+XX%
[*]25 00:突袭的威力+XX%
[*]26 00:反击的威力+XX%
[*]39 00:触发攻击时,吸收对象的体力
[*]3B 00:弓术
[*]46 00:箭矢的打击减少+XX%
[*]71 00:连贯攻击的攻击范围 +XX%
[*]72 00:触发攻击的攻击范围 +XX%
[*]6A 00:防御成功时回复体力
[*]楼主表里有,游戏暂时没发现的
[*]17 00:每1秒体力回复
[*]18 00:每1秒无双回复
[*]65 00:减少触发攻击的蓄力时间 +XX%
[*]基本改这些就无敌了




LZStorm 发表于 2021-12-24 15:28

酩酊 发表于 2021-12-24 14:59
感谢!修改了一套变态珠子。这个是新珠子   43 00 全王珠(一级)修改的话5个属性就行,第6个会看不见珠子 ...

:lol我现在也是搞了2个不错的珠子然后玩的很嗨

找到功绩这个修改好啊! 我现在升级速度太慢了,黄巾开始打完半个地图了还没30级。

我发的那个词条表基本上是358般过来的,很多东西在帝国里用不了 (比如轻功什么的)

λ-driver 发表于 2021-12-24 16:15

正好需要这个,感谢楼主!{:3_90:}

╭魚の第七秒╰_ 发表于 2021-12-24 16:51

酩酊 发表于 2021-12-24 14:59
感谢!修改了一套变态珠子。这个是新珠子   43 00 全王珠(一级)修改的话5个属性就行,第6个会看不见珠子 ...

求个存档,地盘大了天天被造反,烦死了

酩酊 发表于 2021-12-24 16:58

╭魚の第七秒╰_ 发表于 2021-12-24 16:51
求个存档,地盘大了天天被造反,烦死了

你看看能不能用 我也不知道 我的是学习版!

╭魚の第七秒╰_ 发表于 2021-12-24 17:00

酩酊 发表于 2021-12-24 16:58
你看看能不能用 我也不知道 我的是学习版!

感谢{:3_104:}

OLD_SNAKE 发表于 2021-12-24 22:01

楼主CE7.2版本按照你的操作 无效 比如强击珠 触发攻击+1% 体力+4 按照你的逻辑就是搜索数组 00 00 1E 00 01 00 到这里就是7000多个数据 然后加上体力+4 =00 00 1E 00 01 00 04 00就是0数据   更不用说后面的了   是我的操作逻辑没对还是什么原因数值是否在搜索前面那个是否打钩还有数值中间是否加空格~~? 夸父珠攻击 +10防御+10 攻击速度+3 后面就不说了= 25 00 00 00 0A 00 02 00 0A 00前面还是搜索出107个后面的加任何数字 就没找不到了   不知道哪里逻辑出错了 求指教

hsd602 发表于 2021-12-24 22:26

╭魚の第七秒╰_ 发表于 2021-12-24 13:22
啥时候来个CT,珠子属性太垃圾了

寫腳本沒你想像那麼難.......這遊戲我看了一下、沒種子我連下都不想下、腳本不外乎先找到位置、搜尋哪個程式碼訪問。

registersymbol定義.....自定義一個參數

alloc宣告參數位址大小.......通常是要寫入記憶體位置為8

再把自己定義的寫入....比如你用馬的速度找到是RAX+4e.......

把RAX寫入你自定義參數.....做到外面表格..........+4E就是速度.....

只要你成功自己慢慢寫腳本....以後可以說是不求人了。


OLD_SNAKE 发表于 2021-12-24 22:36

hsd602 发表于 2021-12-24 22:26
寫腳本沒你想像那麼難.......這遊戲我看了一下、沒種子我連下都不想下、腳本不外乎先找到位置、搜尋哪個 ...

太复杂了没看明白能否把楼主的那个逻辑分析给我一下我确实没改懂

hsd602 发表于 2021-12-24 22:56

OLD_SNAKE 发表于 2021-12-24 22:36
太复杂了没看明白能否把楼主的那个逻辑分析给我一下我确实没改懂

這個是2018年寫的
define(address,"DW9.exe"+720514)
define(bytes,0F B7 48 04 85 C9)



assert(address,bytes)
alloc(newmem,$1000,"DW9.exe"+720514)
registersymbol(hpt)
alloc(hpt,4)
label(code)
label(return)

newmem:
mov ,rax
code:
movzx ecx,word ptr
test ecx,ecx
jmp return

那時還太蔡不會用ABOSCAN.......

裡面自己添加也只有
registersymbol(hpt)註冊參數 hpt
alloc(hpt,4)定義 hpt 大小4Bytes.......當年的錯誤阿XD
mov ,rax把 rax寫入 hpt
其他都是自動會幫你寫


再到外面表格弄個hpt指針......

+4....就是你找到的位置

現在我都用ABOSCAN.......

反正就是自己先找到位置....對他按右鍵選找尋哪個訪問該位置

比如出現 RAX+04.....在右鍵選跳到編譯記憶體那邊.......選腳本生成.....選ABOSCAN........AUTO也可但會受版本影響。


OLD_SNAKE 发表于 2021-12-24 23:01

hsd602 发表于 2021-12-24 22:56
這個是2018年寫的
define(address,"DW9.exe"+720514)
define(bytes,0F B7 48 04 85 C9)


感谢大佬写这么多但是我还是完全没看懂有简单的逻辑操作吗比如为什么我按照楼主的那套逻辑搜索不出来呢刚才查了一下 无双8非帝国的的数据也跟群主的一样   所以我不知道我的问题在哪 还是群的数据有误另一层楼说成功了   毕竟不是学编程的所以这代码看不懂

hsd602 发表于 2021-12-24 23:13

OLD_SNAKE 发表于 2021-12-24 23:01
感谢大佬写这么多但是我还是完全没看懂有简单的逻辑操作吗比如为什么我按照楼主的那套逻辑搜索不出 ...

這是以前寫的教學

https://bbs.3dmgame.com/thread-5609117-1-1.html

那時還不會用ABOSCAN.......XD。

現在我是建議不要用Full lnjetion......這個會受版本影響。

LZStorm 发表于 2021-12-25 00:41

hsd602 发表于 2021-12-24 23:13
這是以前寫的教學

https://bbs.3dmgame.com/thread-5609117-1-1.html


强 我来学习学习:lol

LZStorm 发表于 2021-12-25 00:46

OLD_SNAKE 发表于 2021-12-24 22:01
楼主CE7.2版本按照你的操作 无效 比如强击珠 触发攻击+1% 体力+4 按照你的逻辑就是搜索数组 00 00 1E 00...

加新的数据之后要开新搜索,不要直接点下一个搜索。因为比如你找这个00 00 1E 00 01 00 找到7000多个结果,这些数据接下来是不会变的所以你直接加后面的数值 然后接着搜的话肯定没有结果(在7000个00 00 1E 00 01 00搜索00 00 1E 00 01 00 04 00 肯定没有啊:lol)。 正确操作是重新开个搜索然后搜00 00 1E 00 01 00 04 00 应该就很接近了

OLD_SNAKE 发表于 2021-12-25 01:26

找到原因了 初始宝玉器无法修改

gahqm 发表于 2021-12-25 17:38

感谢教学

lang5239 发表于 2021-12-26 22:07

护身珠代码是 6B 00

lang5239 发表于 2021-12-26 22:11

lang5239 发表于 2021-12-26 22:07
护身珠代码是 6B 00

这是二级的应该还不只这个 有空我再找找其它等级的

cd04 发表于 2021-12-27 18:53

谢谢 看懂了 我用10进制数组搜的 方便点:lol
104        68 = 敌人发现你的难度增加 这个非常好用!跑他旁边都看不到我,然后突袭!:lol

数组搜索:(好处:不用转16进制,看到数字多少搜多少。不用找该属性的16进制代码,因为我直接跳过)

cd04 发表于 2021-12-27 18:57

改也直接10进制改就可以了
页: [1]
查看完整版本: 抛砖引玉 - 讨论一下CE修改人物装备