Reference map for optional EyeAuras.FridaSdk APIs: Frida devices, sessions,
scripts, Frida Gadget payloads, Frida-backed IProcess adapters, and CAgent
native named-pipe process readers.
FridaContainerExtensionsFridaAgentProcess: an IProcess adapter over an existing Frida session.WHProcess is an experimental x64 GUI-process IProcess backend that uses aFor script mini-apps, EyeAuras.FridaSdk has two required setup steps when
using Frida SDK services:
EyeAuras.FridaSdk.AddNewExtension<FridaContainerExtensions>();
var frida = GetService<IFridaExperimentalApi>();
Do not assume IFridaExperimentalApi or Frida binary helpers are available from
DI just because the package compiles. Without FridaContainerExtensions,
service resolution can fail or return an incomplete host setup.
CAgentProcess.ByProcessId(...) is a static process-reader factory from the
same package, but any script that also resolves Frida SDK services should still
add FridaContainerExtensions first.
| Layer | Use for | Primary APIs |
|---|---|---|
| Frida session/script | Instrumentation, hooks, custom JavaScript inside target process | IFridaExperimentalApi, IFridaSession, IFridaScript, IFridaLiveScript |
| Frida Gadget | Attach to an injected/embedded Frida runtime by local port | FridaSdkBinaries, AttachByLocalPort |
| Frida-backed process reader | Use Frida session as IProcess for memory/reverse-engineering tools |
FridaAgentProcess, FridaAgentRpcType, FridaMemoryBackend |
| CAgent process reader | Use native DLL + named-pipe RPC for memory/process-control operations | CAgentProcess, ICAgentProcess, IProcessControlApi |
| WH process reader | Use a GUI window thread and Windows hook transport for experimental low-permission memory/process-control probes and x64 manual mapping | WHProcess, WHProcess.ByWindowHandle, WHProcess.ExecuteCode, IProcessSupportsManualMapping |
IProcess.WHProcess.WHProcess when the target meetsIFridaExperimentalApi - managed entry point for Frida operations.FridaExperimentalApi - default implementation.GetDevices() - list available Frida devices.GetLocalDevice() - get local Frida device.GetLocalProcesses() - list local processes visible to Frida.GetRemoteDevice(...) - connect to remote Frida server/device.AttachByLocalProcessId(...) - attach Frida session to a local process.AttachByLocalProcessName(...) - resolve and attach by process name.AttachByLocalPort(...) - connect to Frida Gadget/server on local port.IFridaDevice - Frida device abstraction.IFridaProcess - Frida-visible process info.IFridaSession - attached process session, owns scripts, detaches on disposal.IFridaScript - loaded Frida JavaScript with Load, Unload, Post,PostWithData, Rpc, Rpc<T>, Eternalize, debugger controls, and messageIBasicFridaScript - smaller script surface used by agent wrappers.IFridaLiveScript - file/observable-backed script that reloads when contentFridaContainerExtensions - optional DI/container registration for the SDK.FridaSdkBinaries provides embedded Frida Gadget DLL bytes.GetLibraryForX86(...), GetLibraryForX64(...) - full Gadget payloads.GetSlimLibraryForX86(...), GetSlimLibraryForX64(...) - slim payloads.AttachByLocalPort(...).FridaAgentProcess.BySession(...) adapts an existing IFridaSession toIProcess.FridaMemoryBackend performs reads/writes through the agent RPC.FridaAgentRpcType selects transport:
Default / Frida - Frida built-in RPC.NamedPipeAsServer / NamedPipeAsClient - managed/TypeScript named-pipeNativeNamedPipeAsClient / NativeCompositeNamedPipeAsClient - native-styleIProcess.EAF_RPC_C_{pid}.CAgentProcess.ByProcessId(processId, composite = false) connects to thatCAgentProcess.ByPipeName(pipeName, composite = false) connects by explicitCAgentProcess implements ICAgentProcess, IProcess, and process-controlIFridaExperimentalApi.GetCAgentLibraryForX64() andGetCAgentLibraryForX86() return embedded CAgent DLL bytes.LoadLibrary, FreeLibrary, remote threadEyeAuras.FridaSdk.CAgent - native C++ DLL that exposes named-pipe RPC.EyeAuras.FridaSdk.CAgent.Trampoline - native loader/trampoline/proxy payloadEyeAuras.FridaSdk.SimpleAgent - simple native agent/sample/test project.WHProcess.ByWindowHandle(hwnd) is the primary attach route and requires anWHProcess.ByProcessId(pid) and WHProcess.ByThreadId(tid) are convenienceWHProcess implements IProcess for memory reads/writes, modules, threads,WHProcess.ExecuteCode(startAddress, parameter) calls an already-staged x64parameterRCX. Use it only for tiny routines that return immediately.IProcessControlApi on WHProcess supports gradual control primitives suchCreateThread when the WHWHProcess implements IProcessSupportsManualMapping for x64 targets. WHIProcessControlApi.ExecuteCode(...) for synchronousFridaContainerExtensions.IFridaExperimentalApi.AttachByLocalProcessId, AttachByLocalProcessName, orAttachByLocalPort.FridaAgentProcess.BySession(session, rpcType).ProcessId and IsValid.IProcess to memory, ReProcess, or reverse-engineering UI code.AttachByLocalPort(port).FridaContainerExtensions if the script resolvesIFridaExperimentalApi to obtain CAgent DLL bytes or other SDK services.CAgentProcess.ByProcessId(pid) or ByPipeName(...).ProcessId matches the expected process.IProcess/IProcessControlApi surface.WHProcess.ByWindowHandle(...),ByProcessId(...), or ByThreadId(...).WHProcess.IFridaExperimentalApi.GetCAgentLibraryForX64().WHProcess.InjectDllViaManualMapping(bytes).CAgentProcess.ByProcessId(pid) and validate the reported PIDAddNewExtension<FridaContainerExtensions>() as the first Frida SDKFridaAgentProcess when there is already a Frida session and the nextIProcess.CAgentProcess; the factoryCreateThread(...); the mapper needsExecuteCode(...) completion before reading return buffers andIFridaExperimentalApi before addingFridaContainerExtensions.EyeAuras.FridaSdkEyeAuras.FridaSdk.BinariesEyeAuras.FridaSdk.CAgentEyeAuras.FridaSdk.CAgent.TrampolineIFridaExperimentalApiFridaExperimentalApiIFridaDeviceIFridaProcessIFridaSessionIFridaScriptIBasicFridaScriptIFridaLiveScriptFridaAgentProcessIFridaAgentProcessFridaAgentRpcTypeFridaMemoryBackendFridaSessionExtensionsFridaSdkBinariesCAgentProcessICAgentProcessIProcessControlApiIProcessSupportsManualMappingWHProcessWHProcess.ExecuteCodeWHProcess.InjectDllViaManualMappingFridaAgentScriptViaNamedPipeFridaCompositeNamedPipeRpcFridaContainerExtensionsmemory/processes.mdreverse-engineering/reprocess.mdscripting/runtime.md