搜尋

Hytale攻略Hytale

返回清單
切換到指定樓層
通知這文章過時或找檔案 發表主題

[電玩遊戲] Hytale 逆向工程:記憶體結構與 Offsets 解析 內含 Player Structs 與完整 Hex Code

[複製連結]
1
o122334234 ( Lv.70 熾天使 ) 發表於 4 小時前 | 只看該作者 |只看大圖 回覆獎勵 |降序瀏覽 |閱讀模式


Hytale 逆向重點 快速閱讀精華

  • 🔍 核心 Offsets:
    • 座標 (Coords): X=`0x27C`, Y=`0x280`, Z=`0x284`
    • 視角 (View): Yaw=`0x374`, Pitch=`0x378`, Roll=`0x37C`
  • 🛠️ 修改功能: 提供「無限血量 (God Mode)」的 Hex 替換代碼。
  • 🧠 結構解析: 包含 Entity List 遍歷邏輯與 Game Tick 函數分析。



    引言


    各位熱愛鑽研的開發者與 Hytale 玩家們,遊戲還沒正式發售,逆向工程的大門就已經打開了!今天我們要分享一份極具價值的 Hytale 客戶端逆向分析報告(Reversal Report)。這份資料包含了遊戲的核心記憶體結構(Structs)、關鍵偏移量(Offsets),甚至是無限血量的修改方法。如果你對製作 Hytale 模組或輔助工具有興趣,這篇硬核教學絕對不能錯過。

    基礎資訊 (Game Info)


    在深入代碼之前,我們先來看看 Hytale 的技術基底:
    • 遊戲名稱: Hytale
    • 開發商: Hypixel StudIOS
    • 引擎: 自研引擎 (基於 C#)
    • 反作弊 (AntiCheat): 目前版本似乎無 (None?)

    由於是 C# 開發,意味著我們可以使用許多常見的 .NET 逆向工具進行分析。

    玩家座標與視角 (Player Structs)


    要在遊戲中實現傳送或透視功能,掌握玩家座標是第一步。經過分析,我們找到了關鍵的指針鏈條。

    座標 X/Y/Z Offsets 解析


    基底位址 (Base Address): `"HytaleClient.exe"+027C25D8`

    指針路徑 (Pointer Path):
    • Offset 1: `0x5E0`
    • Offset 2: `0x48`
    • Offset 3: `0x10`
    • Offset 4: `0x27C` (這裡是 X 座標)


    座標偏移量詳細說明:
    • **X 座標**: `+0x27C`
    • **Y 座標**: `+0x280` (類似 Minecraft,這是高度)
    • **Z 座標**: `+0x284`


    💡 逆向筆記:
    我們在 `HytaleClient.exe+41F234` 找到了 X 座標的寫入指令 (Write Opcode)。
    y0oRx5y.jpg

    值得注意的是,這個記憶體位址在每次切換世界 (Switch Worlds) 時都會改變,所以單純的靜態指針 (Static Pointers) 會失效。解決方法是對這個位址進行 Hook。
    nDu8PHb.jpg



    視角 Pitch/Yaw Offsets


    除了座標,視角控制也是 Aimbot 的基礎:
    • **FPS Yaw**: `+0x374`
    • **Pitch**: `+0x378`
    • **Roll**: `+0x37C`


    實戰修改:無限血量 (God Mode)


    這是大家最感興趣的部分。透過修改特定的彙編指令 (Assembly Instruction),我們可以阻斷扣血邏輯。

    目標指令特徵 (Pattern):
    1. f3 0f 11 83 ? ? ? ? 80 bb ? ? ? ? ? 0f 84 ? ? ? ? f3 0f 10 83
    複製代碼
    修改方法:
    將上述指令 NOP 掉 (No Operation),即可獲得無限血量。

    ⚠️ 玩家回報注意:
    有測試者 (woodgamerHD) 回報:「NOP 之後我還是死掉了?HUD 上面的血量沒動,但伺服器端似乎還是扣血了。」
    這表示目前的修改可能僅限於客戶端顯示 (Client-side),實際是否無敵取決於伺服器端的驗證邏輯。


    進階結構:Entity List 與 Tick Function



    Hitbox 與攻擊狀態


    還有一些與戰鬥相關的位址被挖掘出來,等待各位驗證:

    1. 44 8b 71 ? 44 8b 79 ? 48 8b 4b
    複製代碼
    • `+0x6C`: 應該包含實際的 Hitbox ID 和目標位置 (Target Pos)。
    • `+0xE8`: 應該是 "is_using" 或 "in_attack_state" (攻擊狀態) 的標記。


    rITPYO0.jpg


    Entity List 遍歷邏輯


    要實現 ESP (透視),我們需要遍歷場景中的所有實體。
    Game Tick 函數特徵:

    1. 55 41 57 41 56 41 55 41 54 57 56 53 48 81 EC ? ? ? ? 0F 29 B4 24 ? ? ? ? 0F 29 BC 24 ? ? ? ? 44 0F 29 84 24 ? ? ? ? 48 8D AC 24 ? ? ? ? 33 C0 48 89 85 ? ? ? ? 0F 57 E4 48 B8
    複製代碼
    結構定義 (Typedef):
    1. typedef __int64( __fastcall* GameTickType)(__int64 instance, __int64 a2);
    複製代碼
    • `instance + 0x18` = **Entity List (實體列表)**
    • `Entity List + 0x10` = **LocalPlayers (本地玩家)**
    • 迭代公式 (Iteration): `i * 8 + 10`



    👉 GM後台版 遊戲 推薦 ⬇️⬇️⬇️ 快速玩各種二次元動漫手遊app



    檔案下載


    原始作者分享了相关的 server.zip 檔案,供大家研究。
    • 檔案名稱:Server.zip
    • SHA256:`0058343c525a1f2e7bfff8015cb82b878f3a0d22f36262df558b913e9a8cfde5`
    • 下載連結:點擊下載 (Pixeldrain)


    常見問題 (Q&A)



    Q1: 這些 Offset 會過期嗎?
    A1: 會的。Hytale 仍在開發中,每次更新都會導致這些記憶體位址改變。建議學會使用上述的特徵碼 (Pattern) 來自動搜尋新的位址。

    Q2: 為什麼我修改了飛行模式 (Fly Mode) 沒效果?
    A2: 文中提到的飛行模式開關代碼 `88 8b ? ? ? ? 48 c7 83` 需要在創造模式 (Creative Mode) 下測試,生存模式下可能會被伺服器拉回。

    Q3: 如何找到 LocalPlayer?
    A3: 嘗試這個位址 `"HytaleClient.exe"+027BF900`。或者透過 Entity List 的 `instance + 0x18` 往下找。

    ⚠️ 免責聲明: 本文僅供技術研究與學習使用,請勿用於破壞遊戲平衡或在多人伺服器中作弊。









  • 大家正在看啥


    收藏收藏 分享文章到FB上分享
    回覆 使用道具 檢舉
    複製專屬你的推廣連結:發至FB與各論壇宣傳:累積點數換GP商品 & 藍鑽
    每五點閱率就可以兌換藍鑽積分或遊戲點卡 夢遊推廣文章換GP商品

    你需要登入後才可以回覆 登入 | 加入會員

    本版積分規則

    Copyright (C) 2010-2020 夢遊電玩論壇

    廣告合作:請直接聯繫我們,並附上您預刊登位置的預算。  

    快速回覆 返回頂端 返回清單