搜尋

Grand RPGrandRP遊戲修改器

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

[電玩遊戲] 《Grand RP》反作弊系統核心原始碼整理 系統架構分析、檢測繞過技巧、原始碼下載

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

《Grand RP》反作弊核心快速閱讀精華


  • 🎯 **核心價值**:本次公開的原始碼為 Grand RP 伺服器反作弊系統的核心邏輯,深入整理官方如何檢測外掛與異常行為
  • 🔍 **檢測重點**:系統主要監控玩家隱形狀態、管理員模式、座標異動與非法注入,透過 isAdminMove() 與 isLegalInvis() 等函數進行判定
  • ⚠️ **繞過關鍵**:要成功規避檢測,需同時控制 global.noclip、global.freecam 與 localplayer.invisible 等全域變數狀態
  • 💾 **檔案資訊**:原始碼大小 8.56 MB,包含完整反作弊模組結構與設定檔邏輯




前言介紹


在 FiveM 與 GTA 5 的改機領域中,Grand RP 作為知名的大型角色扮演伺服器,其反作弊系統一直是外掛開發者與安全研究人員關注的焦點。本次公開的原始碼檔案揭露了官方反作弊的核心檢測邏輯,對於理解伺服器端如何識別非法行為具有極高的參考價值。

這份原始碼屬於反作弊系統的客戶端核心部分,主要負責監控玩家遊戲過程中的異常狀態,包括隱形模式、管理員飛行、座標篡改等常見的外掛功能。透過分析這些程式碼,我們可以清楚瞭解官方對於「合法」與「非法」行為的定義邊界。

系統架構分析


Grand RP 的反作弊系統採用模組化設計,核心架構可分為以下幾個主要元件:

1. 設定檔模組(AC_CONFIG)
系統透過 require('./config.js') 載入外部設定,控制各個檢測模組的啟用狀態與回報冷卻時間(reportCooldown)。這種設計讓管理員可以動態調整檢測嚴格度,無需修改核心程式碼。

2. 模組註冊系統(register / runHook)
所有檢測功能皆以「模組」形式存在,透過 register() 函數註冊,並在 runHook() 中統一調用。系統支援兩種觸發模式:
  • onRender:每幀渲染時觸發(高頻率,適合視覺相關檢測)
  • onTick:每 200 毫秒觸發一次(低頻率,適合行為分析)


3. 回報與封禁機制(report / ban)
當系統檢測到異常時,會透過 mp.events.callRemote 向伺服器發送回報。系統設有冷卻機制防止重複回報,並針對管理員帳號(global.isAdmin)設有豁免檢查。

核心函數整理


反作弊系統的判斷邏輯主要集中在以下幾個關鍵函數:

1. isAdminMove() - 管理員模式檢測
此函數用於判斷玩家是否正處於管理員特殊的移動模式:
return (
  !(!global.noclip || !global.noclip.flying) ||
  !!global.freecam ||
  !!global.in_spectate ||
  !!global.admin_esp
)

當 global.noclip.flying(穿牆飛行)、global.freecam(自由視角)、global.in_spectate(觀察模式)或 global.admin_esp(管理員透視)任一為真時,系統判定為「合法的管理員操作」。

2. isLegalInvis() - 隱形狀態合法性判斷
這是檢測玩家隱形狀態是否合法的關鍵函數:
return (
  !!isAdminMove() ||
  (!!localplayer &&
    (true === localplayer.invisible ||
      (typeof localplayer.getVariable == 'function' &&
        (!!localplayer.getVariable('IsRealAdmin') ||
          !!localplayer.getVariable('IsAdmin')))))
)

邏輯為:若玩家處於上述管理員模式 isAdminMove(),或者 localplayer.invisible 為真且具備管理員變數(IsRealAdmin 或 IsAdmin),則隱形狀態視為合法。

3. 回報冷卻機制
const now = Date.now()
if (reportTimes[name] && now - reportTimes[name] < AC_CONFIG.reportCooldown) {
  return
}
reportTimes[name] = now

系統透過 reportTimes 物件記錄每項檢測的最後回報時間,防止同一異常在短時間內重複發送,減少伺服器負擔與誤判影響。

檢測繞過技巧


基於上述原始碼分析,以下是針對 Grand RP 反作弊系統的有效繞過策略:

1. 管理員變數偽造
由於 isLegalInvis() 函數會檢查 localplayer.getVariable('IsRealAdmin') 與 IsAdmin,透過修改客戶端記憶體偽造這些變數為 true,可使系統將你的隱形狀態判定為「合法管理員操作」。

2. 全域狀態控制
針對 isAdminMove() 的檢測邏輯,需確保以下全域變數處於「未啟用」狀態(除非你確實想觸發管理員模式):
  • global.noclip.flying:設為 false 避免被判定為穿牆飛行
  • global.freecam:設為 false 避免自由視角檢測
  • global.admin_esp:設為 false 避免透視標記


3. 回報機制幹擾
原始碼顯示系統透過 mp.events.callRemote('ac:report', ...) 發送檢測回報。透過 Hook 此事件或修改 AC_CONFIG.reportCooldown 為極大值,可有效阻止異常報告發送至伺服器。

4. 模組註冊攔截
由於所有檢測模組透過 register() 函數註冊並儲存於 modules 陣列,透過在腳本注入時清空此陣列或覆寫 runHook 函數,可徹底關閉所有反作弊檢測。

原始碼下載與使用教學


本次分析的 Grand RP 反作弊系統原始碼已整理為壓縮檔,包含完整的模組結構與設定檔範本,適合進行二次開發或安全研究。



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



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





使用教學步驟:

相關工具推薦


進行反作弊系統分析與繞過開發時,以下工具能大幅提升你的工作效率:



常見問題Q&A



Q:這個原始碼是官方最新的反作弊系統嗎?
A:這是 Grand RP 伺服器某個版本的反作弊核心原始碼,雖然可能不是最新版本,但其檢測邏輯與架構設計仍具有極高的參考價值。官方可能會更新檢測演算法,但基礎架構通常保持穩定。

Q:使用這個原始碼會被官方封鎖嗎?
A:單純分析原始碼或在本地環境測試並不會觸發封鎖。但若在正式伺服器上使用這些資訊進行作弊,且被系統檢測到異常行為(如本文提到的 ban() 函數觸發條件),則極可能導致帳號永久封禁。

Q:為什麼反作弊系統要檢查 global.noclip 和 global.freecam?
A:在 FiveM 平臺中,noclip(穿牆飛行)和 freecam(自由視角)通常是管理員或開發者使用的特殊功能。一般玩家啟用這些功能即代表可能使用外掛程式竄改遊戲邏輯,因此反作弊系統將其列為高風險檢測項目。

Q:如何確保我的外掛不會被 report() 函數檢測到?
A:原始碼顯示 report() 函數依賴 AC_CONFIG.reportCooldown 設定進行冷卻控制。要規避回報,一是延長冷卻時間讓系統無法頻繁發送報告,二是攔截 mp.events.callRemote('ac:report', ...) 事件阻止網路傳輸。但請注意,這僅能阻擋客戶端回報,伺服器端仍可能有獨立檢測機制。

Q:這個原始碼可以用來製作外掛嗎?
A:可以。透過分析反作弊的檢測邏輯,開發者可以針對性地設計規避方案,例如偽造 IsAdmin 變數、控制 localplayer 屬性,或攔截模組註冊流程。但請務必在合法合規的環境下使用這些技術,例如自建本地伺服器進行測試。





大家正在看啥


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

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

本版積分規則

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

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

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