《CS2》記憶體注入式內掛 快速閱讀精華
- 這是一款 64位元 DLL 內掛,透過 OBS Game Capture 的 graphics-hook64.dll 進行 DXGI 渲染層掛鉤
- 核心功能包含 ESP 透視、靜默自瞄(Silent Aim)、後座力控制、煙霧閃光修改 等
- F8 開啟選單|END 鍵卸載|需配合 OBS 與 DLL 注入器使用
- ⚠️ 重要提醒:在 VAC 安全伺服器使用將導致帳號封鎖,僅供學習與逆向工程研究
前言介紹
想深入瞭解 CS2 記憶體注入技術 與 DirectX 渲染掛鉤 的運作原理嗎?這款 kompy-cs2 專案正是為學習者設計的開源範例,展示如何透過 DLL 注入 與 OBS Game Capture 的整合,實現穩定的幀級回調機制。
與一般外掛不同,這是 Internal-style(內掛)架構——直接注入遊戲記憶體空間,讀取 client.dll 偏移量並透過特徵碼掃描掛鉤輸入歷史,達成更低延遲的資訊取得與操作攔截。
⚠️ 重要提醒
本工具僅供 逆向工程學習 與 系統研究 使用。在 VAC(Valve Anti-Cheat)安全伺服器使用將 違反 Valve 服務條款 並 導致帳號永久封鎖。使用者須自行承擔所有風險。
👉 GM後台版 遊戲 推薦 ⬇️⬇️⬇️ 快速玩各種二次元動漫手遊app
OBS 整合原理
為什麼這款內掛 必須搭配 OBS 才能運作?關鍵在於它並非直接呼叫 DirectX API,而是「借力使力」——利用 OBS Game Capture 已經注入的 graphics-hook64.dll 模組。
OBS 設定步驟
- 啟動 OBS Studio(建議版本 32.0.4,與測試環境一致)
- 新增 Game Capture(遊戲擷取)來源
- 選擇 CS2(cs2.exe)作為擷取目標
- 確認 OBS 正在 主動擷取遊戲畫面——此時 graphics-hook64.dll 已注入進程
- 觀察 OBS 預覽視窗有正常顯示 CS2 畫面即為成功
當 OBS 的掛鉤模組載入後,kompy 會透過 GetModuleHandleA("graphics-hook64.dll") 取得模組基底位址,並從固定偏移量讀取真正的 DXGI Present 與 ResizeBuffers 函式指標,再將其替換為自訂的掛鉤函式。
這種設計的優勢:
- 無需建立獨立交換鏈,避免與遊戲渲染衝突
- 穩定的逐幀回調,適合 ImGui 介面繪製與邏輯運算
- OBS 與遊戲正常運作,掛鉤後會鏈回原始函式
【小知識】 OBS 更新後偏移量可能改變!若遇到崩潰或掛鉤失敗,需重新分析 graphics-hook64.dll 並更新 workspace/render/present.hxx 中的偏移值。主控臺輸出會顯示初始化狀態,協助排查問題。
功能心得分享
透過 F8 鍵可呼叫遊戲內選單,所有功能分三大類別:
ESP 透視功能
- 方框透視(boxes)、骨骼線(skeleton)、頭部標記
- 血條與護甲條、玩家名稱與武器顯示
- 隊伍過濾、雷達顯示、休眠玩家渲染
- 吸附線(snap lines)快速定位目標
自瞄與靜默自瞄
- Aimbot(自瞄):自動鎖定敵人骨骼點
- Silent Aim(靜默自瞄):伺服器端無察覺的瞄準修正
- 後座力控制(recoil control)、FOV 範圍設定
- 平滑度調整、骨骼選擇、視線遮擋檢查
靜默自瞄的原理是透過 input history 掛鉤(populate_history_entry 函式),在輸入指令送達伺服器前進行角度修正,對其他玩家而言完全無法察覺異常。
其他輔助功能
- 閃光彈與煙霧彈視覺修改
- 手榴彈預測軌跡、無後座力、快速開火
- 擊中音效、回溯(backtrack)、觀戰者列表
- 反自瞄(anti-aim)姿態欺騙
編譯與建置
系統需求:
| 項目 | 規格 | | 作業系統 | Windows x64 | | 開發環境 | Visual Studio 2022 | | 平臺工具組 | v143(C++20) | | 目標遊戲 | Counter-Strike 2(64位元) | | 必要軟體 | OBS Studio + Game Capture | | 注入工具 | DLL 注入器(需自備) |
編譯步驟:
- 以 Visual Studio 2022 開啟 kompy-cs2.vcxproj
- 選擇 Release 組態與 x64 平臺
- 建置專案,輸出 DLL 預設位於 ../builds 目錄
- 若包含路徑不符,請於 VC++ 目錄 手動調整或編輯專案檔
執行流程
- 啟動 OBS 並設定 CS2 的 Game Capture
- 啟動 CS2,確認 OBS 正在主動擷取
- 使用 DLL 注入器將編譯好的 DLL 注入 cs2.exe
- 觀察主控臺輸出,確認初始化紀錄
- 遊戲內按 F8 開啟選單進行設定
- 按 END 鍵完整卸載內掛
初始化失敗排查:
- OBS Game Capture 是否處於活動狀態?
- graphics-hook64.dll 是否已載入進程?
- OBS 版本是否為 32.0.4?(其他版本偏移量可能不同)
- CS2 偏移量與網路變數是否為最新版本?
專案結構說明:
| 檔案/目錄 | 功能 | | dllmain.cpp | 進入點、主控臺設定、初始化與關閉 | | workspace/render/present.hxx | OBS 掛鉤整合、DXGI 掛鉤、ImGui 渲染 | | workspace/engine/ | 特徵碼掃描、偏移量、網路變數、掛鉤核心 | | workspace/entities/visuals/ | ESP、自瞄、其他遊戲邏輯 |
檔案下載點
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用
相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。
常見問題Q&A
Q:為什麼一定要開 OBS 才能用?
這款內掛依賴 OBS Game Capture 注入的 graphics-hook64.dll 來取得 DXGI 函式指標。沒有 OBS 就無法建立穩定的渲染掛鉤,這是設計上的核心機制,不是額外功能。
Q:OBS 版本有要求嗎?
測試環境為 OBS 32.0.4。若使用其他版本,Present 與 ResizeBuffers 的偏移量可能不同,導致掛鉤失敗或遊戲崩潰。建議先使用相同版本,或自行分析 graphics-hook64.dll 更新偏移值。
Q:CS2 更新後功能失效怎麼辦?
CS2 的 client.dll 偏移量與網路變數(netvars)會隨更新改變。需檢查 workspace/engine/sdk/ 內的數值是否為最新,並參考社羣更新或自行用記憶體分析工具重新定位。
Q:Silent Aim 和一般 Aimbot 差在哪?
一般自瞄會在客戶端持續修正準星位置,容易被觀戰者或回放發現。靜默自瞄(Silent Aim)則是在輸入指令層級進行一次性角度修正,伺服器接收的數據看似正常,對其他玩家完全隱形。
Q:這款工具會被 VAC 偵測嗎?
任何記憶體注入行為都有被 VAC 偵測的風險。雖然專案本身開源且無商業化保護措施,但 使用於官方伺服器極可能導致封鎖。請僅於離線環境或自建伺服器測試。
Q:可以修改或販售這款工具嗎?
根據授權條款,禁止販售或轉為付費作弊。個人使用與研究用途可自由修改,但不得用於營利。
|