Compare commits

..
32 Commits
Author SHA1 Message Date
Ole André Vadla Ravnås 01b4662207 subprojects: Prepare for release 2026-06-22 11:46:25 +02:00
Ole André Vadla Ravnås df7635122f subprojects: Bump outdated 2026-06-22 11:45:46 +02:00
Ole André Vadla Ravnås 726fc2e8d3 subprojects: Prepare for release 2026-06-20 15:56:57 +02:00
Ole André Vadla Ravnås f240d70be2 subprojects: Bump outdated 2026-06-20 15:55:26 +02:00
Ole André Vadla Ravnås 254c16c5fe subprojects: Prepare for release 2026-06-19 12:38:34 +02:00
Ole André Vadla Ravnås c1c5db7632 subprojects: Bump outdated 2026-06-19 11:56:00 +02:00
Ole André Vadla Ravnås d34ce2d9f4 subprojects: Prepare for release 2026-06-17 12:42:34 +02:00
Ole André Vadla Ravnås 5fbd498d96 subprojects: Bump outdated 2026-06-17 12:39:33 +02:00
Ole André Vadla Ravnås 7480f5d919 subprojects: Bump outdated 2026-06-17 12:33:14 +02:00
Ole André Vadla Ravnås bca04adce4 subprojects: Prepare for release 2026-06-16 16:40:22 +02:00
Ole André Vadla Ravnås a9c2672611 subprojects: Bump outdated 2026-06-16 16:38:35 +02:00
Ole André Vadla Ravnås abe0be49f0 script: Add interrupt() and terminate()
Wire up the new frida-core Script.interrupt() and terminate() methods:

  - interrupt() aborts any JavaScript currently executing, leaving the
    script loaded and able to run again.
  - terminate() interrupts execution and unloads the script, so one
    stuck in a long-running or infinite operation can still be torn
    down.
2026-06-16 16:36:43 +02:00
Ole André Vadla Ravnås a3c832be83 subprojects: Prepare for release 2026-06-15 19:09:31 +02:00
Ole André Vadla Ravnås 6580a0492b subprojects: Bump outdated 2026-06-15 19:08:48 +02:00
Ole André Vadla Ravnås c5f80e2c38 subprojects: Prepare for release 2026-06-12 00:46:13 +02:00
Ole André Vadla Ravnås 2c1bccddd0 typing: Add Device.override_option()
The wrapper in frida.core calls it, but the _frida stub lacked it,
tripping up mypy.
2026-06-12 00:46:13 +02:00
Ole André Vadla Ravnås 6f6940b097 subprojects: Bump outdated 2026-06-12 00:14:03 +02:00
Ole André Vadla Ravnås 308bcd7328 subprojects: Bump outdated 2026-06-11 22:56:42 +02:00
Ole André Vadla Ravnås c2f541aa7f submodules: Bump releng 2026-06-11 22:56:42 +02:00
Ole André Vadla Ravnås 2e73698ac7 subprojects: Bump outdated 2026-06-11 20:26:14 +02:00
Ole André Vadla Ravnås 18f2749037 submodules: Bump releng 2026-06-11 20:26:14 +02:00
Ole André Vadla Ravnås 80bd66fd6d subprojects: Prepare for release 2026-06-10 00:48:02 +02:00
Ole André Vadla Ravnås 32d1c921c9 subprojects: Bump outdated 2026-06-10 00:47:02 +02:00
Ole André Vadla Ravnås dbe7868509 subprojects: Prepare for release 2026-06-05 17:08:11 +02:00
Ole André Vadla Ravnås a0867d30b9 subprojects: Bump outdated 2026-06-05 17:06:50 +02:00
Ole André Vadla Ravnås 0666e8d33c subprojects: Bump outdated 2026-06-05 17:00:09 +02:00
Ole André Vadla Ravnås 60c30102bf subprojects: Bump outdated 2026-06-05 01:14:18 +02:00
Ole André Vadla Ravnås d50d5cc6d0 subprojects: Bump outdated 2026-06-05 00:56:11 +02:00
Ole André Vadla Ravnås ddeaad5254 submodules: Bump releng 2026-06-05 00:56:11 +02:00
Ole André Vadla Ravnås c68cd908d3 subprojects: Prepare for release 2026-06-02 02:10:44 +02:00
Ole André Vadla Ravnås 5b6d9f378a subprojects: Bump outdated 2026-06-02 02:09:03 +02:00
Ole André Vadla Ravnås 0839e57d3b subprojects: Bump outdated 2026-06-02 01:41:18 +02:00
5 changed files with 70 additions and 2 deletions

No files matched your search

