好久不見,小屋好久沒更新 來更一個文章
這次暫時不繼續延續腳本話題
這次我要帶來 逆向還原一個副本 實做 這篇文章我有在某個論壇post過
此活動適用台服版本: 10x~ 17x(大概)
活動地圖代碼:910031000
以下是地圖的畫面(網路上隨便找到的)
接下來要介紹的是那個Score是如何 更新機制的
首先打開910031000的XML會看到有一個
<int name="fieldType" value="17"/> (這就是我們今天的重點)
再IDA Pro裡面的CField::FieldFactory 找到17
跟進去會發現以下圖片的樣子
接著跟vftable 到ASM上面看到它offset
會發現裡面長這樣
+4178這個基指 這個 就是我們要繼續跟到後會發現
CWvsContext::OnQuestRecordMessage 調用了它 找到之後會發現底下它是
利用一個空的quest id 10227 的customData atoi轉成分數去實作(如圖)
以上就可以知道它的流程及思路了
活動地圖代碼:910031000
以下是地圖的畫面(網路上隨便找到的)
接下來要介紹的是那個Score是如何 更新機制的
首先打開910031000的XML會看到有一個
<int name="fieldType" value="17"/> (這就是我們今天的重點)
再IDA Pro裡面的CField::FieldFactory 找到17
跟進去會發現以下圖片的樣子
接著跟vftable 到ASM上面看到它offset
會發現裡面長這樣
+4178這個基指 這個 就是我們要繼續跟到後會發現
CWvsContext::OnQuestRecordMessage 調用了它 找到之後會發現底下它是
利用一個空的quest id 10227 的customData atoi轉成分數去實作(如圖)
以上就可以知道它的流程及思路了
以下是示範影片