Resource Injection | 插件注入

1. 功能概述

**資源注入(Resource Injection)**允許你在合法資源(resource)的執行環境中運行程式碼,藉此存取該資源的全域函式與資料,例如 TriggerServerEvent。這能在某些防作弊系統下,繞過事件 token 機制。你可以透過資源列表頁找到特定資源名稱,或使用 "any" 表示注入到任意資源上下文中。


2. 提供的 API 函式

API 名稱
說明

MachoInjectResource(resource, code)

code 字串注入到指定的 resource 中執行。在資源上下文中執行,因此無法使用 Macho 自身隔離環境的函式或資料。

MachoIsolatedInject(code)

混合使用 Macho 的隔離環境執行 code,可用於呼叫 MachoWebRequest 等。

MachoResourceInjectable(resource)

回傳布林值,表明指定資源是否存在且可注入。

MachoResourceStop(resource)

停止一個資源,相當於在選單中執行 “macho-stop”。該文件針對這功能故意寫得較少資訊。

MachoResourceStart(resource)

啟動先前 macho-stop 停止的資源。

MachoInjectResourceRaw(resource, code)

無繞過的執行API

MachoInjectThread(type,resource,file,code)

讓您可以透過 file 參數(即資源視圖中顯示的執行緒名稱)直接將程式碼注入正在執行的執行緒。您將能夠存取全域變數、局部變數等(​​設定 type = 0)。

MachoInjectResource2(type,resource,code)

MachoInjectResource 類似功能上添加了 Type


3. 完整檔案注入方式

在 Lua 檔案的首行添加以下指令,可注入整個檔案內容到指定資源中。請注意 resource 必須是字面常數,例如 "any"

[MachoHijackResource(resource)]

此方式將注入完整檔案內容,使其以指定資源的上下文執行。


總結整理

項目
說明

功能

可在合法資源上下文內執行程式碼,存取資源全域函式與資料

核心 API

MachoInjectResource, MachoIsolatedInject, MachoResourceInjectable, MachoResourceStop, MachoResourceStart

隔離環境差異

注入執行(MachoInjectResource)失去對 Macho 隔離 API 的存取能力;隔離注入(MachoIsolatedInject)則保留 Macho 隔離能力

用途範例

注入觸發事件、偵測資源是否可注入、停止或啟動資源

整檔注入

[MachoHijackResource(resource)] 可將整個檔案注入指定資源中執行

最后更新于