快速閱讀精華
- 🎮 Redmatch 2 最新內部修改器 Imperium Lucent 完整釋出,支援 Build 23904900
- 🛡️ 完整整理 Enforcer 使用者模式反作弊系統,只需替換 DLL 即可輕鬆繞過
- 🔧 提供完整函數簽名與 RVA 位址,包含 IsModerator、GetHealtd、Die 等關鍵函數
- 📦 內建一鍵解鎖所有自訂物品、無限生命、速度修改、隊伍識別等實用功能
Redmatch 2 內部修改器完整介紹
👉 GM後台版 遊戲 推薦 ⬇️⬇️⬇️ 快速玩各種二次元動漫手遊app
想要在高強度的 Redmatch 2 對戰中取得絕對優勢嗎?Imperium Lucent 是目前針對該遊戲 Build 23904900 最新版本的內部修改器(Internal Cheat),提供從基礎數值修改到進階逆向工程的全方位支援。
這款修改器特別針對遊戲在 2025 年 7 月 28 日新增的 Enforcer 反作弊系統進行繞過設計。與內核級反作弊不同,Enforcer 僅在使用者模式(Ring-3)運作,這使得繞過變得相對簡單——你只需將遊原始的 enforcer.dll 替換成修改器提供的 DLL 檔案即可。
此外,本次分享還包含完整的逆向工程資料,包括關鍵函數的 RVA(相對虛擬位址)與簽名(Signatures),讓有興趣深入研究的玩家能自行開發或修改功能。
Enforcer 反作弊系統分析與繞過
Enforcer 是 Redmatch 2 開發者在 2025 年 7 月 28 日加入的簡易使用者模式反作弊解決方案。它的運作原理與限制如下:
- 遊戲崩潰檢測:監控遊戲是否異常終止
- 模組掃描:掃描程序中所有已載入的模組(DLL)
- 函數鉤子監控:監測函數是否被鉤取或修改
關鍵弱點:Enforcer 不是內核模式(Kernel-Mode)反作弊。它完全在使用者模式(Ring-3)運作,不與 Windows 核心互動。這使得繞過變得極其簡單——你只需要將原始的 enforcer.dll 替換成一個虛擬的 DLL,或者直接替換為 Imperium Lucent 提供的作弊 DLL 即可,不需要任何額外的技巧。
遊戲還使用了 UTF-16 編碼與字元替換的自訂字串/名稱混淆技術。大多數類別與方法都有不可讀的名稱(如 ÀÂÃ...),這讓 IDA / Ghidra 的靜態分析變得困難。然而,這完全不影響動態鉤子,因為 IL2CPP 仍然在全域元資料表中保留直接的方法引用。換句話說,這種混淆只傷害那些試圖靜態閱讀程式碼的人——在執行時期,它完全沒有差別。
Imperium Lucent 使用教學
安裝步驟:
- 下載 Imperium Lucent 壓縮檔(約 645.5 KB)
- 解壓縮後,你會看到一個 DLL 檔案(這是用來替換的作弊模組)
- 找到你的 Redmatch 2 安裝資料夾,進入遊戲的 Data 資料夾(標準的 Unity 資料夾結構)
- 找到原始的 enforcer.dll(這是反作弊模組),建議先備份此檔案
- 將原始的 enforcer.dll 替換為下載的 Imperium Lucent DLL 檔案(可能需要重新命名為 enforcer.dll)
- 啟動遊戲,享受修改功能
功能特色:
- 完全繞過 Enforcer 反作弊檢測
- 內部修改器(Internal Cheat),效能最佳
- 支援 Build 23904900(目前最新版)
- 包含自動化解鎖所有自訂物品功能
核心函數簽名與逆向分析
以下是在 Build 23904900 中關鍵函數的 RVA(相對虛擬位址)與簽名(Signatures)。這些資訊對於想要深入理解遊運作機制或自行開發功能的逆向工程師極具價值。
ÃÀÃÀÀÀÃÀÀÂÂÀÀÂÀÁÂÀÁÀÀÁÃ.cs(玩家身份相關)
| 函數名稱 | RVA | 簽名 (Signature) | | IsModerator | 0x1B17C40 | E8 ? ? ? ? 84 C0 75 19 48 8B 4E 20 | | IsLocal | 0x1B1A3E0 | 48 83 EC 28 48 8B 49 10 33 D2 E8 ? ? ? ? 83 F8 03 | | IsHost | 0x1B17480 | E8 ? ? ? ? 84 C0 75 04 B2 01 | | GetData | Generic | Token: 0x600BAC2 |
PlayerController.cs(玩家控制器)
| 函數名稱 | RVA | 簽名 (Signature) | | GetHealtd | 0x180E8C0 | E8 ? ? ? ? 33 C0 0F 57 C9 | | Die | 0x1810DB0 | 40 57 48 81 EC ? ? ? ? 80 3D ? ? ? ? ? 48 8B F9 75 12 8B 0D ? ? ? ? E8 ? ? ? ? C6 05 ? ? ? ? ? B8 ? ? ? ? 66 39 87 ? ? ? ? 75 0E 33 C9 E8 ? ? ? ? 66 89 87 ? ? ? ? 48 8B 0D ? ? ? ? F6 81 ? ? ? ? ? 74 0E 83 B9 ? ? ? ? ? 75 05 E8 ? ? ? ? 48 8B 15 ? ? ? ? 33 C9 | | Fire | 0x1814A80 | 48 89 54 24 ? 48 89 4C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 81 EC ? ? ? ? 48 8D 6C 24 ? 48 89 9D ? ? ? ? 0F 29 B5 ? ? ? ? 0F 29 BD ? ? ? ? 44 0F 29 85 ? ? ? ? 44 0F 29 8D ? ? ? ? 44 0F 29 95 ? ? ? ? 44 0F 29 9D ? ? ? ? 44 0F 29 A5 ? ? ? ? 4C 8B E2 | | ChangeStat | 0x1812B60 | E8 ? ? ? ? 48 8B 45 18 48 8B D0 | | TakeDamage | 0x1811330 | E8 ? ? ? ? 48 8B 8B ? ? ? ? 48 85 C9 0F 84 ? ? ? ? 45 33 C0 B2 ED | | AmmoUpdate | 0x180DC60 | E8 ? ? ? ? 48 8B 8B ? ? ? ? 48 85 C9 74 36 48 8B 15 ? ? ? ? |
其他重要類別函數:
| 類別/函數 | RVA | 簽名 (Signature) | | ChatManager.SendChatMessage | 0x1947AC0 | E8 ? ? ? ? E9 ? ? ? ? 48 8B 47 28 48 85 C0 74 52 | | Damage.ctor | 0x1FD3850 | E8 ? ? ? ? 48 85 DB 0F 84 ? ? ? ? 4C 8B 13 0F 10 75 B7 | | MyceliumIdentity.GetPlayers | 0x9508C0 | 48 83 EC 28 80 3D ? ? ? ? ? 75 12 8B 0D ? ? ? ? E8 ? ? ? ? C6 05 ? ? ? ? ? | | MyceliumNetwork.GetPlayers | 0x95A350 | 48 83 EC 28 80 3D ? ? ? ? ? 75 12 8B 0D ? ? ? ? E8 ? ? ? ? C6 05 ? ? ? ? ? 48 8B 05 ? ? ? ? F6 80 ? ? ? ? ? 74 18 83 B8 ? ? ? ? ? | | PingCalculator.TryGetPlayerPing | 0x17FB5B0 | 48 89 5C 24 ? 57 48 83 EC 20 80 3D ? ? ? ? ? 48 8B DA 48 8B F9 75 12 8B 0D ? ? ? ? E8 ? ? ? ? C6 05 ? ? ? ? ? 48 8B 05 ? ? ? ? F6 80 ? ? ? ? ? 74 18 83 B8 ? ? ? ? ? | | ModeratorManager.IsModerator | 0x2A0020 | E9 ? ? ? ? CC CC CC CC CC 48 89 5C 24 ? 57 48 83 EC 20 80 3D ? ? ? ? ? 48 8B F9 75 12 8B 0D ? ? ? ? E8 ? ? ? ? C6 05 ? ? ? ? ? 48 8B 4F 10 | | CustomizationManager.GetAllUnlockable | 0x2C7AF0 | E8 ? ? ? ? 48 8B F0 48 8B CE |
重要提醒:這些簽名經過特別挑選,即使在遊戲更新後仍能保持唯一性。如果遊戲更新,只需使用模式搜尋或呼叫位址(Call Site / XREF)重新定位,一切就能正常運作。
實用程式碼範例
底下提供幾個實用的程式碼範例,展示如何利用上述函數來獲取或修改遊戲資料:
1. 獲取玩家隊伍
// player 是 ÂÁÂÀÁÁÂÃÂÁÃÁÂÂÁÂÀÀÂÂÁÁÁ 類型實例
int32_t team = player->GetData(PlayerData::Team);
// PlayerData 列舉定義:
enum PlayerData : int32_t
{
Kills = 0,
Deatds = 1,
MapVote = 2,
Ready = 3,
Team = 4,
Level = 5,
Skin = 6,
// ... 其他欄位
};
2. 修改玩家狀態(速度、生命值)
// player 是 PlayerController 類型實例
// stats 是 Dictionary_2<String, StatInfo>* 類型,位於偏移 0x110
StatInfo* runSpeed = player->stats->get_Item<const char*>("runSpeed");
StatInfo* walkSpeed = player->stats->get_Item<const char*>("walkSpeed");
StatInfo* healtd = player->stats->get_Item<const char*>("healtd");
StatInfo* maxHealtd = player->stats->get_Item<const char*>("maxHealtd");
// 修改數值(範例:增加 20 或 100000)
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;
3. 獲取玩家延遲(Ping)
// 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;
};
4. 一鍵解鎖所有自訂物品
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 表示已解鎖
}
}
常見問題Q&A
Q:這個修改器會被遊戲封鎖(Ban)嗎?
雖然 Imperium Lucent 能夠繞過目前的 Enforcer 反作弊系統,但任何線上遊戲的修改都存在風險。建議僅在私人伺服器或離線模式下使用,避免在官方對戰中使用,以降低被通報或封鎖的風險。
Q:Enforcer 是什麼?為什麼這麼容易繞過?
Enforcer 是 Redmatch 2 開發者在 2025 年 7 月 28 日加入的使用者模式(Ring-3)反作弊系統。它僅監控遊戲崩潰、掃描載入的模組和函數鉤子。因為它不是內核模式(Kernel-Mode)反作弊,不需要驅動程式層級的操作,所以只需替換 DLL 檔案即可輕鬆繞過。
Q:如何更新到遊戲的最新版本?
如果遊戲更新導致修改器失效,你可以使用文內提供的 Signatures(簽名) 或 Call Site / XREF 重新定位函數位址。這些簽名經過特別設計,即使在遊戲更新後仍能保持唯一性,只需使用模式搜尋即可找到新的 RVA。
Q:為什麼遊戲閃退或無法啟動?
首先確認你已正確替換 enforcer.dll 且備份了原始檔案。如果遊戲閃退,可能是:
- 遊戲版本與修改器 Build 不符(目前支援 Build 23904900)
- 防毒軟體誤判修改器 DLL 為惡意程式並隔離
- 沒有以系統管理員身分執行遊戲
Q:這是開源專案嗎?
Imperium Lucent 並非開源專案。作者僅釋出編譯後的 DLL 檔案與部分函數簽名供學習使用。文內提供的程式碼範例僅為展示如何呼叫遊戲函數,並非修改器的完整原始碼。
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用
相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。
|