frida-rs 0.1.0

Write Frida scripts in Rust
Documentation
use crate::plumbing;
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
extern "C" {
    #[wasm_bindgen(js_namespace = Process)]
    pub static id: u32;

    #[wasm_bindgen(js_namespace = Process)]
    pub static arch: String;

    #[wasm_bindgen(js_namespace = Process)]
    pub static platform: String;

    #[wasm_bindgen(js_namespace = Process, js_name = pageSize)]
    pub static page_size: usize;

    #[wasm_bindgen(js_namespace = Process, js_name = pointerSize)]
    pub static pointer_size: usize;

    #[wasm_bindgen(js_namespace = Process, js_name = codeSigningPolicy)]
    pub static code_signing_policy: String;

    #[wasm_bindgen(js_namespace = Process, js_name = isDebuggerAttached)]
    pub fn is_debugger_attached() -> bool;

    #[wasm_bindgen(js_namespace = Process, js_name = getCurrentThreadId)]
    pub fn get_current_thread_id() -> u32;

    #[wasm_bindgen(js_namespace = Process, js_name = enumerateThreads)]
    pub fn enumerate_threads() -> js_sys::Array;

    #[wasm_bindgen(js_namespace = Process, js_name = enumerateModules)]
    pub fn enumerate_modules() -> js_sys::Array;

    #[wasm_bindgen(js_namespace = Process, js_name = findModuleByName)]
    pub fn get_module_by_name(name: &str) -> plumbing::module::Module;

    #[wasm_bindgen(js_namespace = Process, js_name = findModuleByAddress)]
    pub fn get_module_by_address(address: &JsValue) -> plumbing::module::Module;

    #[wasm_bindgen(js_namespace = Process, js_name = findRangeByAddress)]
    pub fn get_range_by_address(address: &JsValue) -> JsValue;

    #[wasm_bindgen(js_namespace = Process, js_name = enumerateRanges)]
    pub fn enumerate_ranges(protection: &str) -> js_sys::Array;

    #[wasm_bindgen(js_namespace = Process, js_name = enumerateMallocRanges)]
    pub fn enumerate_malloc_ranges() -> js_sys::Array;
}