The frida-core API consumed by bindings like frida-python, frida-qml, etc. · GitHub
Skip to content

Instantly share code, notes, and snippets.

@oleavr
Last active January 20, 2024 03:15
Show Gist options
  • Save oleavr/e6af8791adbef8fbde06 to your computer and use it in GitHub Desktop.
Save oleavr/e6af8791adbef8fbde06 to your computer and use it in GitHub Desktop.
The frida-core API consumed by bindings like frida-python, frida-qml, etc.
[CCode (cheader_filename = "frida-core.h", cprefix = "Frida", lower_case_cprefix = "frida_")]
namespace Frida {
public static void init ();
public static void shutdown ();
public static void deinit ();
public static unowned GLib.MainContext get_main_context ();
public class DeviceManager : GLib.Object {
public DeviceManager ();
public async void close (GLib.Cancellable? cancellable = null) throws GLib.IOError;
public void close_sync (GLib.Cancellable? cancellable = null) throws GLib.IOError;
public async Frida.Device get_device_by_id (string id, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Device get_device_by_id_sync (string id, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Device get_device_by_type (Frida.DeviceType type, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Device get_device_by_type_sync (Frida.DeviceType type, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Device get_device (Frida.DeviceManager.Predicate predicate, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Device get_device_sync (Frida.DeviceManager.Predicate predicate, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Device? find_device_by_id (string id, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Device? find_device_by_id_sync (string id, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Device? find_device_by_type (Frida.DeviceType type, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Device? find_device_by_type_sync (Frida.DeviceType type, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Device? find_device (Frida.DeviceManager.Predicate predicate, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Device? find_device_sync (Frida.DeviceManager.Predicate predicate, int timeout = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.DeviceList enumerate_devices (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.DeviceList enumerate_devices_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Device add_remote_device (string address, Frida.RemoteDeviceOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Device add_remote_device_sync (string address, Frida.RemoteDeviceOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void remove_remote_device (string address, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void remove_remote_device_sync (string address, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public delegate bool Predicate (Frida.Device device);
public signal void added (Frida.Device device);
public signal void changed ();
public signal void removed (Frida.Device device);
}
public class DeviceList : GLib.Object {
public int size ();
public new Frida.Device @get (int index);
}
public class Device : GLib.Object {
public string id { get; construct; }
public string name { get; construct; }
public GLib.Variant? icon { get; construct; }
public Frida.DeviceType dtype { get; construct; }
public Frida.Bus bus { get; }
public weak Frida.DeviceManager? manager { get; construct; }
public bool is_lost ();
public async GLib.HashTable<string,GLib.Variant> query_system_parameters (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public GLib.HashTable<string,GLib.Variant> query_system_parameters_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Application? get_frontmost_application (Frida.FrontmostQueryOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Application? get_frontmost_application_sync (Frida.FrontmostQueryOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.ApplicationList enumerate_applications (Frida.ApplicationQueryOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.ApplicationList enumerate_applications_sync (Frida.ApplicationQueryOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Process get_process_by_pid (uint pid, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Process get_process_by_pid_sync (uint pid, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Process get_process_by_name (string name, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Process get_process_by_name_sync (string name, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Process get_process (Frida.Device.ProcessPredicate predicate, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Process get_process_sync (Frida.Device.ProcessPredicate predicate, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Process? find_process_by_pid (uint pid, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Process? find_process_by_pid_sync (uint pid, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Process? find_process_by_name (string name, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Process? find_process_by_name_sync (string name, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Process? find_process (Frida.Device.ProcessPredicate predicate, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Process? find_process_sync (Frida.Device.ProcessPredicate predicate, Frida.ProcessMatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.ProcessList enumerate_processes (Frida.ProcessQueryOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.ProcessList enumerate_processes_sync (Frida.ProcessQueryOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void enable_spawn_gating (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void enable_spawn_gating_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void disable_spawn_gating (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void disable_spawn_gating_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.SpawnList enumerate_pending_spawn (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.SpawnList enumerate_pending_spawn_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.ChildList enumerate_pending_children (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.ChildList enumerate_pending_children_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async uint spawn (string program, Frida.SpawnOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public uint spawn_sync (string program, Frida.SpawnOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void input (uint pid, GLib.Bytes data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void input_sync (uint pid, GLib.Bytes data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void resume (uint pid, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void resume_sync (uint pid, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void kill (uint pid, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void kill_sync (uint pid, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Session attach (uint pid, Frida.SessionOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Session attach_sync (uint pid, Frida.SessionOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async uint inject_library_file (uint pid, string path, string entrypoint, string data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public uint inject_library_file_sync (uint pid, string path, string entrypoint, string data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async uint inject_library_blob (uint pid, GLib.Bytes blob, string entrypoint, string data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public uint inject_library_blob_sync (uint pid, GLib.Bytes blob, string entrypoint, string data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async GLib.IOStream open_channel (string address, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public GLib.IOStream open_channel_sync (string address, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.HostSession get_host_session (GLib.Cancellable? cancellable) throws Frida.Error, GLib.IOError;
public Frida.HostSession get_host_session_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public delegate bool ProcessPredicate (Frida.Process process);
public signal void child_added (Frida.Child child);
public signal void child_removed (Frida.Child child);
public signal void lost ();
public signal void output (uint pid, int fd, GLib.Bytes data);
public signal void process_crashed (Frida.Crash crash);
public signal void spawn_added (Frida.Spawn spawn);
public signal void spawn_removed (Frida.Spawn spawn);
public signal void uninjected (uint id);
}
public class RemoteDeviceOptions : GLib.Object {
public GLib.TlsCertificate? certificate { get; set; }
public string? origin { get; set; }
public string? token { get; set; }
public int keepalive_interval { get; set; }
public RemoteDeviceOptions ();
}
public class ApplicationList : GLib.Object {
public int size ();
public new Frida.Application @get (int index);
}
public class Application : GLib.Object {
public string identifier { get; construct; }
public string name { get; construct; }
public uint pid { get; construct; }
public GLib.HashTable<string,GLib.Variant> parameters { get; construct; }
}
public class ProcessList : GLib.Object {
public int size ();
public new Frida.Process @get (int index);
}
public class Process : GLib.Object {
public uint pid { get; construct; }
public string name { get; construct; }
public GLib.HashTable<string,GLib.Variant> parameters { get; construct; }
}
public class ProcessMatchOptions : GLib.Object {
public int timeout { get; set; }
public Frida.Scope scope { get; set; }
public ProcessMatchOptions ();
}
public class SpawnOptions : GLib.Object {
public string[]? argv { get; set; }
public string[]? envp { get; set; }
public string[]? env { get; set; }
public string? cwd { get; set; }
public Frida.Stdio stdio { get; set; }
public GLib.HashTable<string,GLib.Variant> aux { get; set; }
public SpawnOptions ();
}
public class FrontmostQueryOptions : GLib.Object {
public Frida.Scope scope { get; set; }
public FrontmostQueryOptions ();
}
public class ApplicationQueryOptions : GLib.Object {
public Frida.Scope scope { get; set; }
public ApplicationQueryOptions ();
public void select_identifier (string identifier);
public bool has_selected_identifiers ();
public void enumerate_selected_identifiers (GLib.Func<string> func);
}
public class ProcessQueryOptions : GLib.Object {
public Frida.Scope scope { get; set; }
public ProcessQueryOptions ();
public void select_pid (uint pid);
public bool has_selected_pids ();
public void enumerate_selected_pids (GLib.Func<uint> func);
}
public class SessionOptions : GLib.Object {
public Frida.Realm realm { get; set; }
public uint persist_timeout { get; set; }
public SessionOptions ();
}
public class SpawnList : GLib.Object {
public int size ();
public new Frida.Spawn @get (int index);
}
public class Spawn : GLib.Object {
public uint pid { get; construct; }
public string? identifier { get; construct; }
}
public class ChildList : GLib.Object {
public int size ();
public new Frida.Child @get (int index);
}
public class Child : GLib.Object {
public uint pid { get; construct; }
public uint parent_pid { get; construct; }
public Frida.ChildOrigin origin { get; construct; }
public string? identifier { get; construct; }
public string? path { get; construct; }
public string[]? argv { get; construct; }
public string[]? envp { get; construct; }
}
public class Crash : GLib.Object {
public uint pid { get; construct; }
public string process_name { get; construct; }
public string summary { get; construct; }
public string report { get; construct; }
public GLib.HashTable<string,GLib.Variant> parameters { get; construct; }
}
public class Bus : GLib.Object {
public weak Frida.Device device { get; construct; }
public bool is_detached ();
public async void attach (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void attach_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void post (string json, GLib.Bytes? data = null);
public signal void detached ();
public signal void message (string json, GLib.Bytes? data);
}
public class Session : GLib.Object, Frida.AgentMessageSink {
public uint pid { get; construct; }
public uint persist_timeout { get; construct; }
public weak Frida.Device device { get; construct; }
public Frida.AgentSessionId id { get; construct; }
public bool is_detached ();
public async void detach (GLib.Cancellable? cancellable = null) throws GLib.IOError;
public void detach_sync (GLib.Cancellable? cancellable = null) throws GLib.IOError;
public async void resume (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void resume_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void enable_child_gating (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void enable_child_gating_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void disable_child_gating (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void disable_child_gating_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Script create_script (string source, Frida.ScriptOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Script create_script_sync (string source, Frida.ScriptOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.Script create_script_from_bytes (GLib.Bytes bytes, Frida.ScriptOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.Script create_script_from_bytes_sync (GLib.Bytes bytes, Frida.ScriptOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async GLib.Bytes compile_script (string source, Frida.ScriptOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public GLib.Bytes compile_script_sync (string source, Frida.ScriptOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async GLib.Bytes snapshot_script (string embed_script, Frida.SnapshotOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public GLib.Bytes snapshot_script_sync (string embed_script, Frida.SnapshotOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void setup_peer_connection (Frida.PeerOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void setup_peer_connection_sync (Frida.PeerOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async Frida.PortalMembership join_portal (string address, Frida.PortalOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public Frida.PortalMembership join_portal_sync (string address, Frida.PortalOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public signal void detached (Frida.SessionDetachReason reason, Frida.Crash? crash);
}
public class Script : GLib.Object {
public Frida.AgentScriptId id { get; construct; }
public bool is_destroyed ();
public async void load (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void load_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void unload (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void unload_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void eternalize (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void eternalize_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void post (string json, GLib.Bytes? data = null);
public async void enable_debugger (uint16 port = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void enable_debugger_sync (uint16 port = 0, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void disable_debugger (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void disable_debugger_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public signal void destroyed ();
public signal void message (string json, GLib.Bytes? data);
}
public class SnapshotOptions : GLib.Object {
public string? warmup_script { get; set; }
public Frida.ScriptRuntime runtime { get; set; }
public SnapshotOptions ();
}
public class ScriptOptions : GLib.Object {
public string? name { get; set; }
public GLib.Bytes? snapshot { get; set; }
public Frida.ScriptRuntime runtime { get; set; }
public ScriptOptions ();
}
public class PeerOptions : GLib.Object {
public string? stun_server { get; set; }
public PeerOptions ();
public void clear_relays ();
public void add_relay (Frida.Relay relay);
public void enumerate_relays (GLib.Func<Frida.Relay> func);
}
public class Relay : GLib.Object {
public string address { get; construct; }
public string username { get; construct; }
public string password { get; construct; }
public Frida.RelayKind kind { get; construct; }
public Relay (string address, string username, string password, Frida.RelayKind kind);
}
public class PortalOptions : GLib.Object {
public GLib.TlsCertificate? certificate { get; set; }
public string? token { get; set; }
public string[]? acl { get; set; }
public PortalOptions ();
}
public class PortalMembership : GLib.Object {
public uint id { get; construct; }
public async void terminate (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void terminate_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
}
public class RpcClient : GLib.Object {
public weak Frida.RpcPeer peer { get; construct; }
public RpcClient (Frida.RpcPeer peer);
public async Json.Node call (string method, Json.Node[] args, GLib.Cancellable? cancellable) throws Frida.Error, GLib.IOError;
public bool try_handle_message (string json);
}
public interface RpcPeer : GLib.Object {
public abstract async void post_rpc_message (string json, GLib.Cancellable? cancellable) throws Frida.Error, GLib.IOError;
}
public interface Injector : GLib.Object {
public static Frida.Injector @new ();
public abstract async void close (GLib.Cancellable? cancellable = null) throws GLib.IOError;
public void close_sync (GLib.Cancellable? cancellable = null) throws GLib.IOError;
public abstract async uint inject_library_file (uint pid, string path, string entrypoint, string data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public uint inject_library_file_sync (uint pid, string path, string entrypoint, string data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public abstract async uint inject_library_blob (uint pid, GLib.Bytes blob, string entrypoint, string data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public uint inject_library_blob_sync (uint pid, GLib.Bytes blob, string entrypoint, string data, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public abstract async void demonitor (uint id, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void demonitor_sync (uint id, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public abstract async uint demonitor_and_clone_state (uint id, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public uint demonitor_and_clone_state_sync (uint id, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public abstract async void recreate_thread (uint pid, uint id, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void recreate_thread_sync (uint pid, uint id, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public static Frida.Injector new_inprocess ();
public signal void uninjected (uint id);
}
public class ControlService : GLib.Object {
public Frida.HostSession host_session { get; construct; }
public Frida.EndpointParameters endpoint_params { get; construct; }
public Frida.ControlServiceOptions options { get; construct; }
public ControlService (Frida.EndpointParameters endpoint_params, Frida.ControlServiceOptions? options = null);
public async void start (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void start_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void stop (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void stop_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public ControlService.with_host_session (Frida.HostSession host_session, Frida.EndpointParameters endpoint_params, Frida.ControlServiceOptions? options = null);
}
public class ControlServiceOptions : GLib.Object {
public bool enable_preload { get; set; }
public bool report_crashes { get; set; }
public ControlServiceOptions ();
}
public class PortalService : GLib.Object {
public Frida.Device device { get; }
public Frida.EndpointParameters cluster_params { get; construct; }
public Frida.EndpointParameters? control_params { get; construct; }
public PortalService (Frida.EndpointParameters cluster_params, Frida.EndpointParameters? control_params = null);
public async void start (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void start_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void stop (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void stop_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void kick (uint connection_id);
public void post (uint connection_id, string json, GLib.Bytes? data = null);
public void narrowcast (string tag, string json, GLib.Bytes? data = null);
public void broadcast (string json, GLib.Bytes? data = null);
public string[]? enumerate_tags (uint connection_id);
public void tag (uint connection_id, string tag);
public void untag (uint connection_id, string tag);
public signal void authenticated (uint connection_id, string session_info);
public signal void controller_connected (uint connection_id, GLib.SocketAddress remote_address);
public signal void controller_disconnected (uint connection_id, GLib.SocketAddress remote_address);
public signal void message (uint connection_id, string json, GLib.Bytes? data);
public signal void node_connected (uint connection_id, GLib.SocketAddress remote_address);
public signal void node_disconnected (uint connection_id, GLib.SocketAddress remote_address);
public signal void node_joined (uint connection_id, Frida.Application application);
public signal void node_left (uint connection_id, Frida.Application application);
public signal void subscribe (uint connection_id);
}
public class EndpointParameters : GLib.Object {
public string? address { get; construct; }
public uint16 port { get; construct; }
public GLib.TlsCertificate? certificate { get; construct; }
public string? origin { get; construct; }
public Frida.AuthenticationService? auth_service { get; construct; }
public GLib.File? asset_root { get; set; }
public EndpointParameters (string? address = null, uint16 port = 0, GLib.TlsCertificate? certificate = null, string? origin = null, Frida.AuthenticationService? auth_service = null, GLib.File? asset_root = null);
}
public interface AuthenticationService : GLib.Object {
public abstract async string authenticate (string token, GLib.Cancellable? cancellable) throws GLib.Error;
}
public class StaticAuthenticationService : GLib.Object, Frida.AuthenticationService {
public string token_hash { get; construct; }
public StaticAuthenticationService (string token);
}
public class FileMonitor : GLib.Object {
public string path { get; construct; }
public FileMonitor (string path);
public async void enable (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void enable_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void disable (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void disable_sync (GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public signal void change (string file_path, string? other_file_path, GLib.FileMonitorEvent event);
}
public class Compiler : GLib.Object {
public Frida.DeviceManager manager { get; construct; }
public Compiler (Frida.DeviceManager manager);
public async string build (string entrypoint, Frida.BuildOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public string build_sync (string entrypoint, Frida.BuildOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public async void watch (string entrypoint, Frida.WatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public void watch_sync (string entrypoint, Frida.WatchOptions? options = null, GLib.Cancellable? cancellable = null) throws Frida.Error, GLib.IOError;
public delegate void EachAgentZipEntryFunc (string name, GLib.Bytes? contents);
public signal void diagnostics (GLib.Variant diagnostics);
public signal void finished ();
public signal void output (string bundle);
public signal void starting ();
}
public class CompilerOptions : GLib.Object {
public string? project_root { get; set; }
public Frida.SourceMaps source_maps { get; set; }
public Frida.JsCompression compression { get; set; }
public CompilerOptions ();
}
public class BuildOptions : Frida.CompilerOptions {
public BuildOptions ();
}
public class WatchOptions : Frida.CompilerOptions {
public WatchOptions ();
}
public errordomain Error {
SERVER_NOT_RUNNING,
EXECUTABLE_NOT_FOUND,
EXECUTABLE_NOT_SUPPORTED,
PROCESS_NOT_FOUND,
PROCESS_NOT_RESPONDING,
INVALID_ARGUMENT,
INVALID_OPERATION,
PERMISSION_DENIED,
ADDRESS_IN_USE,
TIMED_OUT,
NOT_SUPPORTED,
PROTOCOL,
TRANSPORT
}
public enum Runtime {
GLIB,
OTHER;
public static Frida.Runtime from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum DeviceType {
LOCAL,
REMOTE,
USB;
public static Frida.DeviceType from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum SourceMaps {
INCLUDED,
OMITTED;
public static Frida.SourceMaps from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum JsCompression {
NONE,
TERSER;
public static Frida.JsCompression from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum AgentMessageKind {
SCRIPT,
DEBUGGER
}
public enum ChildOrigin {
FORK,
EXEC,
SPAWN;
public static Frida.ChildOrigin from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum PeerSetup {
ACTIVE,
PASSIVE,
ACTPASS,
HOLDCONN;
public static Frida.PeerSetup from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum PortConflictBehavior {
FAIL,
PICK_NEXT
}
public enum Realm {
NATIVE,
EMULATED;
public static Frida.Realm from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum RelayKind {
TURN_UDP,
TURN_TCP,
TURN_TLS
}
public enum Scope {
MINIMAL,
METADATA,
FULL;
public static Frida.Scope from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum ScriptRuntime {
DEFAULT,
QJS,
V8;
public static Frida.ScriptRuntime from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum SessionDetachReason {
APPLICATION_REQUESTED,
PROCESS_REPLACED,
PROCESS_TERMINATED,
CONNECTION_TERMINATED,
DEVICE_LOST;
public static Frida.SessionDetachReason from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum Stdio {
INHERIT,
PIPE;
public static Frida.Stdio from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum UnloadPolicy {
IMMEDIATE,
RESIDENT,
DEFERRED;
public static Frida.UnloadPolicy from_nick (string nick) throws Frida.Error;
public string to_nick ();
}
public enum WebServiceFlavor {
CONTROL,
CLUSTER
}
public enum WebServiceTransport {
PLAIN,
TLS
}
}
#ifndef __FRIDA_CORE_H__
#define __FRIDA_CORE_H__
#include <glib.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <json-glib/json-glib.h>
G_BEGIN_DECLS
typedef struct _FridaDeviceManager FridaDeviceManager;
typedef struct _FridaDeviceList FridaDeviceList;
typedef struct _FridaDevice FridaDevice;
typedef struct _FridaRemoteDeviceOptions FridaRemoteDeviceOptions;
typedef struct _FridaApplicationList FridaApplicationList;
typedef struct _FridaApplication FridaApplication;
typedef struct _FridaProcessList FridaProcessList;
typedef struct _FridaProcess FridaProcess;
typedef struct _FridaProcessMatchOptions FridaProcessMatchOptions;
typedef struct _FridaSpawnOptions FridaSpawnOptions;
typedef struct _FridaFrontmostQueryOptions FridaFrontmostQueryOptions;
typedef struct _FridaApplicationQueryOptions FridaApplicationQueryOptions;
typedef struct _FridaProcessQueryOptions FridaProcessQueryOptions;
typedef struct _FridaSessionOptions FridaSessionOptions;
typedef struct _FridaSpawnList FridaSpawnList;
typedef struct _FridaSpawn FridaSpawn;
typedef struct _FridaChildList FridaChildList;
typedef struct _FridaChild FridaChild;
typedef struct _FridaCrash FridaCrash;
typedef struct _FridaBus FridaBus;
typedef struct _FridaSession FridaSession;
typedef struct _FridaScript FridaScript;
typedef struct _FridaSnapshotOptions FridaSnapshotOptions;
typedef struct _FridaScriptOptions FridaScriptOptions;
typedef struct _FridaPeerOptions FridaPeerOptions;
typedef struct _FridaRelay FridaRelay;
typedef struct _FridaPortalOptions FridaPortalOptions;
typedef struct _FridaPortalMembership FridaPortalMembership;
typedef struct _FridaRpcClient FridaRpcClient;
typedef struct _FridaRpcPeer FridaRpcPeer;
typedef struct _FridaRpcPeerIface FridaRpcPeerIface;
typedef struct _FridaInjector FridaInjector;
typedef struct _FridaControlService FridaControlService;
typedef struct _FridaControlServiceOptions FridaControlServiceOptions;
typedef struct _FridaPortalService FridaPortalService;
typedef struct _FridaEndpointParameters FridaEndpointParameters;
typedef struct _FridaAuthenticationService FridaAuthenticationService;
typedef struct _FridaAuthenticationServiceIface FridaAuthenticationServiceIface;
typedef struct _FridaStaticAuthenticationService FridaStaticAuthenticationService;
typedef struct _FridaFileMonitor FridaFileMonitor;
typedef struct _FridaCompiler FridaCompiler;
typedef struct _FridaCompilerOptions FridaCompilerOptions;
typedef struct _FridaBuildOptions FridaBuildOptions;
typedef struct _FridaWatchOptions FridaWatchOptions;
typedef struct _FridaHostSession FridaHostSession;
typedef enum {
FRIDA_RUNTIME_GLIB,
FRIDA_RUNTIME_OTHER
} FridaRuntime;
typedef enum {
FRIDA_DEVICE_TYPE_LOCAL,
FRIDA_DEVICE_TYPE_REMOTE,
FRIDA_DEVICE_TYPE_USB
} FridaDeviceType;
typedef enum {
FRIDA_SOURCE_MAPS_INCLUDED,
FRIDA_SOURCE_MAPS_OMITTED
} FridaSourceMaps;
typedef enum {
FRIDA_JS_COMPRESSION_NONE,
FRIDA_JS_COMPRESSION_TERSER
} FridaJsCompression;
typedef enum {
FRIDA_AGENT_MESSAGE_KIND_SCRIPT = 1,
FRIDA_AGENT_MESSAGE_KIND_DEBUGGER
} FridaAgentMessageKind;
typedef enum {
FRIDA_CHILD_ORIGIN_FORK,
FRIDA_CHILD_ORIGIN_EXEC,
FRIDA_CHILD_ORIGIN_SPAWN
} FridaChildOrigin;
typedef enum {
FRIDA_PEER_SETUP_ACTIVE,
FRIDA_PEER_SETUP_PASSIVE,
FRIDA_PEER_SETUP_ACTPASS,
FRIDA_PEER_SETUP_HOLDCONN
} FridaPeerSetup;
typedef enum {
FRIDA_PORT_CONFLICT_BEHAVIOR_FAIL,
FRIDA_PORT_CONFLICT_BEHAVIOR_PICK_NEXT
} FridaPortConflictBehavior;
typedef enum {
FRIDA_REALM_NATIVE,
FRIDA_REALM_EMULATED
} FridaRealm;
typedef enum {
FRIDA_RELAY_KIND_TURN_UDP,
FRIDA_RELAY_KIND_TURN_TCP,
FRIDA_RELAY_KIND_TURN_TLS
} FridaRelayKind;
typedef enum {
FRIDA_SCOPE_MINIMAL,
FRIDA_SCOPE_METADATA,
FRIDA_SCOPE_FULL
} FridaScope;
typedef enum {
FRIDA_SCRIPT_RUNTIME_DEFAULT,
FRIDA_SCRIPT_RUNTIME_QJS,
FRIDA_SCRIPT_RUNTIME_V8
} FridaScriptRuntime;
typedef enum {
FRIDA_SESSION_DETACH_REASON_APPLICATION_REQUESTED = 1,
FRIDA_SESSION_DETACH_REASON_PROCESS_REPLACED,
FRIDA_SESSION_DETACH_REASON_PROCESS_TERMINATED,
FRIDA_SESSION_DETACH_REASON_CONNECTION_TERMINATED,
FRIDA_SESSION_DETACH_REASON_DEVICE_LOST
} FridaSessionDetachReason;
typedef enum {
FRIDA_STDIO_INHERIT,
FRIDA_STDIO_PIPE
} FridaStdio;
typedef enum {
FRIDA_UNLOAD_POLICY_IMMEDIATE,
FRIDA_UNLOAD_POLICY_RESIDENT,
FRIDA_UNLOAD_POLICY_DEFERRED
} FridaUnloadPolicy;
typedef enum {
FRIDA_WEB_SERVICE_FLAVOR_CONTROL,
FRIDA_WEB_SERVICE_FLAVOR_CLUSTER
} FridaWebServiceFlavor;
typedef enum {
FRIDA_WEB_SERVICE_TRANSPORT_PLAIN,
FRIDA_WEB_SERVICE_TRANSPORT_TLS
} FridaWebServiceTransport;
/* Library lifetime */
void frida_init (void);
void frida_shutdown (void);
void frida_deinit (void);
GMainContext * frida_get_main_context (void);
/* Object lifetime */
void frida_unref (gpointer obj);
/* Library versioning */
void frida_version (guint * major, guint * minor, guint * micro, guint * nano);
const gchar * frida_version_string (void);
/* DeviceManager */
typedef gboolean (* FridaDeviceManagerPredicate) (FridaDevice * device, gpointer user_data);
FridaDeviceManager * frida_device_manager_new (void);
void frida_device_manager_close (FridaDeviceManager * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_device_manager_close_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
void frida_device_manager_close_sync (FridaDeviceManager * self, GCancellable * cancellable, GError ** error);
void frida_device_manager_get_device_by_id (FridaDeviceManager * self, const gchar * id, gint timeout, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaDevice * frida_device_manager_get_device_by_id_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
FridaDevice * frida_device_manager_get_device_by_id_sync (FridaDeviceManager * self, const gchar * id, gint timeout, GCancellable * cancellable, GError ** error);
void frida_device_manager_get_device_by_type (FridaDeviceManager * self, FridaDeviceType type, gint timeout, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaDevice * frida_device_manager_get_device_by_type_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
FridaDevice * frida_device_manager_get_device_by_type_sync (FridaDeviceManager * self, FridaDeviceType type, gint timeout, GCancellable * cancellable, GError ** error);
void frida_device_manager_get_device (FridaDeviceManager * self, FridaDeviceManagerPredicate predicate, gpointer predicate_target, gint timeout, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaDevice * frida_device_manager_get_device_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
FridaDevice * frida_device_manager_get_device_sync (FridaDeviceManager * self, FridaDeviceManagerPredicate predicate, gpointer predicate_target, gint timeout, GCancellable * cancellable, GError ** error);
void frida_device_manager_find_device_by_id (FridaDeviceManager * self, const gchar * id, gint timeout, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaDevice * frida_device_manager_find_device_by_id_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
FridaDevice * frida_device_manager_find_device_by_id_sync (FridaDeviceManager * self, const gchar * id, gint timeout, GCancellable * cancellable, GError ** error);
void frida_device_manager_find_device_by_type (FridaDeviceManager * self, FridaDeviceType type, gint timeout, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaDevice * frida_device_manager_find_device_by_type_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
FridaDevice * frida_device_manager_find_device_by_type_sync (FridaDeviceManager * self, FridaDeviceType type, gint timeout, GCancellable * cancellable, GError ** error);
void frida_device_manager_find_device (FridaDeviceManager * self, FridaDeviceManagerPredicate predicate, gpointer predicate_target, gint timeout, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaDevice * frida_device_manager_find_device_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
FridaDevice * frida_device_manager_find_device_sync (FridaDeviceManager * self, FridaDeviceManagerPredicate predicate, gpointer predicate_target, gint timeout, GCancellable * cancellable, GError ** error);
void frida_device_manager_enumerate_devices (FridaDeviceManager * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaDeviceList * frida_device_manager_enumerate_devices_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
FridaDeviceList * frida_device_manager_enumerate_devices_sync (FridaDeviceManager * self, GCancellable * cancellable, GError ** error);
void frida_device_manager_add_remote_device (FridaDeviceManager * self, const gchar * address, FridaRemoteDeviceOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaDevice * frida_device_manager_add_remote_device_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
FridaDevice * frida_device_manager_add_remote_device_sync (FridaDeviceManager * self, const gchar * address, FridaRemoteDeviceOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_manager_remove_remote_device (FridaDeviceManager * self, const gchar * address, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_device_manager_remove_remote_device_finish (FridaDeviceManager * self, GAsyncResult * result, GError ** error);
void frida_device_manager_remove_remote_device_sync (FridaDeviceManager * self, const gchar * address, GCancellable * cancellable, GError ** error);
/* DeviceList */
gint frida_device_list_size (FridaDeviceList * self);
FridaDevice * frida_device_list_get (FridaDeviceList * self, gint index);
/* Device */
typedef gboolean (* FridaDeviceProcessPredicate) (FridaProcess * process, gpointer user_data);
const gchar * frida_device_get_id (FridaDevice * self);
const gchar * frida_device_get_name (FridaDevice * self);
GVariant * frida_device_get_icon (FridaDevice * self);
FridaDeviceType frida_device_get_dtype (FridaDevice * self);
FridaBus * frida_device_get_bus (FridaDevice * self);
FridaDeviceManager * frida_device_get_manager (FridaDevice * self);
gboolean frida_device_is_lost (FridaDevice * self);
void frida_device_query_system_parameters (FridaDevice * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
GHashTable * frida_device_query_system_parameters_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
GHashTable * frida_device_query_system_parameters_sync (FridaDevice * self, GCancellable * cancellable, GError ** error);
void frida_device_get_frontmost_application (FridaDevice * self, FridaFrontmostQueryOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaApplication * frida_device_get_frontmost_application_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaApplication * frida_device_get_frontmost_application_sync (FridaDevice * self, FridaFrontmostQueryOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_enumerate_applications (FridaDevice * self, FridaApplicationQueryOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaApplicationList * frida_device_enumerate_applications_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaApplicationList * frida_device_enumerate_applications_sync (FridaDevice * self, FridaApplicationQueryOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_get_process_by_pid (FridaDevice * self, guint pid, FridaProcessMatchOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaProcess * frida_device_get_process_by_pid_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaProcess * frida_device_get_process_by_pid_sync (FridaDevice * self, guint pid, FridaProcessMatchOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_get_process_by_name (FridaDevice * self, const gchar * name, FridaProcessMatchOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaProcess * frida_device_get_process_by_name_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaProcess * frida_device_get_process_by_name_sync (FridaDevice * self, const gchar * name, FridaProcessMatchOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_get_process (FridaDevice * self, FridaDeviceProcessPredicate predicate, gpointer predicate_target, FridaProcessMatchOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaProcess * frida_device_get_process_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaProcess * frida_device_get_process_sync (FridaDevice * self, FridaDeviceProcessPredicate predicate, gpointer predicate_target, FridaProcessMatchOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_find_process_by_pid (FridaDevice * self, guint pid, FridaProcessMatchOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaProcess * frida_device_find_process_by_pid_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaProcess * frida_device_find_process_by_pid_sync (FridaDevice * self, guint pid, FridaProcessMatchOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_find_process_by_name (FridaDevice * self, const gchar * name, FridaProcessMatchOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaProcess * frida_device_find_process_by_name_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaProcess * frida_device_find_process_by_name_sync (FridaDevice * self, const gchar * name, FridaProcessMatchOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_find_process (FridaDevice * self, FridaDeviceProcessPredicate predicate, gpointer predicate_target, FridaProcessMatchOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaProcess * frida_device_find_process_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaProcess * frida_device_find_process_sync (FridaDevice * self, FridaDeviceProcessPredicate predicate, gpointer predicate_target, FridaProcessMatchOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_enumerate_processes (FridaDevice * self, FridaProcessQueryOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaProcessList * frida_device_enumerate_processes_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaProcessList * frida_device_enumerate_processes_sync (FridaDevice * self, FridaProcessQueryOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_enable_spawn_gating (FridaDevice * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_device_enable_spawn_gating_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
void frida_device_enable_spawn_gating_sync (FridaDevice * self, GCancellable * cancellable, GError ** error);
void frida_device_disable_spawn_gating (FridaDevice * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_device_disable_spawn_gating_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
void frida_device_disable_spawn_gating_sync (FridaDevice * self, GCancellable * cancellable, GError ** error);
void frida_device_enumerate_pending_spawn (FridaDevice * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaSpawnList * frida_device_enumerate_pending_spawn_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaSpawnList * frida_device_enumerate_pending_spawn_sync (FridaDevice * self, GCancellable * cancellable, GError ** error);
void frida_device_enumerate_pending_children (FridaDevice * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaChildList * frida_device_enumerate_pending_children_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaChildList * frida_device_enumerate_pending_children_sync (FridaDevice * self, GCancellable * cancellable, GError ** error);
void frida_device_spawn (FridaDevice * self, const gchar * program, FridaSpawnOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
guint frida_device_spawn_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
guint frida_device_spawn_sync (FridaDevice * self, const gchar * program, FridaSpawnOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_input (FridaDevice * self, guint pid, GBytes * data, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_device_input_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
void frida_device_input_sync (FridaDevice * self, guint pid, GBytes * data, GCancellable * cancellable, GError ** error);
void frida_device_resume (FridaDevice * self, guint pid, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_device_resume_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
void frida_device_resume_sync (FridaDevice * self, guint pid, GCancellable * cancellable, GError ** error);
void frida_device_kill (FridaDevice * self, guint pid, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_device_kill_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
void frida_device_kill_sync (FridaDevice * self, guint pid, GCancellable * cancellable, GError ** error);
void frida_device_attach (FridaDevice * self, guint pid, FridaSessionOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaSession * frida_device_attach_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaSession * frida_device_attach_sync (FridaDevice * self, guint pid, FridaSessionOptions * options, GCancellable * cancellable, GError ** error);
void frida_device_inject_library_file (FridaDevice * self, guint pid, const gchar * path, const gchar * entrypoint, const gchar * data, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
guint frida_device_inject_library_file_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
guint frida_device_inject_library_file_sync (FridaDevice * self, guint pid, const gchar * path, const gchar * entrypoint, const gchar * data, GCancellable * cancellable, GError ** error);
void frida_device_inject_library_blob (FridaDevice * self, guint pid, GBytes * blob, const gchar * entrypoint, const gchar * data, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
guint frida_device_inject_library_blob_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
guint frida_device_inject_library_blob_sync (FridaDevice * self, guint pid, GBytes * blob, const gchar * entrypoint, const gchar * data, GCancellable * cancellable, GError ** error);
void frida_device_open_channel (FridaDevice * self, const gchar * address, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
GIOStream * frida_device_open_channel_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
GIOStream * frida_device_open_channel_sync (FridaDevice * self, const gchar * address, GCancellable * cancellable, GError ** error);
void frida_device_get_host_session (FridaDevice * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaHostSession * frida_device_get_host_session_finish (FridaDevice * self, GAsyncResult * result, GError ** error);
FridaHostSession * frida_device_get_host_session_sync (FridaDevice * self, GCancellable * cancellable, GError ** error);
/* RemoteDeviceOptions */
FridaRemoteDeviceOptions * frida_remote_device_options_new (void);
GTlsCertificate * frida_remote_device_options_get_certificate (FridaRemoteDeviceOptions * self);
const gchar * frida_remote_device_options_get_origin (FridaRemoteDeviceOptions * self);
const gchar * frida_remote_device_options_get_token (FridaRemoteDeviceOptions * self);
gint frida_remote_device_options_get_keepalive_interval (FridaRemoteDeviceOptions * self);
void frida_remote_device_options_set_certificate (FridaRemoteDeviceOptions * self, GTlsCertificate * value);
void frida_remote_device_options_set_origin (FridaRemoteDeviceOptions * self, const gchar * value);
void frida_remote_device_options_set_token (FridaRemoteDeviceOptions * self, const gchar * value);
void frida_remote_device_options_set_keepalive_interval (FridaRemoteDeviceOptions * self, gint value);
/* ApplicationList */
gint frida_application_list_size (FridaApplicationList * self);
FridaApplication * frida_application_list_get (FridaApplicationList * self, gint index);
/* Application */
const gchar * frida_application_get_identifier (FridaApplication * self);
const gchar * frida_application_get_name (FridaApplication * self);
guint frida_application_get_pid (FridaApplication * self);
GHashTable * frida_application_get_parameters (FridaApplication * self);
/* ProcessList */
gint frida_process_list_size (FridaProcessList * self);
FridaProcess * frida_process_list_get (FridaProcessList * self, gint index);
/* Process */
guint frida_process_get_pid (FridaProcess * self);
const gchar * frida_process_get_name (FridaProcess * self);
GHashTable * frida_process_get_parameters (FridaProcess * self);
/* ProcessMatchOptions */
FridaProcessMatchOptions * frida_process_match_options_new (void);
gint frida_process_match_options_get_timeout (FridaProcessMatchOptions * self);
FridaScope frida_process_match_options_get_scope (FridaProcessMatchOptions * self);
void frida_process_match_options_set_timeout (FridaProcessMatchOptions * self, gint value);
void frida_process_match_options_set_scope (FridaProcessMatchOptions * self, FridaScope value);
/* SpawnOptions */
FridaSpawnOptions * frida_spawn_options_new (void);
gchar ** frida_spawn_options_get_argv (FridaSpawnOptions * self, gint * result_length);
gchar ** frida_spawn_options_get_envp (FridaSpawnOptions * self, gint * result_length);
gchar ** frida_spawn_options_get_env (FridaSpawnOptions * self, gint * result_length);
const gchar * frida_spawn_options_get_cwd (FridaSpawnOptions * self);
FridaStdio frida_spawn_options_get_stdio (FridaSpawnOptions * self);
GHashTable * frida_spawn_options_get_aux (FridaSpawnOptions * self);
void frida_spawn_options_set_argv (FridaSpawnOptions * self, gchar ** value, gint value_length);
void frida_spawn_options_set_envp (FridaSpawnOptions * self, gchar ** value, gint value_length);
void frida_spawn_options_set_env (FridaSpawnOptions * self, gchar ** value, gint value_length);
void frida_spawn_options_set_cwd (FridaSpawnOptions * self, const gchar * value);
void frida_spawn_options_set_stdio (FridaSpawnOptions * self, FridaStdio value);
void frida_spawn_options_set_aux (FridaSpawnOptions * self, GHashTable * value);
/* FrontmostQueryOptions */
FridaFrontmostQueryOptions * frida_frontmost_query_options_new (void);
FridaScope frida_frontmost_query_options_get_scope (FridaFrontmostQueryOptions * self);
void frida_frontmost_query_options_set_scope (FridaFrontmostQueryOptions * self, FridaScope value);
/* ApplicationQueryOptions */
FridaApplicationQueryOptions * frida_application_query_options_new (void);
FridaScope frida_application_query_options_get_scope (FridaApplicationQueryOptions * self);
void frida_application_query_options_select_identifier (FridaApplicationQueryOptions * self, const gchar * identifier);
gboolean frida_application_query_options_has_selected_identifiers (FridaApplicationQueryOptions * self);
void frida_application_query_options_enumerate_selected_identifiers (FridaApplicationQueryOptions * self, GFunc func, gpointer user_data);
void frida_application_query_options_set_scope (FridaApplicationQueryOptions * self, FridaScope value);
/* ProcessQueryOptions */
FridaProcessQueryOptions * frida_process_query_options_new (void);
FridaScope frida_process_query_options_get_scope (FridaProcessQueryOptions * self);
void frida_process_query_options_select_pid (FridaProcessQueryOptions * self, guint pid);
gboolean frida_process_query_options_has_selected_pids (FridaProcessQueryOptions * self);
void frida_process_query_options_enumerate_selected_pids (FridaProcessQueryOptions * self, GFunc func, gpointer user_data);
void frida_process_query_options_set_scope (FridaProcessQueryOptions * self, FridaScope value);
/* SessionOptions */
FridaSessionOptions * frida_session_options_new (void);
FridaRealm frida_session_options_get_realm (FridaSessionOptions * self);
guint frida_session_options_get_persist_timeout (FridaSessionOptions * self);
void frida_session_options_set_realm (FridaSessionOptions * self, FridaRealm value);
void frida_session_options_set_persist_timeout (FridaSessionOptions * self, guint value);
/* SpawnList */
gint frida_spawn_list_size (FridaSpawnList * self);
FridaSpawn * frida_spawn_list_get (FridaSpawnList * self, gint index);
/* Spawn */
guint frida_spawn_get_pid (FridaSpawn * self);
const gchar * frida_spawn_get_identifier (FridaSpawn * self);
/* ChildList */
gint frida_child_list_size (FridaChildList * self);
FridaChild * frida_child_list_get (FridaChildList * self, gint index);
/* Child */
guint frida_child_get_pid (FridaChild * self);
guint frida_child_get_parent_pid (FridaChild * self);
FridaChildOrigin frida_child_get_origin (FridaChild * self);
const gchar * frida_child_get_identifier (FridaChild * self);
const gchar * frida_child_get_path (FridaChild * self);
gchar ** frida_child_get_argv (FridaChild * self, gint * result_length);
gchar ** frida_child_get_envp (FridaChild * self, gint * result_length);
/* Crash */
guint frida_crash_get_pid (FridaCrash * self);
const gchar * frida_crash_get_process_name (FridaCrash * self);
const gchar * frida_crash_get_summary (FridaCrash * self);
const gchar * frida_crash_get_report (FridaCrash * self);
GHashTable * frida_crash_get_parameters (FridaCrash * self);
/* Bus */
FridaDevice * frida_bus_get_device (FridaBus * self);
gboolean frida_bus_is_detached (FridaBus * self);
void frida_bus_attach (FridaBus * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_bus_attach_finish (FridaBus * self, GAsyncResult * result, GError ** error);
void frida_bus_attach_sync (FridaBus * self, GCancellable * cancellable, GError ** error);
void frida_bus_post (FridaBus * self, const gchar * json, GBytes * data);
/* Session */
guint frida_session_get_pid (FridaSession * self);
guint frida_session_get_persist_timeout (FridaSession * self);
FridaDevice * frida_session_get_device (FridaSession * self);
gboolean frida_session_is_detached (FridaSession * self);
void frida_session_detach (FridaSession * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_session_detach_finish (FridaSession * self, GAsyncResult * result, GError ** error);
void frida_session_detach_sync (FridaSession * self, GCancellable * cancellable, GError ** error);
void frida_session_resume (FridaSession * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_session_resume_finish (FridaSession * self, GAsyncResult * result, GError ** error);
void frida_session_resume_sync (FridaSession * self, GCancellable * cancellable, GError ** error);
void frida_session_enable_child_gating (FridaSession * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_session_enable_child_gating_finish (FridaSession * self, GAsyncResult * result, GError ** error);
void frida_session_enable_child_gating_sync (FridaSession * self, GCancellable * cancellable, GError ** error);
void frida_session_disable_child_gating (FridaSession * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_session_disable_child_gating_finish (FridaSession * self, GAsyncResult * result, GError ** error);
void frida_session_disable_child_gating_sync (FridaSession * self, GCancellable * cancellable, GError ** error);
void frida_session_create_script (FridaSession * self, const gchar * source, FridaScriptOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaScript * frida_session_create_script_finish (FridaSession * self, GAsyncResult * result, GError ** error);
FridaScript * frida_session_create_script_sync (FridaSession * self, const gchar * source, FridaScriptOptions * options, GCancellable * cancellable, GError ** error);
void frida_session_create_script_from_bytes (FridaSession * self, GBytes * bytes, FridaScriptOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaScript * frida_session_create_script_from_bytes_finish (FridaSession * self, GAsyncResult * result, GError ** error);
FridaScript * frida_session_create_script_from_bytes_sync (FridaSession * self, GBytes * bytes, FridaScriptOptions * options, GCancellable * cancellable, GError ** error);
void frida_session_compile_script (FridaSession * self, const gchar * source, FridaScriptOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
GBytes * frida_session_compile_script_finish (FridaSession * self, GAsyncResult * result, GError ** error);
GBytes * frida_session_compile_script_sync (FridaSession * self, const gchar * source, FridaScriptOptions * options, GCancellable * cancellable, GError ** error);
void frida_session_snapshot_script (FridaSession * self, const gchar * embed_script, FridaSnapshotOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
GBytes * frida_session_snapshot_script_finish (FridaSession * self, GAsyncResult * result, GError ** error);
GBytes * frida_session_snapshot_script_sync (FridaSession * self, const gchar * embed_script, FridaSnapshotOptions * options, GCancellable * cancellable, GError ** error);
void frida_session_setup_peer_connection (FridaSession * self, FridaPeerOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_session_setup_peer_connection_finish (FridaSession * self, GAsyncResult * result, GError ** error);
void frida_session_setup_peer_connection_sync (FridaSession * self, FridaPeerOptions * options, GCancellable * cancellable, GError ** error);
void frida_session_join_portal (FridaSession * self, const gchar * address, FridaPortalOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
FridaPortalMembership * frida_session_join_portal_finish (FridaSession * self, GAsyncResult * result, GError ** error);
FridaPortalMembership * frida_session_join_portal_sync (FridaSession * self, const gchar * address, FridaPortalOptions * options, GCancellable * cancellable, GError ** error);
/* Script */
gboolean frida_script_is_destroyed (FridaScript * self);
void frida_script_load (FridaScript * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_script_load_finish (FridaScript * self, GAsyncResult * result, GError ** error);
void frida_script_load_sync (FridaScript * self, GCancellable * cancellable, GError ** error);
void frida_script_unload (FridaScript * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_script_unload_finish (FridaScript * self, GAsyncResult * result, GError ** error);
void frida_script_unload_sync (FridaScript * self, GCancellable * cancellable, GError ** error);
void frida_script_eternalize (FridaScript * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_script_eternalize_finish (FridaScript * self, GAsyncResult * result, GError ** error);
void frida_script_eternalize_sync (FridaScript * self, GCancellable * cancellable, GError ** error);
void frida_script_post (FridaScript * self, const gchar * json, GBytes * data);
void frida_script_enable_debugger (FridaScript * self, guint16 port, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_script_enable_debugger_finish (FridaScript * self, GAsyncResult * result, GError ** error);
void frida_script_enable_debugger_sync (FridaScript * self, guint16 port, GCancellable * cancellable, GError ** error);
void frida_script_disable_debugger (FridaScript * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_script_disable_debugger_finish (FridaScript * self, GAsyncResult * result, GError ** error);
void frida_script_disable_debugger_sync (FridaScript * self, GCancellable * cancellable, GError ** error);
/* SnapshotOptions */
FridaSnapshotOptions * frida_snapshot_options_new (void);
const gchar * frida_snapshot_options_get_warmup_script (FridaSnapshotOptions * self);
FridaScriptRuntime frida_snapshot_options_get_runtime (FridaSnapshotOptions * self);
void frida_snapshot_options_set_warmup_script (FridaSnapshotOptions * self, const gchar * value);
void frida_snapshot_options_set_runtime (FridaSnapshotOptions * self, FridaScriptRuntime value);
/* ScriptOptions */
FridaScriptOptions * frida_script_options_new (void);
const gchar * frida_script_options_get_name (FridaScriptOptions * self);
GBytes * frida_script_options_get_snapshot (FridaScriptOptions * self);
FridaScriptRuntime frida_script_options_get_runtime (FridaScriptOptions * self);
void frida_script_options_set_name (FridaScriptOptions * self, const gchar * value);
void frida_script_options_set_snapshot (FridaScriptOptions * self, GBytes * value);
void frida_script_options_set_runtime (FridaScriptOptions * self, FridaScriptRuntime value);
/* PeerOptions */
FridaPeerOptions * frida_peer_options_new (void);
const gchar * frida_peer_options_get_stun_server (FridaPeerOptions * self);
void frida_peer_options_clear_relays (FridaPeerOptions * self);
void frida_peer_options_add_relay (FridaPeerOptions * self, FridaRelay * relay);
void frida_peer_options_enumerate_relays (FridaPeerOptions * self, GFunc func, gpointer user_data);
void frida_peer_options_set_stun_server (FridaPeerOptions * self, const gchar * value);
/* Relay */
FridaRelay * frida_relay_new (const gchar * address, const gchar * username, const gchar * password, FridaRelayKind kind);
const gchar * frida_relay_get_address (FridaRelay * self);
const gchar * frida_relay_get_username (FridaRelay * self);
const gchar * frida_relay_get_password (FridaRelay * self);
FridaRelayKind frida_relay_get_kind (FridaRelay * self);
/* PortalOptions */
FridaPortalOptions * frida_portal_options_new (void);
GTlsCertificate * frida_portal_options_get_certificate (FridaPortalOptions * self);
const gchar * frida_portal_options_get_token (FridaPortalOptions * self);
gchar ** frida_portal_options_get_acl (FridaPortalOptions * self, gint * result_length);
void frida_portal_options_set_certificate (FridaPortalOptions * self, GTlsCertificate * value);
void frida_portal_options_set_token (FridaPortalOptions * self, const gchar * value);
void frida_portal_options_set_acl (FridaPortalOptions * self, gchar ** value, gint value_length);
/* PortalMembership */
guint frida_portal_membership_get_id (FridaPortalMembership * self);
void frida_portal_membership_terminate (FridaPortalMembership * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_portal_membership_terminate_finish (FridaPortalMembership * self, GAsyncResult * result, GError ** error);
void frida_portal_membership_terminate_sync (FridaPortalMembership * self, GCancellable * cancellable, GError ** error);
/* RpcClient */
FridaRpcClient * frida_rpc_client_new (FridaRpcPeer * peer);
FridaRpcPeer * frida_rpc_client_get_peer (FridaRpcClient * self);
void frida_rpc_client_call (FridaRpcClient * self, const gchar * method, JsonNode ** args, gint args_length, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
JsonNode * frida_rpc_client_call_finish (FridaRpcClient * self, GAsyncResult * result, GError ** error);
gboolean frida_rpc_client_try_handle_message (FridaRpcClient * self, const gchar * json);
/* RpcPeer */
struct _FridaRpcPeerIface {
GTypeInterface parent_iface;
void (* post_rpc_message) (FridaRpcPeer * self, const gchar * json, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void (* post_rpc_message_finish) (FridaRpcPeer * self, GAsyncResult * result, GError ** error);
};
void frida_rpc_peer_post_rpc_message (FridaRpcPeer * self, const gchar * json, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_rpc_peer_post_rpc_message_finish (FridaRpcPeer * self, GAsyncResult * result, GError ** error);
/* Injector */
FridaInjector * frida_injector_new (void);
FridaInjector * frida_injector_new_inprocess (void);
void frida_injector_close (FridaInjector * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_injector_close_finish (FridaInjector * self, GAsyncResult * result, GError ** error);
void frida_injector_close_sync (FridaInjector * self, GCancellable * cancellable, GError ** error);
void frida_injector_inject_library_file (FridaInjector * self, guint pid, const gchar * path, const gchar * entrypoint, const gchar * data, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
guint frida_injector_inject_library_file_finish (FridaInjector * self, GAsyncResult * result, GError ** error);
guint frida_injector_inject_library_file_sync (FridaInjector * self, guint pid, const gchar * path, const gchar * entrypoint, const gchar * data, GCancellable * cancellable, GError ** error);
void frida_injector_inject_library_blob (FridaInjector * self, guint pid, GBytes * blob, const gchar * entrypoint, const gchar * data, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
guint frida_injector_inject_library_blob_finish (FridaInjector * self, GAsyncResult * result, GError ** error);
guint frida_injector_inject_library_blob_sync (FridaInjector * self, guint pid, GBytes * blob, const gchar * entrypoint, const gchar * data, GCancellable * cancellable, GError ** error);
void frida_injector_demonitor (FridaInjector * self, guint id, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_injector_demonitor_finish (FridaInjector * self, GAsyncResult * result, GError ** error);
void frida_injector_demonitor_sync (FridaInjector * self, guint id, GCancellable * cancellable, GError ** error);
void frida_injector_demonitor_and_clone_state (FridaInjector * self, guint id, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
guint frida_injector_demonitor_and_clone_state_finish (FridaInjector * self, GAsyncResult * result, GError ** error);
guint frida_injector_demonitor_and_clone_state_sync (FridaInjector * self, guint id, GCancellable * cancellable, GError ** error);
void frida_injector_recreate_thread (FridaInjector * self, guint pid, guint id, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_injector_recreate_thread_finish (FridaInjector * self, GAsyncResult * result, GError ** error);
void frida_injector_recreate_thread_sync (FridaInjector * self, guint pid, guint id, GCancellable * cancellable, GError ** error);
/* ControlService */
FridaControlService * frida_control_service_new (FridaEndpointParameters * endpoint_params, FridaControlServiceOptions * options);
FridaControlService * frida_control_service_new_with_host_session (FridaHostSession * host_session, FridaEndpointParameters * endpoint_params, FridaControlServiceOptions * options);
FridaHostSession * frida_control_service_get_host_session (FridaControlService * self);
FridaEndpointParameters * frida_control_service_get_endpoint_params (FridaControlService * self);
FridaControlServiceOptions * frida_control_service_get_options (FridaControlService * self);
void frida_control_service_start (FridaControlService * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_control_service_start_finish (FridaControlService * self, GAsyncResult * result, GError ** error);
void frida_control_service_start_sync (FridaControlService * self, GCancellable * cancellable, GError ** error);
void frida_control_service_stop (FridaControlService * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_control_service_stop_finish (FridaControlService * self, GAsyncResult * result, GError ** error);
void frida_control_service_stop_sync (FridaControlService * self, GCancellable * cancellable, GError ** error);
/* ControlServiceOptions */
FridaControlServiceOptions * frida_control_service_options_new (void);
gboolean frida_control_service_options_get_enable_preload (FridaControlServiceOptions * self);
gboolean frida_control_service_options_get_report_crashes (FridaControlServiceOptions * self);
void frida_control_service_options_set_enable_preload (FridaControlServiceOptions * self, gboolean value);
void frida_control_service_options_set_report_crashes (FridaControlServiceOptions * self, gboolean value);
/* PortalService */
FridaPortalService * frida_portal_service_new (FridaEndpointParameters * cluster_params, FridaEndpointParameters * control_params);
FridaDevice * frida_portal_service_get_device (FridaPortalService * self);
FridaEndpointParameters * frida_portal_service_get_cluster_params (FridaPortalService * self);
FridaEndpointParameters * frida_portal_service_get_control_params (FridaPortalService * self);
void frida_portal_service_start (FridaPortalService * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_portal_service_start_finish (FridaPortalService * self, GAsyncResult * result, GError ** error);
void frida_portal_service_start_sync (FridaPortalService * self, GCancellable * cancellable, GError ** error);
void frida_portal_service_stop (FridaPortalService * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_portal_service_stop_finish (FridaPortalService * self, GAsyncResult * result, GError ** error);
void frida_portal_service_stop_sync (FridaPortalService * self, GCancellable * cancellable, GError ** error);
void frida_portal_service_kick (FridaPortalService * self, guint connection_id);
void frida_portal_service_post (FridaPortalService * self, guint connection_id, const gchar * json, GBytes * data);
void frida_portal_service_narrowcast (FridaPortalService * self, const gchar * tag, const gchar * json, GBytes * data);
void frida_portal_service_broadcast (FridaPortalService * self, const gchar * json, GBytes * data);
gchar ** frida_portal_service_enumerate_tags (FridaPortalService * self, guint connection_id, gint * result_length);
void frida_portal_service_tag (FridaPortalService * self, guint connection_id, const gchar * tag);
void frida_portal_service_untag (FridaPortalService * self, guint connection_id, const gchar * tag);
/* EndpointParameters */
FridaEndpointParameters * frida_endpoint_parameters_new (const gchar * address, guint16 port, GTlsCertificate * certificate, const gchar * origin, FridaAuthenticationService * auth_service, GFile * asset_root);
const gchar * frida_endpoint_parameters_get_address (FridaEndpointParameters * self);
guint16 frida_endpoint_parameters_get_port (FridaEndpointParameters * self);
GTlsCertificate * frida_endpoint_parameters_get_certificate (FridaEndpointParameters * self);
const gchar * frida_endpoint_parameters_get_origin (FridaEndpointParameters * self);
FridaAuthenticationService * frida_endpoint_parameters_get_auth_service (FridaEndpointParameters * self);
GFile * frida_endpoint_parameters_get_asset_root (FridaEndpointParameters * self);
void frida_endpoint_parameters_set_asset_root (FridaEndpointParameters * self, GFile * value);
/* AuthenticationService */
struct _FridaAuthenticationServiceIface {
GTypeInterface parent_iface;
void (* authenticate) (FridaAuthenticationService * self, const gchar * token, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
gchar * (* authenticate_finish) (FridaAuthenticationService * self, GAsyncResult * result, GError ** error);
};
void frida_authentication_service_authenticate (FridaAuthenticationService * self, const gchar * token, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
gchar * frida_authentication_service_authenticate_finish (FridaAuthenticationService * self, GAsyncResult * result, GError ** error);
/* StaticAuthenticationService */
FridaStaticAuthenticationService * frida_static_authentication_service_new (const gchar * token);
const gchar * frida_static_authentication_service_get_token_hash (FridaStaticAuthenticationService * self);
/* FileMonitor */
FridaFileMonitor * frida_file_monitor_new (const gchar * path);
const gchar * frida_file_monitor_get_path (FridaFileMonitor * self);
void frida_file_monitor_enable (FridaFileMonitor * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_file_monitor_enable_finish (FridaFileMonitor * self, GAsyncResult * result, GError ** error);
void frida_file_monitor_enable_sync (FridaFileMonitor * self, GCancellable * cancellable, GError ** error);
void frida_file_monitor_disable (FridaFileMonitor * self, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_file_monitor_disable_finish (FridaFileMonitor * self, GAsyncResult * result, GError ** error);
void frida_file_monitor_disable_sync (FridaFileMonitor * self, GCancellable * cancellable, GError ** error);
/* Compiler */
typedef void (* FridaCompilerEachAgentZipEntryFunc) (const gchar * name, GBytes * contents, gpointer user_data);
FridaCompiler * frida_compiler_new (FridaDeviceManager * manager);
FridaDeviceManager * frida_compiler_get_manager (FridaCompiler * self);
void frida_compiler_build (FridaCompiler * self, const gchar * entrypoint, FridaBuildOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
gchar * frida_compiler_build_finish (FridaCompiler * self, GAsyncResult * result, GError ** error);
gchar * frida_compiler_build_sync (FridaCompiler * self, const gchar * entrypoint, FridaBuildOptions * options, GCancellable * cancellable, GError ** error);
void frida_compiler_watch (FridaCompiler * self, const gchar * entrypoint, FridaWatchOptions * options, GCancellable * cancellable, GAsyncReadyCallback callback, gpointer user_data);
void frida_compiler_watch_finish (FridaCompiler * self, GAsyncResult * result, GError ** error);
void frida_compiler_watch_sync (FridaCompiler * self, const gchar * entrypoint, FridaWatchOptions * options, GCancellable * cancellable, GError ** error);
/* CompilerOptions */
FridaCompilerOptions * frida_compiler_options_new (void);
const gchar * frida_compiler_options_get_project_root (FridaCompilerOptions * self);
FridaSourceMaps frida_compiler_options_get_source_maps (FridaCompilerOptions * self);
FridaJsCompression frida_compiler_options_get_compression (FridaCompilerOptions * self);
void frida_compiler_options_set_project_root (FridaCompilerOptions * self, const gchar * value);
void frida_compiler_options_set_source_maps (FridaCompilerOptions * self, FridaSourceMaps value);
void frida_compiler_options_set_compression (FridaCompilerOptions * self, FridaJsCompression value);
/* BuildOptions */
FridaBuildOptions * frida_build_options_new (void);
/* WatchOptions */
FridaWatchOptions * frida_watch_options_new (void);
/* Toplevel functions */
/* Errors */
GQuark frida_error_quark (void);
typedef enum {
FRIDA_ERROR_SERVER_NOT_RUNNING,
FRIDA_ERROR_EXECUTABLE_NOT_FOUND,
FRIDA_ERROR_EXECUTABLE_NOT_SUPPORTED,
FRIDA_ERROR_PROCESS_NOT_FOUND,
FRIDA_ERROR_PROCESS_NOT_RESPONDING,
FRIDA_ERROR_INVALID_ARGUMENT,
FRIDA_ERROR_INVALID_OPERATION,
FRIDA_ERROR_PERMISSION_DENIED,
FRIDA_ERROR_ADDRESS_IN_USE,
FRIDA_ERROR_TIMED_OUT,
FRIDA_ERROR_NOT_SUPPORTED,
FRIDA_ERROR_PROTOCOL,
FRIDA_ERROR_TRANSPORT
} FridaError;
/* GTypes */
GType frida_runtime_get_type (void) G_GNUC_CONST;
GType frida_device_type_get_type (void) G_GNUC_CONST;
GType frida_source_maps_get_type (void) G_GNUC_CONST;
GType frida_js_compression_get_type (void) G_GNUC_CONST;
GType frida_agent_message_kind_get_type (void) G_GNUC_CONST;
GType frida_child_origin_get_type (void) G_GNUC_CONST;
GType frida_peer_setup_get_type (void) G_GNUC_CONST;
GType frida_port_conflict_behavior_get_type (void) G_GNUC_CONST;
GType frida_realm_get_type (void) G_GNUC_CONST;
GType frida_relay_kind_get_type (void) G_GNUC_CONST;
GType frida_scope_get_type (void) G_GNUC_CONST;
GType frida_script_runtime_get_type (void) G_GNUC_CONST;
GType frida_session_detach_reason_get_type (void) G_GNUC_CONST;
GType frida_stdio_get_type (void) G_GNUC_CONST;
GType frida_unload_policy_get_type (void) G_GNUC_CONST;
GType frida_web_service_flavor_get_type (void) G_GNUC_CONST;
GType frida_web_service_transport_get_type (void) G_GNUC_CONST;
GType frida_device_manager_get_type (void) G_GNUC_CONST;
GType frida_device_list_get_type (void) G_GNUC_CONST;
GType frida_device_get_type (void) G_GNUC_CONST;
GType frida_remote_device_options_get_type (void) G_GNUC_CONST;
GType frida_application_list_get_type (void) G_GNUC_CONST;
GType frida_application_get_type (void) G_GNUC_CONST;
GType frida_process_list_get_type (void) G_GNUC_CONST;
GType frida_process_get_type (void) G_GNUC_CONST;
GType frida_process_match_options_get_type (void) G_GNUC_CONST;
GType frida_spawn_options_get_type (void) G_GNUC_CONST;
GType frida_frontmost_query_options_get_type (void) G_GNUC_CONST;
GType frida_application_query_options_get_type (void) G_GNUC_CONST;
GType frida_process_query_options_get_type (void) G_GNUC_CONST;
GType frida_session_options_get_type (void) G_GNUC_CONST;
GType frida_spawn_list_get_type (void) G_GNUC_CONST;
GType frida_spawn_get_type (void) G_GNUC_CONST;
GType frida_child_list_get_type (void) G_GNUC_CONST;
GType frida_child_get_type (void) G_GNUC_CONST;
GType frida_crash_get_type (void) G_GNUC_CONST;
GType frida_bus_get_type (void) G_GNUC_CONST;
GType frida_session_get_type (void) G_GNUC_CONST;
GType frida_script_get_type (void) G_GNUC_CONST;
GType frida_snapshot_options_get_type (void) G_GNUC_CONST;
GType frida_script_options_get_type (void) G_GNUC_CONST;
GType frida_peer_options_get_type (void) G_GNUC_CONST;
GType frida_relay_get_type (void) G_GNUC_CONST;
GType frida_portal_options_get_type (void) G_GNUC_CONST;
GType frida_portal_membership_get_type (void) G_GNUC_CONST;
GType frida_rpc_client_get_type (void) G_GNUC_CONST;
GType frida_rpc_peer_get_type (void) G_GNUC_CONST;
GType frida_injector_get_type (void) G_GNUC_CONST;
GType frida_control_service_get_type (void) G_GNUC_CONST;
GType frida_control_service_options_get_type (void) G_GNUC_CONST;
GType frida_portal_service_get_type (void) G_GNUC_CONST;
GType frida_endpoint_parameters_get_type (void) G_GNUC_CONST;
GType frida_authentication_service_get_type (void) G_GNUC_CONST;
GType frida_static_authentication_service_get_type (void) G_GNUC_CONST;
GType frida_file_monitor_get_type (void) G_GNUC_CONST;
GType frida_compiler_get_type (void) G_GNUC_CONST;
GType frida_compiler_options_get_type (void) G_GNUC_CONST;
GType frida_build_options_get_type (void) G_GNUC_CONST;
GType frida_watch_options_get_type (void) G_GNUC_CONST;
/* Macros */
#define FRIDA_TYPE_RUNTIME (frida_runtime_get_type ())
#define FRIDA_TYPE_DEVICE_TYPE (frida_device_type_get_type ())
#define FRIDA_TYPE_SOURCE_MAPS (frida_source_maps_get_type ())
#define FRIDA_TYPE_JS_COMPRESSION (frida_js_compression_get_type ())
#define FRIDA_TYPE_AGENT_MESSAGE_KIND (frida_agent_message_kind_get_type ())
#define FRIDA_TYPE_CHILD_ORIGIN (frida_child_origin_get_type ())
#define FRIDA_TYPE_PEER_SETUP (frida_peer_setup_get_type ())
#define FRIDA_TYPE_PORT_CONFLICT_BEHAVIOR (frida_port_conflict_behavior_get_type ())
#define FRIDA_TYPE_REALM (frida_realm_get_type ())
#define FRIDA_TYPE_RELAY_KIND (frida_relay_kind_get_type ())
#define FRIDA_TYPE_SCOPE (frida_scope_get_type ())
#define FRIDA_TYPE_SCRIPT_RUNTIME (frida_script_runtime_get_type ())
#define FRIDA_TYPE_SESSION_DETACH_REASON (frida_session_detach_reason_get_type ())
#define FRIDA_TYPE_STDIO (frida_stdio_get_type ())
#define FRIDA_TYPE_UNLOAD_POLICY (frida_unload_policy_get_type ())
#define FRIDA_TYPE_WEB_SERVICE_FLAVOR (frida_web_service_flavor_get_type ())
#define FRIDA_TYPE_WEB_SERVICE_TRANSPORT (frida_web_service_transport_get_type ())
#define FRIDA_TYPE_DEVICE_MANAGER (frida_device_manager_get_type ())
#define FRIDA_DEVICE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_DEVICE_MANAGER, FridaDeviceManager))
#define FRIDA_IS_DEVICE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_DEVICE_MANAGER))
#define FRIDA_TYPE_DEVICE_LIST (frida_device_list_get_type ())
#define FRIDA_DEVICE_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_DEVICE_LIST, FridaDeviceList))
#define FRIDA_IS_DEVICE_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_DEVICE_LIST))
#define FRIDA_TYPE_DEVICE (frida_device_get_type ())
#define FRIDA_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_DEVICE, FridaDevice))
#define FRIDA_IS_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_DEVICE))
#define FRIDA_TYPE_REMOTE_DEVICE_OPTIONS (frida_remote_device_options_get_type ())
#define FRIDA_REMOTE_DEVICE_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_REMOTE_DEVICE_OPTIONS, FridaRemoteDeviceOptions))
#define FRIDA_IS_REMOTE_DEVICE_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_REMOTE_DEVICE_OPTIONS))
#define FRIDA_TYPE_APPLICATION_LIST (frida_application_list_get_type ())
#define FRIDA_APPLICATION_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_APPLICATION_LIST, FridaApplicationList))
#define FRIDA_IS_APPLICATION_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_APPLICATION_LIST))
#define FRIDA_TYPE_APPLICATION (frida_application_get_type ())
#define FRIDA_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_APPLICATION, FridaApplication))
#define FRIDA_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_APPLICATION))
#define FRIDA_TYPE_PROCESS_LIST (frida_process_list_get_type ())
#define FRIDA_PROCESS_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PROCESS_LIST, FridaProcessList))
#define FRIDA_IS_PROCESS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PROCESS_LIST))
#define FRIDA_TYPE_PROCESS (frida_process_get_type ())
#define FRIDA_PROCESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PROCESS, FridaProcess))
#define FRIDA_IS_PROCESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PROCESS))
#define FRIDA_TYPE_PROCESS_MATCH_OPTIONS (frida_process_match_options_get_type ())
#define FRIDA_PROCESS_MATCH_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PROCESS_MATCH_OPTIONS, FridaProcessMatchOptions))
#define FRIDA_IS_PROCESS_MATCH_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PROCESS_MATCH_OPTIONS))
#define FRIDA_TYPE_SPAWN_OPTIONS (frida_spawn_options_get_type ())
#define FRIDA_SPAWN_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SPAWN_OPTIONS, FridaSpawnOptions))
#define FRIDA_IS_SPAWN_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SPAWN_OPTIONS))
#define FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS (frida_frontmost_query_options_get_type ())
#define FRIDA_FRONTMOST_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS, FridaFrontmostQueryOptions))
#define FRIDA_IS_FRONTMOST_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS))
#define FRIDA_TYPE_APPLICATION_QUERY_OPTIONS (frida_application_query_options_get_type ())
#define FRIDA_APPLICATION_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_APPLICATION_QUERY_OPTIONS, FridaApplicationQueryOptions))
#define FRIDA_IS_APPLICATION_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_APPLICATION_QUERY_OPTIONS))
#define FRIDA_TYPE_PROCESS_QUERY_OPTIONS (frida_process_query_options_get_type ())
#define FRIDA_PROCESS_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PROCESS_QUERY_OPTIONS, FridaProcessQueryOptions))
#define FRIDA_IS_PROCESS_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PROCESS_QUERY_OPTIONS))
#define FRIDA_TYPE_SESSION_OPTIONS (frida_session_options_get_type ())
#define FRIDA_SESSION_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SESSION_OPTIONS, FridaSessionOptions))
#define FRIDA_IS_SESSION_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SESSION_OPTIONS))
#define FRIDA_TYPE_SPAWN_LIST (frida_spawn_list_get_type ())
#define FRIDA_SPAWN_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SPAWN_LIST, FridaSpawnList))
#define FRIDA_IS_SPAWN_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SPAWN_LIST))
#define FRIDA_TYPE_SPAWN (frida_spawn_get_type ())
#define FRIDA_SPAWN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SPAWN, FridaSpawn))
#define FRIDA_IS_SPAWN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SPAWN))
#define FRIDA_TYPE_CHILD_LIST (frida_child_list_get_type ())
#define FRIDA_CHILD_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CHILD_LIST, FridaChildList))
#define FRIDA_IS_CHILD_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CHILD_LIST))
#define FRIDA_TYPE_CHILD (frida_child_get_type ())
#define FRIDA_CHILD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CHILD, FridaChild))
#define FRIDA_IS_CHILD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CHILD))
#define FRIDA_TYPE_CRASH (frida_crash_get_type ())
#define FRIDA_CRASH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CRASH, FridaCrash))
#define FRIDA_IS_CRASH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CRASH))
#define FRIDA_TYPE_BUS (frida_bus_get_type ())
#define FRIDA_BUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_BUS, FridaBus))
#define FRIDA_IS_BUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_BUS))
#define FRIDA_TYPE_SESSION (frida_session_get_type ())
#define FRIDA_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SESSION, FridaSession))
#define FRIDA_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SESSION))
#define FRIDA_TYPE_SCRIPT (frida_script_get_type ())
#define FRIDA_SCRIPT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SCRIPT, FridaScript))
#define FRIDA_IS_SCRIPT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SCRIPT))
#define FRIDA_TYPE_SNAPSHOT_OPTIONS (frida_snapshot_options_get_type ())
#define FRIDA_SNAPSHOT_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SNAPSHOT_OPTIONS, FridaSnapshotOptions))
#define FRIDA_IS_SNAPSHOT_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SNAPSHOT_OPTIONS))
#define FRIDA_TYPE_SCRIPT_OPTIONS (frida_script_options_get_type ())
#define FRIDA_SCRIPT_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SCRIPT_OPTIONS, FridaScriptOptions))
#define FRIDA_IS_SCRIPT_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SCRIPT_OPTIONS))
#define FRIDA_TYPE_PEER_OPTIONS (frida_peer_options_get_type ())
#define FRIDA_PEER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PEER_OPTIONS, FridaPeerOptions))
#define FRIDA_IS_PEER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PEER_OPTIONS))
#define FRIDA_TYPE_RELAY (frida_relay_get_type ())
#define FRIDA_RELAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_RELAY, FridaRelay))
#define FRIDA_IS_RELAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_RELAY))
#define FRIDA_TYPE_PORTAL_OPTIONS (frida_portal_options_get_type ())
#define FRIDA_PORTAL_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PORTAL_OPTIONS, FridaPortalOptions))
#define FRIDA_IS_PORTAL_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PORTAL_OPTIONS))
#define FRIDA_TYPE_PORTAL_MEMBERSHIP (frida_portal_membership_get_type ())
#define FRIDA_PORTAL_MEMBERSHIP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PORTAL_MEMBERSHIP, FridaPortalMembership))
#define FRIDA_IS_PORTAL_MEMBERSHIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PORTAL_MEMBERSHIP))
#define FRIDA_TYPE_RPC_CLIENT (frida_rpc_client_get_type ())
#define FRIDA_RPC_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_RPC_CLIENT, FridaRpcClient))
#define FRIDA_IS_RPC_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_RPC_CLIENT))
#define FRIDA_TYPE_RPC_PEER (frida_rpc_peer_get_type ())
#define FRIDA_RPC_PEER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_RPC_PEER, FridaRpcPeer))
#define FRIDA_IS_RPC_PEER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_RPC_PEER))
#define FRIDA_TYPE_INJECTOR (frida_injector_get_type ())
#define FRIDA_INJECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_INJECTOR, FridaInjector))
#define FRIDA_IS_INJECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_INJECTOR))
#define FRIDA_TYPE_CONTROL_SERVICE (frida_control_service_get_type ())
#define FRIDA_CONTROL_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CONTROL_SERVICE, FridaControlService))
#define FRIDA_IS_CONTROL_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CONTROL_SERVICE))
#define FRIDA_TYPE_CONTROL_SERVICE_OPTIONS (frida_control_service_options_get_type ())
#define FRIDA_CONTROL_SERVICE_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CONTROL_SERVICE_OPTIONS, FridaControlServiceOptions))
#define FRIDA_IS_CONTROL_SERVICE_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CONTROL_SERVICE_OPTIONS))
#define FRIDA_TYPE_PORTAL_SERVICE (frida_portal_service_get_type ())
#define FRIDA_PORTAL_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PORTAL_SERVICE, FridaPortalService))
#define FRIDA_IS_PORTAL_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PORTAL_SERVICE))
#define FRIDA_TYPE_ENDPOINT_PARAMETERS (frida_endpoint_parameters_get_type ())
#define FRIDA_ENDPOINT_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_ENDPOINT_PARAMETERS, FridaEndpointParameters))
#define FRIDA_IS_ENDPOINT_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_ENDPOINT_PARAMETERS))
#define FRIDA_TYPE_AUTHENTICATION_SERVICE (frida_authentication_service_get_type ())
#define FRIDA_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_AUTHENTICATION_SERVICE, FridaAuthenticationService))
#define FRIDA_IS_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_AUTHENTICATION_SERVICE))
#define FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE (frida_static_authentication_service_get_type ())
#define FRIDA_STATIC_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE, FridaStaticAuthenticationService))
#define FRIDA_IS_STATIC_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE))
#define FRIDA_TYPE_FILE_MONITOR (frida_file_monitor_get_type ())
#define FRIDA_FILE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_FILE_MONITOR, FridaFileMonitor))
#define FRIDA_IS_FILE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_FILE_MONITOR))
#define FRIDA_TYPE_COMPILER (frida_compiler_get_type ())
#define FRIDA_COMPILER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_COMPILER, FridaCompiler))
#define FRIDA_IS_COMPILER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_COMPILER))
#define FRIDA_TYPE_COMPILER_OPTIONS (frida_compiler_options_get_type ())
#define FRIDA_COMPILER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_COMPILER_OPTIONS, FridaCompilerOptions))
#define FRIDA_IS_COMPILER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_COMPILER_OPTIONS))
#define FRIDA_TYPE_BUILD_OPTIONS (frida_build_options_get_type ())
#define FRIDA_BUILD_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_BUILD_OPTIONS, FridaBuildOptions))
#define FRIDA_IS_BUILD_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_BUILD_OPTIONS))
#define FRIDA_TYPE_WATCH_OPTIONS (frida_watch_options_get_type ())
#define FRIDA_WATCH_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_WATCH_OPTIONS, FridaWatchOptions))
#define FRIDA_IS_WATCH_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_WATCH_OPTIONS))
#define FRIDA_ERROR (frida_error_quark ())
G_END_DECLS
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment