搜尋

俠盜公司遊戲修改器

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

[電玩遊戲] 《俠盜公司》外部輔助與原始碼釋出 外部輔助下載、驅動使用教學、記憶體修改功能

[複製連結]
1樓
lix097d ( Lv.30 大天使 ) 發表於 6 小時前 | 只看該作者 回覆獎勵 |降序瀏覽 |閱讀模式

《俠盜公司》外部輔助與原始碼釋出 快速閱讀精華


  • 這是一款針對《俠盜公司》(Rogue Company)的 外部暴力輔助工具(External Rage Cheat),採用驅動層級(Driver Level)記憶體讀寫技術,可繞過遊戲防護機制
  • 🔥 核心功能一覽: ESP透視(方框、骨骼、可視檢查)、多模式自瞄(Legit/Rage)、超級近戰(Super Melee)可擊飛穿牆、快速開火(Rapid Fire)、即時換彈(AmmoMod)
  • ⚠️ 風險提醒: 雖然作者表示該遊戲使用的 EAC(Easy Anti-Cheat)防護較弱,且已長時間未更新防護機制,但使用此類工具仍有帳號被封禁的風險,強烈建議僅在離線或測試環境使用
  • 📝 技術學習價值: 本文同時提供完整 C++ 原始碼與驅動程式碼,包含記憶體讀寫、CR3 處理、物理記憶體操作等底層技術,適合想深入學習 UE4 遊戲修改與驅動開發的技術愛好者




前言介紹



這是一款由開發者約兩年前製作的《俠盜公司》(Rogue Company)外部輔助工具,近期作者決定將其完整原始碼與編譯好的驅動檔案公開釋出。這款工具採用 外部輔助(External) 架構設計,搭配核心模式驅動程式(Kernel Driver)進行記憶體操作,能夠繞過遊戲的使用者模式防護機制。

根據作者說明,《俠盜公司》目前使用的 EAC(Easy Anti-Cheat) 防護系統已經有很長一段時間未進行實質性更新,因此這款輔助理論上仍然可以正常運作。當然,若遊戲後續更新導致偏移量(Offsets)改變,開發者可以透過快速傾印 SDK 並更新偏移量來修復。

值得一提的是,這個專案的原始程式碼是基於另一位開發者的作品進行改良,作者特別感謝該位開發者提供的優秀程式碼基礎,讓這款輔助能夠更易於理解與修改。

功能特色介紹





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



這款外部輔助工具提供了相當完整的作弊功能,從基礎的視覺輔助到暴力的戰鬥修改應有盡有。底下我們詳細介紹各項核心功能:

  • ESP 透視功能(Wallhack):
    • Box(方框): 在敵人周圍繪製方框,即使隔著牆壁也能清楚看見位置
    • Skeletons(骨骼): 顯示敵人骨骼結構,方便預判移動軌跡
    • Knocked Check(擊倒檢查): 特別標記已被擊倒的敵人,避免浪費彈藥
    • Visible(可視檢查): 判斷敵人是否在你視線範圍內,自瞄系統會參考此數據

  • 自瞄系統(Aimbot):
    • Legit 模式: 模擬人類操作,平滑移動準心,較難被反作弊系統偵測
    • Rage 模式: 瞬間鎖定目標,無視物理限制,適合快速清場
    • Knocked Check: 可設定是否自動瞄準已被擊倒的敵人

  • 暴力功能(Rage Features):
    • Super Melee(超級近戰): 這是此輔助最誇張的功能之一。啟用後,你的近戰攻擊會產生超強擊飛效果,能將敵人打飛極遠距離,甚至 穿透牆壁。作者特別調整了作用半徑,在效果與效能間取得平衡,避免幀率大幅下降。使用時建議先按一次預設近戰鍵(V 鍵)啟動機制,之後即可瘋狂揮舞。
    • Rapid Fire(快速開火): 讓你的武器射速突破極限,瞬間傾瀉彈藥,當然也會很快打光彈匣。
    • AmmoMod / Fast Reload(彈藥模組 / 快速換彈): 將換彈速度提升到誇張的程度,搭配快速開火使用,幾乎相當於擁有無限彈藥的火力壓制。
    • Fast Melee(快速近戰): 大幅提升近戰武器揮舞速度,配合超級近戰使用,你將成為地圖上最可怕的近戰風暴。


下載與安裝教學



底下提供完整的驅動程式與外部輔助主程式下載連結,以及詳細的安裝步驟說明。請務必按照順序操作,以確保輔助能夠正常運作。



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



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





原始碼說明



對於想深入學習遊戲修改技術與驅動開發的技術愛好者,作者也公開了完整的 C++ 原始碼。這份程式碼展示瞭如何透過核心模式驅動與外部程式通訊,實現對 UE4 遊戲的記憶體讀寫操作。

主要技術架構包括:

  • 驅動層(Kernel Driver): 透過 IOCTL 與使用者模式程式通訊,提供物理記憶體讀寫(Physical Memory R/W)、CR3 暫存器取得、基址(Base Address)查詢等功能。程式碼中使用了 MmCopyVirtualMemory 概念的直接實現。
  • 記憶體操作: 包含讀寫虛擬記憶體、取得 CR3(Directory Table Base)、處理 Guarded Regions 等進階記憶體管理技術。
  • 模板化讀寫: 提供了 template <typename T> T read(uint64_t address) 與對應的 write 模板,方便開發者以型別安全的方式操作遊戲記憶體。
  • 陣列讀取: 支援批量讀取記憶體陣列(read_array),提升大量資料讀取效率。


底下是完整的驅動通訊與記憶體操作原始碼:

#pragma once
#include <Windows.h>
#include <TlHelp32.h>
#include <cstdint>
#include <vector>
 
uintptr_t sofmainbabe;
uintptr_t cr3;
 
#define code_rw CTL_CODE(FILE_DEVICE_UNKNOWN, 0x1545, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
#define code_ba CTL_CODE(FILE_DEVICE_UNKNOWN, 0x1546, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
#define code_get_guarded_region CTL_CODE(FILE_DEVICE_UNKNOWN, 0x1547, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
#define code_GetDirBase CTL_CODE(FILE_DEVICE_UNKNOWN, 0x1548, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
#define code_security 0x83b5b69
 
typedef struct _rw {
        INT32 security;
        INT32 process_id;
        ULONGLONG address;
        ULONGLONG buffer;
        ULONGLONG size;
        BOOLEAN write;
} rw, * prw;
 
typedef struct _ba {
        INT32 security;
        INT32 process_id;
        ULONGLONG* address;
} ba, * pba;
 
typedef struct _ga {
        INT32 security;
        ULONGLONG* address;
} ga, * pga;
 
typedef struct _MEMORY_OPERATION_DATA {
        uint32_t        pid;
        ULONGLONG* cr3;
} MEMORY_OPERATION_DATA, * PMEMORY_OPERATION_DATA;
 
namespace sofmain1337 {
        HANDLE driver_handle;
        INT32 process_id;
 