+18
View File
@@ -364,6 +364,12 @@ class Device(Object):
"""
...
def override_option(self, name: str, value: Any) -> None:
"""
Override a backend-specific option.
"""
...
def query_system_parameters(self) -> Dict[str, Any]:
"""
Returns a dictionary of information about the host system.
@@ -621,6 +627,12 @@ class Script(Object):
"""
...
def interrupt(self) -> None:
"""
Interrupt any JavaScript currently executing in the script.
"""
...
def post(self, message: str, data: Optional[Union[str, bytes]] = None) -> None:
"""
Post a JSON-encoded message to the script.
@@ -633,6 +645,12 @@ class Script(Object):
"""
...
def terminate(self) -> None:
"""
Interrupt execution and unload the script.
"""
...
def enable_debugger(self, port: Optional[int]) -> None:
"""
Enable the Node.js compatible script debugger
+32
View File
@@ -492,7 +492,9 @@ static FridaPortalOptions * PySession_parse_portal_options (const gchar * certif
static PyObject * PyScript_new_take_handle (FridaScript * handle);
static PyObject * PyScript_is_destroyed (PyScript * self);
static PyObject * PyScript_load (PyScript * self);
static PyObject * PyScript_interrupt (PyScript * self);
static PyObject * PyScript_unload (PyScript * self);
static PyObject * PyScript_terminate (PyScript * self);
static PyObject * PyScript_eternalize (PyScript * self);
static PyObject * PyScript_post (PyScript * self, PyObject * args, PyObject * kw);
static PyObject * PyScript_enable_debugger (PyScript * self, PyObject * args, PyObject * kw);
@@ -740,7 +742,9 @@ static PyMethodDef PyScript_methods[] =
{
{ "is_destroyed", (PyCFunction) PyScript_is_destroyed, METH_NOARGS, "Query whether the script has been destroyed." },
{ "load", (PyCFunction) PyScript_load, METH_NOARGS, "Load the script." },
{ "interrupt", (PyCFunction) PyScript_interrupt, METH_NOARGS, "Interrupt any JavaScript currently executing in the script." },
{ "unload", (PyCFunction) PyScript_unload, METH_NOARGS, "Unload the script." },
{ "terminate", (PyCFunction) PyScript_terminate, METH_NOARGS, "Interrupt execution and unload the script." },
{ "eternalize", (PyCFunction) PyScript_eternalize, METH_NOARGS, "Eternalize the script." },
{ "post", (PyCFunction) PyScript_post, METH_VARARGS | METH_KEYWORDS, "Post a JSON-encoded message to the script." },
{ "enable_debugger", (PyCFunction) PyScript_enable_debugger, METH_VARARGS | METH_KEYWORDS, "Enable the Node.js compatible script debugger." },
@@ -4412,6 +4416,20 @@ PyScript_load (PyScript * self)
PyFrida_RETURN_NONE;
}
static PyObject *
PyScript_interrupt (PyScript * self)
{
GError * error = NULL;
Py_BEGIN_ALLOW_THREADS
frida_script_interrupt_sync (PY_GOBJECT_HANDLE (self), g_cancellable_get_current (), &error);
Py_END_ALLOW_THREADS
if (error != NULL)
return PyFrida_raise (error);
PyFrida_RETURN_NONE;
}
static PyObject *
PyScript_unload (PyScript * self)
{
@@ -4426,6 +4444,20 @@ PyScript_unload (PyScript * self)
PyFrida_RETURN_NONE;
}
static PyObject *
PyScript_terminate (PyScript * self)
{
GError * error = NULL;
Py_BEGIN_ALLOW_THREADS
frida_script_terminate_sync (PY_GOBJECT_HANDLE (self), g_cancellable_get_current (), &error);
Py_END_ALLOW_THREADS
if (error != NULL)
return PyFrida_raise (error);
PyFrida_RETURN_NONE;
}
static PyObject *
PyScript_eternalize (PyScript * self)
{
+18
View File
@@ -309,6 +309,15 @@ class Script:
self._impl.load()
@cancellable
def interrupt(self) -> None:
"""
Interrupt any JavaScript currently executing in the script, leaving it
loaded and able to run again
"""
self._impl.interrupt()
@cancellable
def unload(self) -> None:
"""
@@ -317,6 +326,15 @@ class Script:
self._impl.unload()
@cancellable
def terminate(self) -> None:
"""
Interrupt execution and unload the script, even if it is stuck in a
long-running or infinite operation
"""
self._impl.terminate()
@cancellable
def eternalize(self) -> None:
"""
+1 -1
Submodule releng updated: 029b3b189e...db122dd1f0.
+1 -1
View File
@@ -1,6 +1,6 @@
[wrap-git]
url = https://github.com/frida/frida-core.git
revision = 17.10.0
revision = 17.15.2
depth = 1
[provide]