快速閱讀精華
這是一篇針對 RedM(碧血狂殺2 多人模組框架) 的 Internal Cheat 原始碼技術分享!🔧
- 核心功能:ESP 透視(2D/3D 方框、骨骼、血量)、自瞄(頭部/身體鎖定)、雷達顯示(玩家與動物)
- 技術架構:基於 Internal Hook 記憶體注入,搭配 ImGui 圖形介面
- 適用對象:想要學習遊戲外掛開發、逆向工程初學者
- 檔案大小:5.21 MB,內含完整 Visual Studio 專案檔案與原始碼
- 風險提醒:作者因忘記使用驅動程式保護而遭受全球封鎖(Global Ban),使用前務必評估風險!⚠️
前言與風險聲明
歡迎來到這篇針對 RedM(Red Dead Redemption 2 多人模組框架) 的 Internal Cheat 原始碼技術整理。這是作者 device9999 在 論壇首次釋出的開源專案,旨在協助剛接觸遊戲外掛開發與逆向工程的初學者建立基礎概念。
⚠️ 重要提醒:帳號封鎖風險
作者在發布說明中特別強調:「我因為忘記使用驅動程式(Driver)保護,已經收到了全球封鎖(Global Ban)」。這代表:
- Rockstar Games 與 RedM 的反作弊系統(如 BattlEye 或自製防護)已能偵測到此類 Internal Cheat 的記憶體特徵
- 即使是原始碼層面的修改,若沒有配合 Ring0 層級的驅動保護或虛擬化技術,很容易被偵測
- 使用此原始碼編譯後執行,極高機率導致帳號永久封鎖,且無法申訴恢復
強烈建議:此原始碼僅供 離線環境測試、或是作為 逆向工程學習教材 使用,切勿在正式伺服器或主要帳號上執行。
👉 GM後台版 遊戲 推薦 ⬇️⬇️⬇️ 快速玩各種二次元動漫手遊app
功能特色整理
此 Internal Cheat 原始碼雖然作者自謙「程式碼可能不夠乾淨或組織完善」,但實際上已經包含了完整的外掛核心功能模組。底下我們逐一整理各功能區塊的技術實作與遊戲內效果:
![]()
ESP 透視系統(Extra Sensory Perception)
ESP 是外掛中最基礎也最重要的視覺輔助功能,此原始碼實作了以下子功能:
- 2D Box(2D方框):在螢幕上以矩形框選出目標的 2D 投影範圍,適合快速辨識敵人位置
- 3D Box(3D方框):繪製目標的 3D 邊界框(Bounding Box),能更精準呈現目標的實際體積與朝向
- Skeleton(骨骼):繪製角色的骨架連線(通常對應遊戲內的 Bone Matrix),可透過牆壁看到敵人姿勢(是否瞄準、蹲下)
- Snaplines(連接線):從螢幕中心或底部繪製直線連接到目標,直覺顯示相對方位
- Name(名稱):在方框上方或旁邊繪製玩家名稱(需讀取遊戲記憶體中的 Name String)
- Distance(距離):計算並顯示與目標的距離(通常以公尺為單位,需讀取 3D Coordinates 並做 Vector Distance 計算)
- Healtd(血量):以血條或數字顯示目標剩餘生命值(需找到 Healtd Offset 並讀取記憶體)
ImGui 圖形介面
此原始碼整合了 Dear ImGui 作為選單繪製框架,這是遊戲外掛開發的業界標準。ImGui 的優勢在於:
- 輕量級,不會明顯影響遊戲幀數(FPS)
- 支援視窗化操作,可隨時開關、調整大小、移動位置
- 容易擴展功能,只需修改 C++ 程式碼即可新增選項
- 支援鍵盤快捷鍵綁定(如 Insert 鍵開關選單)
Aimbot 自動瞄準
自瞄功能提供了兩種鎖定模式:
- Head(頭部):優先鎖定目標頭部骨骼,能造成最大傷害(通常一擊必殺)
- Body(身體):鎖定軀幹中心,命中率更高,適合遠距離掃射
技術實作上,這需要讀取目標的骨骼矩陣(Bone Matrix),計算螢幕座標,再透過 WriteProcessMemory 或 Mouse_Event 移動準心。
Radar 雷達顯示
遊戲內雷達覆蓋層,可顯示:
- Players(玩家):以點或圖示標示其他玩家位置,包含敵我識別(通常以顏色區分)
- Animals(動物):標示野生動物位置,對於狩獵或避開危險動物很有用
技術架構說明
此原始碼屬於 Internal Cheat(內部外掛),與 External(外部)外掛有本質差異。底下我們整理其技術原理與程式架構:
Internal vs External 差異
- Internal:以 DLL 注入方式,將外掛程式碼寫入遊戲進程(RedM.exe)的記憶體空間。優點是能直接存取遊戲內的類別、函式、渲染管線(D3D11/D3D12 Hook),實作 ESP 和自瞄更穩定且高效。缺點是容易被反作弊掃描記憶體特徵碼。
- External:以外部獨立執行檔(.exe)透過 ReadProcessMemory / WriteProcessMemory 讀寫遊戲記憶體。優點是較難被反作弊偵測(因為不在遊戲進程內),缺點是功能受限(無法直接呼叫遊戲函式,需要手動計算記憶體位址),且容易有延遲。
此原始碼為 Internal 類型,需使用注入器(如 Extreme Injector 或 VivienneVMM)將編譯後的 DLL 注入 RedM 進程。
核心技術實作
- DirectX Hook:透過 Hook 遊戲的 Present 或 SwapChain:
resent 函式,在遊戲渲染每一幀時插入我們的繪製代碼。這是實作 ESP 方框、線條、文字的必要技術。 - ImGui 整合:使用 Dear ImGui 作為即時模式 GUI 函式庫。透過設定正確的 D3D11/D3D12 渲染後端,ImGui 可以在遊戲畫面上繪製互動式選單。
- 骨骼讀取:透過逆向工程找到 RedM 中 CPlayer 或 CPed 類別的骨骼矩陣(Bone Matrix)偏移位址,再透過 WorldToScreen 函式將 3D 座標轉換為 2D 螢幕座標,實作骨骼透視。
- 記憶體掃描:使用 Cheat Engine 或自製記憶體掃描器尋找 Entity List、Local Player Pointer 等關鍵位址。
編譯與使用教學
雖然作者提供了已編譯的版本,但作為學習用途,我們強烈建議自行編譯以理解原始碼運作原理。以下是從原始碼到執行的完整流程:
環境需求
編譯步驟
- 下載原始碼壓縮檔並解壓縮到任意資料夾(路徑避免中文或特殊符號)
- 使用 Visual Studio 2022 開啟專案檔(.sln 檔案)
- 在「方案總管」中確認所有檔案已正確載入,特別檢查 ImGui 相關檔案是否包含在專案中
- 將編譯模式切換為 Release 與 x64(RedM 是 64 位元程式)
- 點擊「建置」→「建置方案」(或按下 Ctrl+Shift+B)
- 若編譯成功,會在 x64/Release 資料夾產生 .dll 檔案(檔名視專案設定而定,通常為 Internal.dll 或類似名稱)
注入與使用
- 確保 RedM 已啟動並進入遊戲(建議先在離線或測試伺服器嘗試)
- 使用 DLL 注入工具(如 Extreme Injector、VivienneVMM 或 Xenos Injector)
- 在注入器中選擇目標處理程序 RedM.exe(或 RDR2.exe,視 RedM 啟動方式而定)
- 選擇剛編譯好的 DLL 檔案
- 點擊「注入」(Inject)
- 若成功,遊戲畫面中應該會出現 ImGui 選單(通常預設按 Insert 鍵開關)
- 使用方向鍵或滑鼠點擊選單,開啟/關閉各項功能(ESP、自瞄、雷達等)
【小知識】什麼是 Internal Cheat?與 External 有什麼不同?
Internal Cheat(內部外掛)是將 DLL 注入到遊戲進程內部執行,能直接存取遊戲的記憶體空間、呼叫遊戲內建函式、攔截 DirectX 渲染流程。優點是功能強大、穩定、延遲低;缺點是容易被反作弊掃描記憶體特徵碼而偵測。
External Cheat(外部外掛)則是獨立執行檔,透過 Windows API 讀寫遊戲記憶體。優點是較難被偵測(不在遊戲進程內),缺點是功能受限、有讀取延遲、無法直接攔截渲染。
原始碼下載點
原始碼檔案大小為 5.21 MB,內含完整的 Visual Studio 專案檔、ImGui 函式庫、以及所有原始碼檔案(.cpp/.h)。建議具備 C++ 基礎的開發者下載學習。
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用
相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。
實際畫面展示
底下為原作者提供的實際運作截圖,展示了 ImGui 選單介面以及 ESP 透視效果在遊戲中的呈現方式:
![]()
![]()
常見問題Q&A
Q:這個原始碼可以直接使用嗎?會不會被偵測?
A:此原始碼為學習用途設計,直接使用極高機率被偵測。作者已明確表示因未使用驅動保護而遭到全球封鎖。若要使用,必須自行修改記憶體特徵碼、加入 Ring0 驅動保護、或 VMProtect 等加殼工具,但這需要進階逆向工程知識。
Q:什麼是 RedM?跟 RDR2 線上模式有什麼不同?
A:RedM 是基於 FiveM 框架開發的《碧血狂殺2》多人模組(Mod)平臺。與官方 Rockstar 線上模式(RDO)不同,RedM 允許玩家架設私人伺服器,使用自訂腳本、載具、地圖,並且通常沒有官方的反作弊系統(但部分伺服器會安裝 BattlEye 或其他防護)。此原始碼專為 RedM 客戶端設計。
Q:編譯時出現「無法找到 imgui.h」錯誤怎麼辦?
A:這表示 ImGui 函式庫路徑設定不正確。解決方法:- 確認下載的原始碼包內包含 imgui 資料夾
- 在 Visual Studio 的「專案屬性」→「C/C++」→「一般」→「其他 Include 目錄」中,加入 ImGui 資料夾的絕對路徑
- 確保所有 .cpp 檔案(如 imgui.cpp, imgui_draw.cpp, imgui_widgets.cpp)都已加入專案「來源檔案」中
Q:注入後遊戲崩潰(Crash)怎麼辦?
A:RedM 更新頻繁,記憶體位址(Offset)會隨版本改變。若注入後崩潰,可能原因包括:- 記憶體位址過期:原始碼中的 Entity List、Local Player 等位址需用 Cheat Engine 重新掃描
- DirectX 版本不符:確認 RedM 目前使用 D3D11 還是 D3D12,並在原始碼中切換對應的 Hook 方法
- 驅動衝突:若安裝了其他遊戲的反作弊(如 BattlEye、Easy Anti-Cheat),可能會阻止 DLL 注入
Q:這跟 Cheat Engine 有什麼關係?
A:這是完整的 C++ 原始碼專案,與 Cheat Engine 的腳本(Lua/Auto Assembler)不同。此原始碼編譯後是獨立的 DLL 檔案,需要注入到遊戲中運作。功能上比 Cheat Engine 腳本更強大(可直接渲染 3D 圖形、攔截遊戲函式),但開發難度也更高,需要具備 C++ 與 Windows API 基礎。若想學習如何修改數值,建議先參考 Cheat Engine (CE修改器) 7.5 漢化版 與 《Cheat Engine》V7.6 中文化版超強記憶體解鎖工具。
致謝名單
此專案雖由原作者釋出,但整合了多位社羣貢獻者的技術與資源。整理如下:
- @device9999(原作者):感謝釋出此 RedM Internal Cheat 原始碼,並提供基礎框架與功能實作。同時也感謝其在本專案中使用的其他技術資源。
- @DarkLinuxz:特別感謝提供 Radar(雷達)功能模組的原始碼與技術支援。
感謝 社羣提供此交流平臺,讓遊戲安全研究與逆向工程技術得以分享與傳承。
|