搜尋

Marvel RivalsMarvelRivals遊戲修改器

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

[電玩遊戲] 《Marvel Rivals》Manual Map DLL注入器下載 手動映射注入工具無痕跡載入

[複製連結]
1
Polomale ( Lv.30 大天使 ) 發表於 昨天 15:53 | 只看該作者 回覆獎勵 |降序瀏覽 |閱讀模式

快速閱讀精華


  • 🚀 手動映射技術:跳過 Windows 系統載入器,直接在目標記憶體重建 DLL 的 PE 結構,真正做到無痕跡載入
  • 🛡️ 反作弊迴避:傳統 LoadLibrary 會在 PEB 的 LDR 鏈表留下記錄,Manual Map 完全規避此檢測點
  • 39-byte 極簡 Shellcode:使用精簡的 x64 組語 Stub 直接呼叫 DllMain,無需額外執行緒管理
  • 🎮 Marvel Rivals 適配:專為《漫威終極對決》外掛開發設計,支援手動重定位與匯入表整理


目錄




前言介紹


開發《漫威終極對決》外掛或修改器時,最讓人頭痛的往往不是功能實作,而是如何繞過反作弊系統的 DLL 注入檢測。傳統的 LoadLibrary 注入雖然簡單,但會在目標程序的 PEB(Process Environment Block)中留下明確的模組記錄,現代 AC(Anti-Cheat)系統幾秒內就能掃描並標記。

底下我們要介紹的這款 Manual Map Injector,採用進階的手動映射技術,直接在目標記憶體空間重建 DLL 的 PE 結構,完全繞過 Windows 的系統載入器。這意味著 PEB 中不會出現你的 DLL 紀錄,達到真正的隱形注入。

【重要提醒】
  • 本工具僅供遊戲開發測試與學術研究使用,請勿用於線上多人遊戲作弊
  • 使用此類注入工具可能違反遊戲服務條款,導致帳號永久停權
  • 執行前請確保已關閉防毒軟體即時監控,避免誤報刪除


Manual Map 技術整理


所謂的 Manual Mapping(手動映射),指的是不依靠 Windows 的 LoadLibrary API,而是由注入器自己完成原本作業系統載入器的工作。這個過程包含幾個關鍵步驟:

  • PE 結構重建:讀取目標 DLL 的 DOS/NT Headers,計算需要的記憶體大小
  • 遠端記憶體分配:使用 VirtualAllocEx 在目標程序中配置足夠的記憶體空間(PAGE_EXECUTE_READWRITE)
  • 區段複製:將 DLL 的各個 Section(.text, .data, .rdata 等)依 VirtualAddress 寫入對應位置
  • 重定位處理:如果載入基底與 Preferred Base 不同,需修正 IMAGE_REL_BASED_DIR64 類型的重定位表
  • 匯入表整理:手動載入依賴的系統 DLL(kernel32, ntdll 等),並用 GetProcAddress 整理函數位址填入 IAT
  • 執行入口點:建立執行緒呼叫 DllMain,傳入 DLL_PROCESS_ATTACH


與 LoadLibrary 的關鍵差異


為什麼要費這麼大功夫手動映射?底下是與傳統 LoadLibraryW 注入的詳細對比:

檢測項目LoadLibrary 注入Manual Map 注入
PEB LDR 鏈表會新增 LDR_DATA_TABLE_ENTRY,AC 可掃描列舉無 LDR 記錄,模組隱形
記憶體分頁屬性依 Section 設定(.text RX, .data RW)初始為 RWX,可手動細分
TLS 回呼系統自動處理 LdrpHandleTlsData需手動實作,否則 __declspec(tdread) 失效
例外處理表系統註冊 SEH 表未註冊,C++ 例外拋出會崩潰
GetModuleHandle可正常取得 HINSTANCE回傳 NULL,需自行快取 DllMain 參數


【小知識】 許多現代反作弊系統(如 Marvel Rivals 使用的方案)會定期掃描 PEB 的 InLoadOrderModuleList 來比對硬碟上的模組雜湊。Manual Map 因為完全不經過系統載入器,所以能完美規避這類檢測。

注入器使用教學


