cgmsv引擎论坛

 找回密码
 注册/Sign up
搜索
查看: 1731|回复: 4

[教程] 增加道具種類修改方法

[复制链接]

Rank: 1

发表于 2022-4-24 22:16:25 | 显示全部楼层 |阅读模式
本帖最后由 fantastic 于 2022-4-24 22:18 编辑

首先進到http://127.0.0.1/adminer.php
選擇tbl_item 來修改身上的道具Type值 為56 然後進入遊戲我們會發現 道具種類會變成不明
知道了這一點我們就可以利用這一點來查找相關代碼
UE打開搜尋ASCII查找不明 定位到不明 雙手斧 雙手劍這裡 滑鼠點一下定位好看右下角顯示的position: 21da25h
pos.png


IDA載入cgmsv這裡我用的是21.2a版本的cgmsv 按alt 然後按j(Jump) 再按o(Offset) 輸入0x21da25 按下Enter
然後我們看到不明的上級引用可能是我們感興趣的 點進去看看

us.png

  
如果你不是在視圖模式按一下空白鍵切換到視圖模式
往上稍微滾動一下  我們可以很容易發現上面的一串關鍵指令
.text:004CA45A 02C 83 FA 37                cmp     edx, 55
.text:004CA45D 02C 77 61                   ja      short loc_4CA4C0

這裡是edx寄存器的值和55比較 大於時則跳轉
我們暫且可以推測後面我們把這個37h(55)修改就可以初步往我們想要的發展操作
然後跟著的紅線的是不滿足條件大於55時的操作
.text:004CA461 02C 8B 04 95 00 FB 61 00    mov     eax, off_61FB00[edx*4] ; "單手劍"
點進去可以發現就是正常1~55的道具種類名稱字串的參考地址 再點進去才是這些道具種類的字符串
初步評估我們需要55*4+n*4個字節的空間來寫入 道具種類字串的地址指引 n是要擴展的種類數量 這裡我們打算增加寵物項圈 寵物飾品 寵物服裝 寵物裝甲 寵物晶石
得55*4+5*4 = 240
這裡我有一個好主意 我們另尋空間來輸入這些道具種類名稱 而原來存放道具種類名稱的地方我們就拿來擴充更多的地址
道具種類名稱要存放在哪裡呢 我找到了一個好地方有非常足夠的空間
那就是新手頻道功能的各種提示字符串 只要確保這些功能無法被任何方法使用 那他就不會導致任何問題
你可以使用WinHex把原來的道具種類拷貝到這裡 然後再依序寫入五個新的道具種類名稱(記得他們總是以00結尾 表示字符串結束)
因為原先的道具種類不是全都等長的字符串 所以每個道具種類的字符串地址並不是固定+4byte 為了更快速的回寫地址參考建議使用任何程式語言編寫計算新地址 然後回寫

asc.png

move.png

good.png

總結修改方案:
搜索83 FA 37 77 61 將37改成3C 這樣就可以使用60道具種類
搜索 8B 04 95 00 FB 61 00 改為F8 F9 61 00 註記: 對應地址0061F9F8 (0x21e1f8)
Ctrl+G 0x21e1f8c 寫入60個道具種類字串的參考地址
Ctrl+G 0x211288 依序寫入60個道具種類字串 每個都要以00結束
到這裡就大功告成啦
為了方便測試可以進入http://127.0.0.1/adminer.php
選擇tbl_item 來修改身上的道具Type值 為56~60 進到遊戲可以發現能正常支持道具寵物項圈 寵物飾品 寵物服裝 寵物裝甲 寵物晶石道具種類名稱啦



















补充内容 (2022-4-25 00:34):
Ctrl+G 0x21e1f8 打錯了 多打一個c

补充内容 (2022-4-25 16:01):
今天發現有些遺漏的地方 8B 04 85 E0 FC 62 00 也要改成 8B 04 85 F8 F9 61 00

补充内容 (2023-10-9 15:57):
日後要完全完善 ITEM_getEquipPlace 需要再擴展
虛擬地址004CA080 和dword_6201E0[eax*4]

Rank: 1

发表于 2022-4-24 22:30:13 | 显示全部楼层
作为萌新 还不会使用IDA 暂时还看不懂这是啥,不过看你们在群里讨论了一下午 还是觉得很厉害的样子

Rank: 1

 楼主| 发表于 2022-4-24 23:10:29 | 显示全部楼层
1.jpg

2.jpg

3.jpg

4.jpg

5.jpg
您需要登录后才可以回帖 登录 | 注册/Sign up

本版积分规则

手机版|cgmsv引擎论坛

GMT+8, 2024-11-21 22:18 , Processed in 0.152422 second(s), 9 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表