MapleEzorsia-v2 登入器分析 — 課程入門導覽

歡迎來到這套課程。這篇是你的「地圖」,告訴你整個旅程要去哪裡、怎麼走。


這套課程在教什麼?

MapleEzorsia-v2 是一個開源的 GMS v83 私服登入器,透過 DLL 劫持技術讓遊戲連線到自訂伺服器,同時支援自訂解析度、UI 修正、WZ 資源替換等功能。

這套課程以 MapleEzorsia-v2 的原始碼為教材,帶你從零開始理解「一個登入器是怎麼做出來的」。


你需要具備哪些基礎?

項目要求
Windows 基礎操作能用檔案總管、懂得解壓縮
C++ 程度看得懂基本語法即可(不需要精通)
遊戲知識知道什麼是 MapleStory 即可
電腦程度安裝過軟體、編輯過純文字檔

完全沒學過 C++ 也沒關係

每一篇都有白話解說和生活化比喻,程式碼部分會逐行說明。跟著讀下去就能理解。


學完這套課程你能做什麼?

  • 了解 DLL 劫持和 Proxy DLL 的原理與實作
  • 讀懂 C++ 記憶體操作、Hook 技術的核心邏輯
  • 能編譯、修改、測試一個完整的登入器 DLL
  • 理解 MapleStory 引擎的內部型別系統(進階)
  • 能以此為基礎延伸開發自己的私服工具

課程地圖

Phase 1  基礎概念與環境準備          ← 從這裡開始
  01  什麼是 DLL 與 DLL 劫持
  02  MapleStory v83 客戶端架構概覽
  03  dinput8 代理 DLL 原理
  04  開發環境建立(Visual Studio x86)

Phase 2  專案結構解析
  01  專案總覽(.sln 與 .vcxproj)
  02  dllmain.cpp:DLL 入口點
  03  dinput8.cpp:Proxy 載入器
  04  如何編譯第一個 DLL

Phase 3  記憶體操作基礎
  01  什麼是記憶體位址與指標
  02  Memory.cpp:讀寫記憶體工具
  03  AddyLocations.h:地址表解析
  04  AutoTypes.h:MapleStory 型別定義

Phase 4  Hook 技術與 Detours 函式庫
  01  什麼是函式掛鉤(Hooking)
  02  Detours 函式庫使用方式
  03  codecaves.h:Code Cave 技術實作

Phase 5  Client.cpp 深度解析
  01  Client.cpp 整體架構導覽
  02  解析度修改原理與實作
  03  UI 元素位置修正
  04  登入畫面與選角畫面修正

Phase 6  進階功能實作
  01  ReplacementFuncs.h:函式替換技術
  02  ZAllocEx.cpp:自訂記憶體分配
  03  MainMain.cpp:初始化流程解析

Phase 7  配置系統與 WZ 資源
  01  config.ini 設定系統
  02  INIReader.h 解析
  03  WZ 與 IMG 資源整合原理
  04  Resource.rc 資源嵌入機制

Phase 8  整合測試與發布             ← 到這裡已完整掌握登入器
  01  如何測試與除錯 DLL
  02  打包發布與使用教學

─────────────────── 進階選讀 ───────────────────

Phase 9  MapleStory 內部型別系統    ← 想寫進階 Hook 才需要
  01  MapleClientCollectionTypes 目錄概覽
  02  ZAllocEx 完整解析(標頭與實作)
  03  ZXString:MapleStory 字串型別
  04  ZRef:智慧指標與引用計數
  05  ZArray / ZList / ZMap:集合型別
  06  TSecType:防作弊安全型別
  07  winhook_types:Windows API Hook 簽名

學習路線建議

路線 A:「我想盡快用上登入器」

Phase 1 → Phase 2(只看 01、04) → Phase 7(看 01) → Phase 8

這條路線讓你在 2 小時內完成編譯和設定,能正常連接私服。

路線 B:「我想理解登入器的每一行程式碼」

依序閱讀 Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase 5 → Phase 6 → Phase 7 → Phase 8

完整讀完約需 10–15 小時,是最扎實的學習路線。

路線 C:「我想寫自己的 Hook 功能」

路線 B 全部讀完 → Phase 9 全部讀完

讀完後你能理解 MapleStory 引擎的記憶體佈局,能撰寫直接操作遊戲物件的進階 Hook。


常見問題

Q:我需要有 v83 客戶端才能學嗎?

Phase 1–6 的概念學習不需要客戶端。Phase 7–8 的實際測試才需要,屆時可在那篇找到取得說明。

Q:這套課程適用於其他版本的 MapleStory 嗎?

概念(DLL 劫持、Hook 技術、記憶體操作)適用於任何版本。但記憶體地址(AddyLocations.h)是 v83 專用的,其他版本需要重新逆向工程。

Q:學完這些可以做什麼?

這套課程的目的是技術學習,內容適用於:私服客戶端開發、遊戲模組研究、Windows 系統程式設計入門。請勿將所學技術用於未授權的官方服務。


開始學習

準備好了嗎?點擊下方連結進入第一篇:

Phase 1-01:什麼是 DLL 與 DLL 劫持