這款注入器採用命令列介面,使用方式非常簡潔:

  • 首先確認《漫威終極對決》已經在執行中
  • 將注入器執行檔(svc_host.exe)與目標 DLL 放在同一目錄
  • 開啟命令提示字元,輸入以下指令:
    svc_host.exe <目標程序名稱> <DLL檔案名稱>
  • 範例:
    svc_host.exe MarvelRivals.exe core.dll
  • 注入成功後會顯示遠端記憶體基底位址與執行緒退出碼


【注意事項】
  • 目標 DLL 必須是 x64 架構,與遊戲程序一致
  • 注入器需要管理員權限執行才能開啟目標程序的控制代碼
  • 如果顯示 "liveness timeout",表示 DLL 的 Worker Thread 未正確建立互斥體(Mutex)


核心程式碼解說


這個注入器的核心在於 StageImage 函式,它負責在本地重建整個 PE 映像,然後一次性寫入目標程序。底下是關鍵技術環節:

  • 重定位處理:只處理 IMAGE_REL_BASED_DIR64 類型,這對 x64 程序已足夠。如果載入位址與 Preferred Base 不同,會計算 Delta 並修正記憶體位址。
  • 匯入表整理技巧:這是此注入器最聰明的設計。它在注入器程序中呼叫 LoadLibrary 和 GetProcAddress,然後將取得的函數位址直接寫入目標 DLL 的 IAT(Import Address Table)。

    這之所以能運作,是因為 Windows 的 KnownDlls 機制:kernel32、ntdll 等系統 DLL 在每個程序中都映射到相同的實體記憶體頁面,且每個開機週期的基址(ASLR)是固定的。因此注入器中取得的 kernel32!CreateFileW 位址,在目標程序中也是有效的。
  • 39-byte Shellcode:這段極簡組語負責設定 x64 呼叫慣例(RCX=HINSTANCE, EDX=1=DLL_PROCESS_ATTACH, R8=0),分配 Shadow Space(sub rsp, 0x28),然後跳轉到 DllMain 入口點。完成後恢復堆疊並返回。


檔案下載點


底下提供本次介紹的 Manual Map Injector 編譯版本下載。此工具僅供遊戲修改研究與本地測試使用,請勿用於線上對戰影響他人遊戲體驗。



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



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





常見問題Q&A



Q:為什麼注入後 GetModuleHandle 會回傳 NULL?
  • 這是 Manual Map 的正常行為。因為我們跳過了系統載入器,沒有在 PEB 的 LDR 鏈表中註冊模組,所以系統函式無法查詢到此 DLL。解決方法是在 DllMain 中將第一個參數(HINSTANCE)儲存到全域變數供後續使用。


Q:使用這個注入器會被 Marvel Rivals 的反作弊系統偵測到嗎?
  • 此注入器採用的 Manual Map 技術確實能規避基於 PEB 掃描的傳統檢測,但現代反作弊系統(如 Marvel Rivals 使用的方案)還會監控記憶體完整性、執行緒建立行為、以及異常的記憶體權限(RWX)。此工具僅提供基礎的無 LDR 注入,建議搭配額外的記憶體保護繞過技術使用。


Q:為什麼我的 DLL 使用了 __declspec(tdread) 變數後會當機?
  • Manual Map 不會呼叫 LdrpHandleTlsData,因此不會為執行緒本地儲存(TLS)分配插槽。使用 __declspec(tdread) 修飾的變數會讀取到垃圾位址導致崩潰。建議改用普通的全域變數,或者手動實作 TLS 回呼機制。


Q:這個注入器支援 32 位元程序嗎?
  • 此範例程式碼專為 x64 架構設計,使用了 x64 特定的重定位類型(IMAGE_REL_BASED_DIR64)以及 x64 呼叫慣例的 Shellcode。若要注入 32 位元程序,需要修改重定位處理邏輯(改為 HIGHLOW)以及重新編寫 32 位元的 Shellcode(使用 push 參數而非暫存器)。


Q:為什麼注入後遊戲還是偵測到了異常?
  • 除了 PEB 掃描,現代反作弊還會檢查:(1) 記憶體權限異常(如整個映像檔為 RWX);(2) 未簽署的記憶體區塊執行;(3) 遠端執行緒建立的時機與行為模式。此基礎注入器僅解決了 PEB 可見性問題,建議進一步實作記憶體權限細分(.text RX, .data RW)以及 APC 注入或 Thread Hijacking 等進階技術來降低被偵測機率。






大家正在看啥


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

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

本版積分規則

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

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

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