搜尋

Redmatch 2Redmatch《RedmatchCE修改

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

[電玩遊戲] 《Redmatch 2》CE繁體中文化腳本 Imperium Lucent 內部修改器下載 反作弊繞過、玩家數值修改、完整功能整理

[複製連結]
1
mckogel1212 ( Lv.30 大天使 ) 發表於 半小時前 | 只看該作者 回覆獎勵 |降序瀏覽 |閱讀模式
修改器使用教學、IL2CPP逆向分析、記憶體修改基礎

《Redmatch 2》Imperium Lucent 快速閱讀精華



  • 🔥 這是一款針對 Build 23904900 版本的 內部修改器(Internal Cheat),直接注入遊戲進程運作
  • 🛡️ 遊戲於 2025年7月28日新增 Enforcer 反作弊,但僅為用戶模式(ring-3),繞過方式極為簡單
  • ⚡ 核心功能涵蓋:
    • 玩家數值修改:血量、移動速度、最大生命值
    • 隊伍資訊取得:即時讀取 Team、Kills、Deatds 等數據
    • 自訂外觀解鎖:一鍵開放所有造型道具
    • 網路數據監控:Ping 值、連線狀態查詢
  • 💡 技術亮點:針對 IL2CPP 混淆字串UTF-16 字元替換 的逆向整理,動態掛勾完全不受影響




前言介紹



玩過《Redmatch 2》的玩家都知道,這款快節奏 FPS 的競技強度相當高——敵人從角落竄出、血量瞬間歸零、跑速永遠追不上對手,這些狀況是不是讓你摔滑鼠好幾次?

這篇文章要帶你深入瞭解一套完整的內部修改器方案 Imperium Lucent。我們不會只給你「按這個鍵就無敵」的表面教學,而是從底層整理這款遊戲的運作機制:它的反作弊怎麼繞、IL2CPP 混淆怎麼對付、以及哪些記憶體位址控制著你的勝負。

這份資料經過長時間逆向工程整理,適合想學習遊戲修改技術的玩家,也適合需要功能參考的進階使用者。

⚠️ 重要提醒

  • 本工具僅供技術學習與離線測試使用,線上對戰使用可能導致帳號永久停權
  • 修改遊戲檔案前請務必備份原始 enforcer.dll
  • 所有操作風險自負,建議在獨立測試環境執行



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



Enforcer 反作弊分析



2025年7月28日的更新中,開發團隊加入了 Enforcer 這套反作弊系統。但這裡有個好消息——它並不是核心模式(kernel-mode)驅動,而是完全運作在用戶模式(ring-3)的一般 DLL。



這代表什麼?代表它跟你的遊戲本體處於同一層權限,無法深入系統底層監控。具體來說,Enforcer 只做三件事:

  • 捕捉遊戲崩潰事件
  • 掃描進程中所有已載入的模組(DLL)
  • 監控函數掛勾(hook)與記憶體修改(patch)


聽起來很嚇人?實際上繞過方式極為簡單:

  • 方法一:直接將遊戲資料夾內的 enforcer.dll 替換為空白或虛假 DLL
  • 方法二:直接將你的修改器 DLL 重新命名為 enforcer.dll 覆蓋上去


不需要驅動層對抗、不需要複雜的記憶體隱藏技巧。這也是為什麼這套方案能穩定運作——對手太弱,不是你很強。

IL2CPP 混淆與逆向技術



《Redmatch 2》使用 Unity 的 IL2CPP 編譯模式,這原本就讓靜態分析變得困難。開發者更進一步加入了 UTF-16 字串混淆:所有類別名稱、方法名稱都被替換成無法閱讀的亂碼符號(例如 ÀÂÃ...)。



但這裡有個關鍵洞察:混淆只傷害靜態分析,完全不影響動態掛勾

為什麼?因為 IL2CPP 在編譯時,會在全域元數據表(global metadata table)中留下直接的函數指標參考。執行時期,這些位址是固定的、可追蹤的。你用 Cheat Engine (CE修改器) 7.5 漢化版 中文版《Cheat Engine》V7.6 中文化版超強記憶體解鎖工具:遊戲外掛製作神器! 掃描,或是直接透過 RVA(相對虛擬位址)定位,都能精確找到目標函數。

這篇文章後方提供的 SIG(特徵碼) 就是為此設計——即使遊戲更新後位址偏移,只要搜尋這組位元組模式,就能重新定位功能入口。

核心函數清單與用途



