冰楓論壇

 找回密碼
 立即註冊
查看: 257|回覆: 0

[分享] 神魔之塔 改數據簡易說明

[複製鏈接]

507

主題

0

好友

509

積分

高級會員

Rank: 4

UID
256845
帖子
508
主題
507
精華
0
積分
509
楓幣
1789
威望
508
存款
0
贊助金額
0
推廣
0
GP
0
閱讀權限
50
性別
保密
在線時間
11 小時
註冊時間
2019-2-14
最後登入
2019-4-19
發表於 2019-4-16 16:20:27 |顯示全部樓層
130346blalqgveqhh7bmmv

這個在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,有興趣的歡迎留言討論
[發帖際遇]: 김일성 遭「陷兵」強迫簽下「自願搜索同意書」,搜索到「偉大史物」,獲得獎勵 2 楓幣. 幸運榜 / 衰神榜
您需要登入後才可以回帖 登入 | 立即註冊

正在連接伺服器...
打開冰楓聊天室
廣告刊登意見回饋關於我們職位招聘

Copyright © 2011-2019 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|意見反饋|手機版|Archiver|冰楓論壇

GMT+8, 2019-4-25 12:52

APP Store下載 Play Store下載
回頂部