顯示具有 Blade & Soul 標籤的文章。 顯示所有文章
顯示具有 Blade & Soul 標籤的文章。 顯示所有文章

2021年2月17日 星期三

劍靈(Blade & Soul) - 商用殼介紹(nProtect、WinLicense、Themida)

現今的線上遊戲(MMORPG)為了抵擋駭客來逆向分析遊戲的主程式,會利用商用殼(Packer)來保護遊戲的主程式,因為直接購買商用殼就不需花費大量的時間和人力去開發加殼軟體,所以就能專注在遊戲的開發。也許有人認為商用殼會被駭客破解,因此並不是特別安全,不過商用殼也有强弱之分,所以只要將無法破解商用殼的駭客抵擋在外就能達到此目的。

2020年7月2日 星期四

劍靈(Blade & Soul) 逆向分析研究 - 自動打怪Bot

經過一系列的逆向分析,我們能從遊戲裡獲取相關的資訊,並且利用它們原生的功能來實踐我們的自動化過程,因此將之前撰寫的每個功能整合起來,就是一個簡易的自動打怪的系統,那麼如果想要讓此系統更豐富完整,還需要分析更多的運作資訊(與NPC交易、換裝備等等),那麼分析方法,都跟之前一樣,因此想要完成腳本的功能,也不是什麼問題了。

劍靈(Blade & Soul) 逆向分析研究 - 自動移動到NPC

在分析完遊戲的坐標系統以及障礙物的相關資訊,我們接下來要撰寫路徑搜尋的程式,因此需要使用路徑相關的演算法。可能大部分沒有接觸這塊領域的同學,也許不知道要使用什麼路徑演算法,我們可以效法遊戲公司最常使用的路徑搜尋,那個演算法就是A*路徑演算法,A*在網路上已經有相當多的現成程式碼,因此我們只要稍微修改一下,就能符合我們需要的功能了。

2020年6月30日 星期二

劍靈(Blade & Soul) 逆向分析研究 - 人物移動方向計算

人物在移動時,如果遇到轉彎,需要讓它識別什麼時候是左轉、右轉或是往後移動,所以我們需要分析人物在移動到下一個坐標前,它的移動方向是哪裡。

2020年6月16日 星期二

劍靈(Blade & Soul) 逆向分析研究 - 坐標系統分析

在設計Bot之前,分析遊戲裡面的坐標系統是非常重要的,因為在尋路的過程我們需要坐標的轉換,以利我們在二維坐標的障礙物偵測,不過有些障礙物只能透過三維坐標來偵測障礙物,因此需要了解整個遊戲的坐標系統的轉換才能繼續開發我們的Bot程式。

2020年4月23日 星期四

劍靈(Blade & Soul) 逆向分析研究 - 障礙物分析

在路徑規劃前,我們需要知道附近的所有障礙物,這樣才不會被障礙物卡住,因此這篇會介紹如何分析遊戲中的障礙物資訊。

2020年2月29日 星期六

劍靈(Blade & Soul) 逆向分析研究 - 人物移動分析

在路徑規劃之前,我們要知道如何讓遊戲的人物自己移動,因此我們需要分析出,遊戲是透過哪個函式來移動人物。

2020年2月28日 星期五

劍靈(Blade & Soul) 逆向分析研究 - 調用技能分析

在攻擊怪物時,我們可能需要使用技能來幫助我們來提升打怪的效率,因此這個篇章是分析如何調用技能來幫助我們打擊怪物。

2019年12月13日 星期五

劍靈(Blade & Soul) 逆向分析研究 - 列舉人物技能ID

在自動化的過程中,必須要分析人物的攻擊,那麼就要知道程式是使用哪個函式來調用技能,在調用技能之前需要將技能的所有物件和ID列舉出來,所以這次的工作就是把技能物件、技能ID、名稱印出來。

2019年12月7日 星期六

劍靈(Blade & Soul) 逆向分析研究 - 附近怪物的遍歷

上一次的逆向分析是關於人物的血量和魔力值,那麼這次的分析是附近怪物的遍歷,只要是接近我們的怪物就印出怪物的名稱和血量,那麼在尋找遊戲中的遍歷程式碼就相當的關鍵,如果不熟悉遊戲的架構,在分析怪物的物件就會比較困難,因此只要了解任何一款MMORPG的架構,就能輕易的找到遍歷的位址。

2019年11月23日 星期六

劍靈(Blade & Soul) - 血量與魔力值分析

在研究Bot時,分析人物的血量是開始的第一步,不過對於不熟悉逆向的同學,可能這步就非常困難,但對於逆向高手當然是輕而易舉,由於人物的血量在遊戲的介面是可以顯示他的數值,因此搜尋血量值就變得相較簡單,那麼在撰寫程式需要獲取他的位移值(Offset Value),這邊有人會有疑問,為什麼要獲取位移值 ? 因為遊戲重新啟動,他的DLL(Dynamic-Link Library)或EXE的模組起始位址可能每次都不一樣,所以如果不獲取到模組的位移值,就不能每次都穩定的抓取血量和魔力值。