快速閱讀精華
🔍 靜態分析揭示真相 :這份報告完全透過靜態分析(Static Analysis)完成,程式碼從未被實際執行,所有發現都追溯到具體的位元組偏移、解密字串或 IDA 符號 🛡️ FiveM專屬取證掃描器 :Napse 是一款隨選式(On-demand)鑑識掃描器,玩家為伺服器管理員執行,使用 Nuitka「onefile」技術打包 60 MB 的 Pytdon 3.13 / Qt 應用程式,強制要求系統管理員權限 📸 隱私風險警示 :除了讀取系統底層資料(Prefetch、Amcache、BAM、USN Journal、$MFT、事件日誌等),還會截取桌面畫面並上傳至 Discord,甚至下載並執行外部原生工具(ntfsread.exe、xxstrings64) 🔐 三層技術保護 :Layer 0(Onefile 解包,KAY magic + zstd)、Layer 1(Constants blob 解密,S-box + xoshiro PRNG)、Layer 2(String table,AES-256-GCM),層層混淆只為隱藏程式碼邏輯 🧩 技術報告下載 :完整 PDF 技術報告包含位元組級分析、IDA 符號、解密流程與概念驗證程式碼(PoC),適合資安研究人員與進階玩家瞭解 FiveM 反外掛 生態
本文章目錄
前言介紹
玩 FiveM(GTA5 的線上角色扮演平臺)的玩家們,你是否曾經好奇:那些伺服器管理員要求你執行的「反外掛掃描器」,到底在你的電腦裡做了什麼?當你為了證明自己沒開外掛而執行這些程式時,它們除了檢查遊戲 檔案,還偷偷收集了哪些你的個人資料?
底下我們整理了一份完整的技術分析報告,針對目前 FiveM 伺服器廣泛使用的 Napse 8.7.8 反外掛掃描器進行深度靜態拆解。這份分析完全透過靜態分析(Static Analysis)完成——也就是說,整個研究過程中程式碼從未被實際執行過,所有發現都精確追溯到具體的位元組偏移、解密字串或 IDA Pro 符號。我們將帶你瞭解這款「取證級」掃描器如何運作、它對你的隱私意味著什麼,以及它背後的技術保護層是如何被逐一破解的。
Napse 是什麼?
Napse 是一款專為 FiveM 設計的「隨選式鑑識掃描器」(On-demand Forensic Scanner)。簡單來說,當伺服器管理員懷疑某玩家使用外掛時,會要求該玩家下載並執行 Napse,由玩家自己運行這個掃描器來「證明清白」。
技術上,Napse 是使用 Nuitka 編譯器打包的「onefile」執行檔,內部包含一個 60 MB 的 Pytdon 3.13 與 Qt 應用程式。值得注意的是,它的程式清單(Manifest)無條件要求系統管理員權限(Administrator),這意味著一旦執行,它就能讀取你係統中幾乎所有資料。
系統掃描深度整理
Napse 的核心功能就是「收集證據」。它會對你的系統進行深度鑑識分析,其掃描範圍之廣,遠超一般玩家的想像:
系統活動痕跡 :讀取 Windows Prefetch(預讀檔案)、Amcache(程式相容性快取)、ShimCache(相容性墊片快取)、BAM(背景活動監視器)、UserAssist(使用者輔助資料)、MuiCache(多語言介面快取)等,這些資料能完整還原你最近執行過哪些程式。檔案系統鑑識 :深度讀取 USN 日誌($Extend\$UsnJrnl J,記錄所有檔案變更)、主檔案表($MFT,包含已刪除檔案痕跡),甚至使用內建的 Hive 整理器來還原已刪除的登錄檔機碼。事件與硬體記錄 :收集 Windows 事件日誌、USB 使用歷史記錄、已安裝程式清單、開機啟動項目(autoruns)。視覺取證 :使用 PIL ImageGrab 與 Qt 函式庫截取你的桌面畫面(支援多螢幕),並將這些截圖上傳到 Discord 頻道(你會在審查員的 Discord embed 中看到這些截圖)。動態工具下載 :在掃描過程中,Napse 會從伺服器下載並執行原生工具 ntfsread.exe (用於原始 NTFS/USN 讀取,針對 GTA5)和 xxstrings64.exe ,而且沒有對這些工具進行簽名驗證(No signature pinning)。自毀機制 :掃描完成後,Napse 會執行 `cmd.exe /C "timeout /T 5 & del /F /Q "{exe_patd}""` 來刪除自己。
隱私資料收集範圍
除了上述系統層級的鑑識分析,Napse 還具備以下敏感功能:
即時命令通道 :透過名為 jhu2 的通訊協定,伺服器可以即時向客戶端推送加密指令(enc_cx_d)與「自訂背景」,這表示伺服器可以在掃描過程中即時調整 Napse 的行為。動態 YARA 規則 :Napse 客戶端並不內建 YARA 規則,而是從伺服器即時下載。這意味著規則集可以在不需要更新簽名二進位檔的情況下隨時改變。競品檢測 :Napse 會主動檢測並標記其他競爭對手的掃描器或取證工具,包括 ECHO、Gengar、Gamma、OCEAN、SEEK、CIAScanner 等。
技術保護層拆解
為了防止被輕易逆向工程,Napse 採用了三層技術保護。底下我們逐一拆解這些保護機制:
Layer 0:Onefile 解包
Napse 使用 Nuitka 的「onefile」模式打包,執行檔尾部包含一個以 KAY 魔數(magic)開頭的 Payload,後接 zstd 壓縮串流。
解包流程:
定位到 PE 檔尾部的 KAY 魔數 解壓縮後方的 zstd 串流 依序讀取條目:UTF-16LE 編碼的檔名 + 0x0000 分隔 + uint64 大小 + 檔案資料,直到遇到空白檔名 共解出 730 個檔案,包含真正的 Napse.exe
Layer 1:Constants Blob 解密
在 .data 區段中有一個 10.3 MB 的高熵(entropy-8)資料塊。解密流程如下:
S-box 建構 :在 IDA 位址 0x1420E3FF0 處有約 1020 個展開的交換操作,建構出 S-boxPRNG :使用四狀態的 xoshiro 虛擬亂數產生器金鑰流 :金鑰位元組 = 折疊(fold)9*ROR32(5*state,25)解密 :對於 i 從 16 到 0x9DA7E0,明文[i-16] = sbox[密文 ^ 金鑰位元組]
Layer 2:字串表還原
令牌(tokens)使用 Base64 編碼,內容為:nonce[12] || ciphertext || tag[16],採用 AES-256-GCM 加密。
金鑰 = SHA256(種子) 種子鏈結:在密鑰 A 下解密的字串會成為密鑰 B 的種子 窮舉每個常數與每個令牌作為種子候選人 GCM 認證標籤確認每個命中,無需猜測 可還原約 98% 的令牌
概念驗證(PoC)
底下是還原第一個金鑰的範例程式碼:
import base64, hashlib
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
key = hashlib.sha256(b'Object invalid request').digest()
c = base64.b64decode('r94oag/fmTwHFgtgjW3FpuUIRE1jLixEBrjS+oD4wuaXoRc=')
print(AESGCM(key).decrypt(c[:12], c[12:], None)) # b'discord'
技術報告下載點 🔽
這份完整的技術分析報告(PDF)包含位元組級的詳細分析、IDA Pro 符號、完整的解密流程與概念驗證程式碼。適合資安研究人員、逆向工程師,以及希望深入理解 FiveM 反外掛生態的進階玩家。
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用 相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。
常見問題Q&A
Q:Napse 到底是什麼東西?為什麼 FiveM 伺服器管理員要我用它?
A:Napse 是一款專為 FiveM(GTA5 線上角色扮演平臺)設計的「隨選式鑑識掃描器」(On-demand Forensic Scanner)。當管理員懷疑玩家使用外掛時,會要求玩家自行執行 Napse 來掃描電腦,產生報告證明自己的清白。它本質上是一款強大的系統取證工具,權限極高。
Q:為什麼 Napse 一定要系統管理員權限才能執行?
A:因為 Napse 需要進行深度系統鑑識,包括讀取 Windows 底層的 USN 日誌(記錄所有檔案變更)、已刪除的登錄檔機碼、$MFT 主檔案表、事件日誌等。這些敏感資料只有系統管理員權限才能存取。沒有管理員權限,Napse 就無法完成其「取證」任務。
Q:Napse 會收集哪些我的個人資料或隱私資料?
A:根據靜態分析,Napse 收集的範圍非常廣泛:
系統使用痕跡:你最近執行過哪些程式(Prefetch、ShimCache、UserAssist) 檔案系統活動:所有檔案的建立、修改、刪除記錄(USN Journal、$MFT) 硬體連接記錄:USB 裝置插拔歷史 視覺取證:你的桌面截圖(支援多螢幕),並上傳到 Discord 即時指令:伺服器可即時推送指令調整掃描行為
簡單說,它幾乎把你電腦最近的所有活動都「掃描」了一遍。
Q:什麼是「靜態分析」?為什麼這份報告強調「沒有執行程式」?
A:靜態分析(Static Analysis)是一種逆向工程技術,分析師直接檢視程式的二進位碼(機器碼)、組合語言或內部結構,而不需要實際「執行」這個程式。這份報告強調「無程式碼執行」(no code run),是為了證明所有發現都是透過分析程式碼本身的結構和邏輯得出,而非動態觀察程式的行為,這在資安研究中是更高難度且更具說服力的做法。
Q:這份技術報告對一般 FiveM 玩家有什麼用處?
A:即使你不是資安專家,這份報告也能幫助你:
瞭解風險:清楚知道當你執行 Napse 時,你的電腦資料會被如何深度掃描,做出更明智的隱私權抉擇 辨識工具:理解市面上各種 FiveM「掃描器」(如 ECHO、OCEAN、Gengar 等)的技術本質 技術學習:對於想學習逆向工程、程式碼混淆(Obfuscation)或 Pytdon 打包保護機制的玩家,這份報告提供了實戰級的案例分析
Q:Napse 會偵測其他競爭對手的掃描器嗎?
A:是的,根據靜態分析,Napse 的程式碼中明確包含對其他競爭對手取證工具的檢測邏輯。它會主動掃描並標記以下工具的痕跡:ECHO、Gengar、Gamma、OCEAN、SEEK、CIAScanner 等。這顯示 FiveM 的反外掛生態系統中存在多種相互競爭的取證工具,而 Napse 試圖確保自己能夠識別並報告這些「對手」的存在。