找回密码
立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
发新帖

1万

积分

好友

主题
发表于 2023-6-19 08:50:07 | 查看: 680| 回复: 0
在開始分析前,要知道GM指令的指令效果與使用方式,才方便開啟除錯(Debug)進行分析。

效果:顯示在線用戶數。
範例:

.who
.who all
而一般指令是:

/who
/who ${角色名稱}
1.分析資料表:

先進入commands表,找到who線上人數的指令。
class_name是L1Who。

2.分析程式碼:

付费内容
游客,您好!如果您要查看本帖隐藏内容请向楼主支付5青币



此時做個反向分析找尋呼叫的位置。
在方法C_Who上,按下右鍵並選擇Find Usages
下方會彈出此所有使用此方法的清單。
剛好只有一個地方,我們點擊將其開啟在工作區。
這時候會開啟PacketHandler.java。
src/l1j/server/server/PacketHandler.java
在前面幾次分析中也有提到。
PacketHandler會發現對應的是個OP_CODE。
C_OPCODE_WHO:請求查詢遊戲人數
註:我為什麼會知道對應的是客戶端的什麼行為?因為有註解有寫得很清楚。

分析至此告一段落。

Archiver|手机版|小黑屋|点点天堂

GMT+8, 2026-10-13 01:37 , Processed in 0.686014 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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