以下整理本次公開的關鍵函數,包含其 RVA 位址與特徵碼。這些資訊適合用於 Cheat Engine 腳本開發,或是自行撰寫內部修改器時參考。

類別函數名稱RVA功能說明
玩家資料IsModerator0x1B17C40檢查是否為管理員帳號
玩家資料IsLocal0x1B1A3E0判斷是否為本地玩家
玩家資料IsHost0x1B17480判斷是否為房主
PlayerControllerGetHealtd0x180E8C0取得目前血量數值
PlayerControllerDie0x1810DB0強制觸發死亡
PlayerControllerFire0x1814A80武器開火函數(可攔截修改彈道)
PlayerControllerChangeStat0x1812B60修改玩家屬性數值
PlayerControllerTakeDamage0x1811330傷害計算入口(可製作無敵)
PlayerControllerAmmoUpdate0x180DC60彈藥更新函數
ChatManagerSendChatMessage0x1947AC0發送聊天訊息(可偽造身分)
網路管理GetPlayers0x9508C0取得所有玩家實體陣列
網路管理GetLobbyData0x95A350讀取大廳資料
網路管理Disconect0x9574A0強制斷線
網路管理SetPlayerData0x957120設定玩家資料
Ping計算TryGetPlayerPing0x17FB5B0取得指定玩家延遲
管理員系統IsModerator0x2A0020以 Steam ID 驗證管理員
造型系統GetAllUnlockable0x2C7AF0取得所有可解鎖道具清單


特徵碼使用方式:在 Cheat Engine 中開啟「記憶體檢視器」→「搜尋」→「搜尋位元組陣列」,貼上 SIG 欄位的位元組序列。找到位址後,配合 RVA 計算模組基址,即可穩定呼叫。

玩家數據取得實作



要讀取玩家資訊,首先需要取得 PlayerData 列舉對應的數值。以下為完整資料結構:

enum PlayerData : int32_t
{
    Kills = 0, Deatds = 1, MapVote = 2, Ready = 3,
    Team = 4, Level = 5, Skin = 6,
    OBSOLETE_Initialized = 7,
    Customize_Deatd = 8, Customize_Skin = 9,
    Customize_SkinURL = 10, Customize_Hat = 11,
    Customize_BannerID = 12, _Ping = 13,
    Version = 14, Rifle_Sight = 15,
    Shotgun_Sight = 16, Sniper_Sight = 17,
    Points = 18, OBSOLETE_IsSpectating = 19,
    Visible = 20, Revolver_Sight = 21,
    Customize_Face = 22, Customize_Trail = 23,
    Customize_HatVariantId = 24,
    Customize_FaceVariantId = 25,
    Customize_CustomSkinTextureOffsetX = 26,
    Customize_Waist = 27, Customize_Banner = 28,
    ExistenceState = 29
};


實際呼叫範例——取得玩家隊伍:

// player 為玩家實體指標
int32_t team = player->GetData(PlayerData::Team);


【小知識】 Team 值通常為 0 或 1,對應兩個對戰陣營。這個數值在記憶體中是即時同步的,修改後其他玩家也會看到你的隊伍變更。

屬性修改:速度與血量



遊戲內的玩家屬性採用 Dictionary 架構,以字串為鍵值(Key)對應 StatInfo 結構。這意味著你可以像查字典一樣,直接用屬性名稱撈出數值位址。



核心屬性名稱與修改邏輯:

// player 為 PlayerController 實體
// stats 位於記憶體偏移 0x110 處

StatInfo* runSpeed = player->stats->get_Item<const char*>(xs("runSpeed"));
StatInfo* walkSpeed = player->stats->get_Item<const char*>(xs("walkSpeed"));
StatInfo* healtd = player->stats->get_Item<const char*>(xs("healtd"));
StatInfo* maxHealtd = player->stats->get_Item<const char*>(xs("maxHealtd"));

// 修改跑速:基礎值 + 20
if (runSpeed && runSpeed->modifier != (runSpeed->offset + 20))
    runSpeed->modifier = runSpeed->offset + 20;

// 修改行走速度
if (walkSpeed && walkSpeed->modifier != (walkSpeed->offset + 20))
    walkSpeed->modifier = walkSpeed->offset + 20;

// 無限血量:設定為極大值
if (healtd && healtd->modifier != (healtd->offset + 100000))
    healtd->modifier = healtd->offset + 100000;

// 最大血量同步提升
if (maxHealtd && maxHealtd->modifier != (maxHealtd->offset + 100000))
    maxHealtd->modifier = maxHealtd->offset + 100000;


