冰楓論壇
標題:
神魔之塔 改數據簡易說明
[打印本頁]
作者:
김일성
時間:
2019-4-16 16:20
標題:
神魔之塔 改數據簡易說明
2019-4-16 16:20 上傳
下載附件
(92.1 KB)
這個在6封以前(包含)沒問題,超過6封好像通關時間太短有高機率#3,跑腳本測了10隻在7封不同的地方分別#3
7B
81 59 00 04
7B 46 65 00 04
3F
07 00 00 00 02 28 A2 0A 00 06 2A
7B 81 59 00 04 7B 46 65 00 04
3D
07 00 00 00 02 28 A2 0A 00 06 2A
這個是修改"當前回合大於等於關卡總回合時觸發勝利",把判斷給反過來所以進關就會勝利。
重點不是上面的東西,有人發簡訊提問,這邊就統一給有興趣修改的人點方向
下面是上面數組的IL,記憶體編排的關係, | 前的先輸入, 然後 | 後面有(OO)或是給予數值反過來輸入,有興趣了解詳細的可以Google,這裡就不多做解釋了。
IL_00b8: /*
7B
|
(04)005981
*/
ldfld
class Floor Game/RuntimeData::currentFloor
IL_00bd: /* 7B | (04)006546 */ ldfld int32 Floor::waveCount
IL_00c2: /* 3F | 07000000 */ blt IL_00ce
IL_00c7: /* 02 | */ ldarg.0
IL_00c8: /* 28 | (06)000AA2 */ call instance void Labyrinth::Victory()
IL_00cd: /* 2A | */ ret
會得到
7B
81 59 00 04
7B 46 65 00 04 3F 07 00 00 00 02 28 A2 0A 00 06 2A
然後我們從List of CIL instructions查到
blt
也就是
3F
是指"如果第一個值小於第二個值,則將控制轉移到目標指令",那我們就找他的相反指令
bgt
也就是
3D
替換達成進關勝利的效果,其他指令的細節就請到
List of CIL instructions來做查詢
。
先從改判斷式或是數值入門的話,修改程式的範圍與複雜度較低,比較好上手,等到熟悉後就可以加以變化做出特殊的效果,上面的修改方法都是網路上查的到的方法只是做個簡單整理,至於工具的話可以用ildasm和ilspy,有興趣的歡迎留言討論。
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