4.2 Opcode 結構分析
🎯 Opcode 是什麼?
Opcode (Operation Code) 是封包的辨識碼,用來區分不同的遊戲操作。
[Opcode: 5] [帳號] [密碼] → 登入請求
[Opcode: 6] [結果] → 登入回應
🔍 IDA 分析技巧
必備快捷鍵
| 快捷鍵 | 功能 |
|---|---|
| F5 | 反編譯為偽代碼 |
| X | 查找所有引用 |
| ALT+T | 搜尋文字 |
| ALT+B | 搜尋位元組 |
關鍵方法
| 方法 | 用途 |
|---|---|
CWvsContext::OnPacket | 處理 opcode < 140 |
CField::OnPacket | 處理 opcode >= 140 |
CInPacket | 接收封包 |
COutPacket | 發送封包 |
📝 解讀封包結構
常用 Decode 函數
| 函數 | 說明 |
|---|---|
Decode1 | readByte() |
Decode2 | readShort() |
Decode4 | readInt() |
DecodeStr | readString() |
📋 常見 Opcode (v90)
| Opcode | 名稱 |
|---|---|
| 5 | 登入請求 |
| 6 | 登入回應 |
| 276 | 生成怪物 |
▶️ 下一步
關鍵詞:Opcode, IDA, Packet Structure, Decompile