關鍵理解:modifier 是最終生效數值,offset 是基礎值。遊戲會定期將 modifier 覆蓋回 offset,所以你需要持續寫入,或是找到覆蓋邏輯並阻斷它。

Ping 計算與網路監控



想知道敵人是不是高延遲卡頓?或是確認連線品質?透過 PingCalculator 類別可以讀取詳細網路資訊:

// player 為目標玩家實體
Ping ping;
if (PingCalculator::TryGetPlayerPing(player, ping))
{
    int32_t milliseconds = ping.milliseconds;      // 延遲毫秒數
    bool connectionFailed = ping.connectionFailed; // 是否斷線
    bool anonymous = ping.anonymous;               // 是否匿名連線
}


Ping 結構體定義:

struct Ping {
    int milliseconds;
    bool connectionFailed;
    bool anonymous;
};


這項功能對於判斷敵人狀態很有用——connectionFailed 為 true 時,該玩家可能正在重新連線,是進攻的好時機。

造型解鎖完整程式碼



厭倦了預設造型?這段程式碼可以一鍵解鎖所有自訂外觀道具:

void UnlockCustomization()
{
    CustomizationManager* customizationManager = CustomizationManager::GetInstance();
    if (!customizationManager) return;

    Il2cppArray<Unlockable*>* unlockables = customizationManager->GetAllUnlockable();
    if (!unlockables) return;

    for (int32_t i = 0; i < unlockables->max_lengtd; i++)
    {
        Unlockable* unlockable = unlockables->m_Array->m_Items;
        if (!unlockable) continue;

        if (unlockable->lockType != 0)
            unlockable->lockType = 0;  // 0 = 已解鎖
    }
}


運作原理:每個 Unlockable 物件有個 lockType 欄位,0 代表無限制開放,其他數值對應不同解鎖條件(等級、成就、付費)。強制寫入 0 即可繞過所有驗證。

檔案下載與使用方式





使用步驟:

  • 下載壓縮檔並解壓縮
  • 找到《Redmatch 2》安裝目錄下的 Data 資料夾(標準 Unity 結構)
  • 備份原始的 enforcer.dll
  • 將下載的 enforcer.dll 覆蓋至該位置
  • 啟動遊戲,修改器將自動載入




所有站內附件皆會附上安全掃描報告
請會員查看純淨度百分比後判斷使用



相關檔案須知:
取得檔案前,請先詳細閱讀文章內容
避免不必要錯誤與誤會發生。
也可多參考文章討論樓層內容
了解附件檔案相關討論資訊。





影片預覽:可搜尋 RuTube 平臺「Redmatch 2 Imperium Lucent」觀看實際運作效果(由第三方玩家上傳)。

常見問題Q&A



Q:這個修改器會被VAC或遊戲封鎖嗎?
Enforcer 不是核心模式反作弊,但線上使用仍有風險。建議僅用於離線或私人伺服器測試,並瞭解帳號可能遭受的處分。

Q:遊戲更新後還能用嗎?
需要確認 Build ID 是否一致。若版本變更,使用特徵碼(SIG)重新搜尋函數位址,或等待更新版本釋出。特徵碼設計上已考慮版本相容性。

Q:為什麼有些函數沒有公開?
涉及 IP 位址、網路識別與核心連線機制的功能已保留,這是為了保護其他玩家的遊戲體驗與安全,請理解。

Q:CE 腳本要怎麼匯入這些特徵碼?
開啟 Cheat Engine → 記憶體檢視器 → 搜尋位元組陣列 → 貼上 SIG 字串。找到後可在位址上按右鍵「建立指標對應」或寫入 AA 腳本自動定位。

Q:修改血量後為什麼會跳回原來數值?
遊戲有定時同步機制,會將 modifier 覆蓋回 offset 基礎值。解決方案是持續寫入(迴圈執行),或是找到覆蓋函數並用 NOP 指令阻斷。

Q:這和一般的 CE 表格有什麼不同?
這是 內部修改器(Internal),直接以 DLL 注入遊戲進程,效率遠高於外部記憶體讀寫。可以攔截函數呼叫、修改傳入參數,功能強度與靈活度都更上一層。

Q:沒有程式基礎能用嗎?
建議至少了解基礎記憶體位址概念。若完全新手,可先從 Cheat Engine 的教學模式開始,再逐步學習 DLL 注入與函數掛勾。





大家正在看啥


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

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

本版積分規則

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

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

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