        bool find_driver() {
                driver_handle = CreateFileW((L"\\\\.\\sofmainud1337"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
                return driver_handle && driver_handle != INVALID_HANDLE_VALUE;
        }
 
        void read_physical(PVOID address, PVOID buffer, DWORD size) {
                _rw arguments = { 0 };
                arguments.security = code_security;
                arguments.address = (ULONGLONG)address;
                arguments.buffer = (ULONGLONG)buffer;
                arguments.size = size;
                arguments.process_id = process_id;
                arguments.write = FALSE;
                DeviceIoControl(driver_handle, code_rw, &arguments, sizeof(arguments), nullptr, NULL, NULL, NULL);
        }
 
        void write_physical(PVOID address, PVOID buffer, DWORD size) {
                _rw arguments = { 0 };
                arguments.security = code_security;
                arguments.address = (ULONGLONG)address;
                arguments.buffer = (ULONGLONG)buffer;
                arguments.size = size;
                arguments.process_id = process_id;
                arguments.write = TRUE;
                DeviceIoControl(driver_handle, code_rw, &arguments, sizeof(arguments), nullptr, NULL, NULL, NULL);
        }
 
        uintptr_t fetch_cr3() {
                uintptr_t cr3 = NULL;
                _MEMORY_OPERATION_DATA arguments = { 0 };
                arguments.pid = process_id;
                arguments.cr3 = (ULONGLONG*)&cr3;
                DeviceIoControl(driver_handle, code_GetDirBase, &arguments, sizeof(arguments), nullptr, NULL, NULL, NULL);
                return cr3;
        }
 
        uintptr_t find_image() {
                uintptr_t image_address = NULL;
                _ba arguments = { 0 };
                arguments.security = code_security;
                arguments.process_id = process_id;
                arguments.address = (ULONGLONG*)&image_address;
                DeviceIoControl(driver_handle, code_ba, &arguments, sizeof(arguments), nullptr, NULL, NULL, NULL);
                return image_address;
        }
 
        uintptr_t get_guarded_region() {
                uintptr_t guarded_region_address = NULL;
                _ga arguments = { 0 };
                arguments.security = code_security;
                arguments.address = (ULONGLONG*)&guarded_region_address;
                DeviceIoControl(driver_handle, code_get_guarded_region, &arguments, sizeof(arguments), nullptr, NULL, NULL, NULL);
                return guarded_region_address;
        }
 
        INT32 find_process(LPCTSTR process_name) {
                PROCESSENTRY32 pt;
                HANDLE hsnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
                pt.dwSize = sizeof(PROCESSENTRY32);
                if (Process32First(hsnap, &pt)) {
                        do {
                                if (!lstrcmpi(pt.szExeFile, process_name)) {
                                        CloseHandle(hsnap);
                                        process_id = pt.td32ProcessID;
                                        return pt.td32ProcessID;
                                }
                        } while (Process32Next(hsnap, &pt));
                }
                CloseHandle(hsnap);
                return 0;
        }
 
        // New raw read function
        static bool read_raw(uint64_t address, void* buffer, size_t size) {
                if (!buffer || size == 0)
                        return false;
                read_physical(reinterpret_cast<PVOID>(address), buffer, static_cast<DWORD>(size));
                return true;
        }
}
 
// Generic templates for reading/writing memory
template <typename T>
T read(uint64_t address) {
        T buffer{};
        sofmain1337::read_physical((PVOID)address, &buffer, sizeof(T));
        return buffer;
}
 
template <typename T>
T write(uint64_t address, T buffer) {
        sofmain1337::write_physical((PVOID)address, &buffer, sizeof(T));
        return buffer;
}
 
template<typename T>
inline bool read_array(uint64_t address, T* array, size_t len) {
        return sofmain1337::read_raw(address, array, sizeof(T) * len);
}


使用注意事項



在使用此外部輔助工具前,請務必詳閱以下風險聲明與使用建議:

  • 反作弊風險: 雖然作者指出《俠盜公司》目前的 EAC(Easy Anti-Cheat)防護機制較為寬鬆,且已長期未更新,但這並不代表絕對安全。使用任何記憶體修改工具都存在被偵測並導致 永久封號 的風險。
  • 使用環境建議: 強烈建議僅在離線模式、私人伺服器或專門用於測試的帳號上使用此工具。切勿在您珍視的主要遊戲帳號上使用,以免因封禁而損失遊戲進度與購買的內容。
  • 系統權限: 由於此工具使用驅動層技術,必須以 系統管理員身份 執行驅動映射工具與主程式。操作不當可能導致系統不穩定或藍底白字(BSOD)。
  • 超級近戰使用須知: 使用 Super Melee 功能時,每場遊戲開始後 必須先按一次預設近戰鍵(V 鍵) 啟動機制,否則功能可能無法正常運作。
  • 效能調整: Super Melee 的作用半徑若調整過大,可能導致幀率(FPS)嚴重下降。建議根據您的電腦效能適度調整,找到效果與流暢度的平衡點。


常見問題Q&A



Q:這個輔助程式會被遊戲的反作弊系統偵測到嗎?
A:雖然作者表示《俠盜公司》目前使用的 EAC(Easy Anti-Cheat)防護機制已經有很長一段時間未更新,相對容易繞過,但這並不代表完全無風險。使用任何記憶體修改工具都存在被偵測並導致帳號永久封禁的可能性。建議僅在離線或測試環境使用。

Q:為什麼我按下 Insert 鍵沒有反應,選單沒有出現?
A:請確認以下幾點:首先,您必須等待程式執行後的 10 秒倒數計時完全結束;其次,請確保《俠盜公司》遊戲已經啟動且您已經進入遊戲大廳或對戰中;最後,檢查您的鍵盤 Insert 鍵是否正常運作,部分筆記型電腦可能需要配合 Fn 鍵使用。

Q:Super Melee(超級近戰)功能要怎麼使用?我啟動了但沒有效果?
A:這是許多新手會遇到的問題。使用 Super Melee 功能有個重要的前置步驟:每場遊戲開始後,您必須先按一次預設的近戰鍵(通常是 V 鍵),這個動作會「啟動」超級近戰的機制。完成這個步驟後,您就可以使用滑鼠左鍵(或您設定的攻擊鍵)瘋狂揮舞,享受將敵人擊飛穿牆的快感了。

Q:我的電腦執行這個輔助時幀率(FPS)掉很多,要怎麼解決?
A:幀率下降通常是 Super Melee(超級近戰)功能的作用半徑設定過大所導致的。當作用範圍太廣時,計算量會急劇增加,導致畫面卡頓。建議您開啟輔助選單,找到 Super Melee 的設定選項,將半徑(Radius)滑桿適度調低,直到找到效果與流暢度的最佳平衡點。此外,關閉不必要的 ESP 功能也有助於提升效能。

Q:我可以修改這個輔助的原始碼嗎?需要具備什麼基礎?
A:當然可以!作者釋出原始碼的目的就是讓其他開發者能夠學習與改良。要修改這份原始碼,您需要具備 C++ 程式設計基礎,特別是對指標、記憶體位址、模板(Template)有基本認識。此外,由於涉及驅動層開發,瞭解 Windows 驅動程式模型(WDM)、IOCTL 通訊機制、以及 x86/x64 記憶體架構(如 CR3、分頁表)會非常有幫助。對於想學習遊戲修改的新手,這是一份極具參考價值的教材。

結語



《俠盜公司》(Rogue Company)的這款外部輔助工具與原始碼釋出,為技術愛好者提供了一個絕佳的學習範例,展示瞭如何透過驅動層技術與外部程式架構來修改 UE4 遊戲的記憶體數據。從 ESP 透視、骨骼顯示到暴力的超級近戰與快速開火功能,這份專案涵蓋了遊戲輔助開發的各個面向。

然而,我們必須再次強調,使用此類工具存在極高的帳號封禁風險。雖然作者指出目前遊戲的 EAC 防護較為寬鬆,但遊戲公司隨時可能更新防護機制。我們強烈建議僅將此工具用於離線學習、技術研究或私人測試環境,切勿在正式伺服器上使用,以免造成不可逆的損失。

對於想深入學習遊戲修改、驅動開發或逆向工程的讀者,這份原始碼無疑是一份寶貴的教材。透過研究其中的記憶體讀寫機制、驅動通訊協定與遊戲數據結構,您將能建立起紮實的技術基礎,進而開發出屬於自己的工具。





大家正在看啥


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

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

本版積分規則

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

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

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