862 Commits
Author SHA1 Message Date
Ole André Vadla Ravnås 6bbae44a5d meson: Serialize npm install for the agents
Parallel installs of the frida binding race on the prebuild cache, which
breaks the build on Windows.
2026-11-07 17:28:41 +01:00
tubibibo a67ebfd7dd application: Add --env for spawn environments
--aux can only pass string, bool and int values to Device.spawn(), while
the env/envp options take a mapping, so there was no way to set an
environment variable when spawning, e.g. DISABLE_TWAKS=1 to work around
ellekit crashes on iOS.

Add a repeatable --env KEY=VALUE that feeds the env parameter, which
merges into the environment the spawn would otherwise inherit.

Fixes #193
14.13.0
2026-11-06 12:37:22 +01:00
Ole André Vadla Ravnås 3848f06500 agents: Bump frida-compile to 19.1.0 14.12.0 2026-11-06 12:28:31 +01:00
Ole André Vadla Ravnås 9e68432be4 itracer: Bump frida-itrace to 7.0.0
It now writes all events to the ringbuffer, so the file no longer
contains start and compile messages. Change its magic to "ITR2", and
drop the basic block count from the progress display.
2026-11-06 12:28:31 +01:00
Ole André Vadla Ravnås f3b82c96de deps: Require Frida >= 17.26.0 2026-11-06 12:28:31 +01:00
Ole André Vadla Ravnås d6fbb57706 bridges: Bump frida-java-bridge to 7.0.13 2026-11-06 12:28:31 +01:00
Ole André Vadla Ravnås 747af41712 tracer: Bump frida-java-bridge to 7.0.13 2026-11-06 12:28:31 +01:00
Ole André Vadla Ravnås 1847a771a1 agents: Bump @types/frida-gum to 19.13.0 2026-11-06 12:28:31 +01:00
Ole André Vadla Ravnås d16aa1c593 submodules: Bump releng 2026-11-06 12:20:04 +01:00
orip af529b95d7 creator: Include Frida types with TypeScript 6
TypeScript 6 no longer picks up all @types packages by default, so list
them explicitly, and set rootDir as it no longer defaults to the common
source directory.
2026-11-05 21:43:03 +01:00
orip 55ab992133 creator: Bump @types/frida-gum to 19.13.0 2026-11-05 21:43:03 +01:00
Ole André Vadla Ravnås bcdcfda768 ci: Pin setup-uv to an existing tag
It doesn't publish floating major version tags.
2026-11-05 21:40:58 +01:00
orip 66c21a2502 ci: Build and publish to PyPI
Build the sdist and wheel on every push and pull request, publish pushes
to TestPyPI, and publish tags to PyPI using trusted publishing.

Fixes #176
2026-11-05 21:18:10 +01:00
Ole André Vadla Ravnås 132fb433b5 Switch back to meson-python
Publishing will be done from CI using trusted publishing, so the twine
issue that made us revert to setuptools no longer applies.

Also install tracer_ui.zip where the tracer expects it, and make the
wrapper scripts optional so they don't end up in wheels, which get
theirs from the entry points.
2026-11-05 20:46:10 +01:00
Ole André Vadla Ravnås fb0365a8b8 meson: Remove leftovers of frida-python subproject
frida-python is a runtime dependency managed by pip, so the test-suite
should pick it up from the environment rather than a subproject.
2026-11-05 20:36:15 +01:00
tubibibo c4381d6ac5 application: Document targets and argument passing
Explain in --help what a target can be, that arguments after it are
passed to the spawned program, and that -- is needed before ones that
start with -.

Fixes #188
2026-11-05 20:28:30 +01:00
tubibibo 280fb9e2c8 ps: Retry without icons when icon loading fails
Some devices fail the whole full-scope enumeration when an app icon
cannot be loaded, e.g. Android raising Resources$NotFoundException for
sym_def_app_icon. Retry with the minimal scope and warn, so the listing
still works.

Refs frida/frida#3762
2026-11-05 20:26:06 +01:00
tubibibo 735a2770ce tracer: Allow [::1] origins when binding to ::
Mirror how binding to 0.0.0.0 allows 127.0.0.1.
2026-11-05 20:24:38 +01:00
arxhr007 bd643fdf18 tracer: Fix handler lookup and post-stop messages
MemoryRepository keyed its handlers by TraceTarget, which is unhashable,
so every handlers:get request raised a TypeError. Key by its identifier
instead.

A message queued on the reactor before stop() could be handled after it,
reaching self._script.post() with _script set to None. Ignore messages
once stopped.

Make test_basics fail when the reactor thread raises, and add tests for
both cases.

Fixes #150
2026-11-05 20:24:25 +01:00
protonnegativo 110f97d1d9 tracer: Bracket IPv6 hosts in allowed UI origins
Browsers send IPv6 origins as http://[::1]:PORT, but the allow-list
was built as http://::1:PORT, so with --ui-host ::1 every request to
the UI was rejected with 403.

Fixes #203
2026-11-05 20:24:25 +01:00
Cyril Brulebois f881de0e7e meson: Add other missing modules to sources
While investigating the repl_inspect.py regression (addressed in the
previous commit), it was spotted that other files are missing from the
sources list. The consequences have not been investigated specifically
but it seems prudent to ship all those files.
2026-11-05 20:24:25 +01:00
Cyril Brulebois 33637ccbe2 meson: Add missing repl_inspect.py to sources
Commit f7384b5498 introduces a dependency
on a new file (repl_inspect.py) without adding it to meson.build; this
means that `make install` doesn't deploy this file, leading to trivial
import issues down the line.

Spotted with trivial commands like `frida -f /usr/bin/df` initially, but
even `frida --help` fails:

    $ frida --help
    Traceback (most recent call last):
      File "/usr/bin/frida", line 6, in <module>
        import frida_tools.repl
      File "/usr/lib/python3/dist-packages/frida_tools/repl.py", line 32, in <module>
        from frida_tools import _repl_magic, repl_inspect
    ImportError: cannot import name 'repl_inspect' from 'frida_tools' (/usr/lib/python3/dist-packages/frida_tools/__init__.py)

Regression first published with 17.15.0, while 17.14.1 was still fine.
2026-11-05 20:24:25 +01:00
Cassian433 ab2f627022 lsd: Print plain table when not on a terminal
With stdin redirected, Application.run() fails with EOFError, and with
stdout piped we emit every spinner frame. Print a plain table instead.
2026-11-05 20:24:25 +01:00
Francesc Elies 8b07f5b22e repl: Sort dunder names last in completions
When completing in an interactive session one is normally not interested
in names like `__defineGetter__` and `__lookupGetter__`, but they were
listed first. Sort names starting with an underscore after the others,
with dunder names at the very end, and compare case-insensitively.
2026-11-05 20:24:25 +01:00
middle cbc3a02de3 repl: Fix crash on eval after %unload
Evaluating after %unload hit a bare assert, killing the whole REPL
with an AssertionError instead of just failing the command.
2026-11-05 20:08:17 +01:00
Ole André Vadla Ravnås 7fcf5593bb submodules: Bump releng 2026-11-04 12:54:21 +01:00
Ole André Vadla Ravnås 1ec8bad1ba submodules: Bump releng 2026-10-30 21:59:30 +01:00
Ole André Vadla Ravnås 36d6f208f4 docs: Update frida-itrace URL 2026-10-30 21:53:04 +01:00
Ole André Vadla Ravnås a8c12cef7f submodules: Bump releng 2026-10-30 07:00:28 +01:00
Ole André Vadla Ravnås 0bbe5a6ade submodules: Bump releng 2026-10-29 21:28:38 +01:00
Ole André Vadla Ravnås d4e287eade submodules: Bump releng 2026-10-23 13:51:58 +02:00
Ole André Vadla Ravnås 686659a6df submodules: Bump releng 2026-10-20 21:39:40 +02:00
Ole André Vadla Ravnås 09543fb63f build: Sync wrappers with releng 2026-10-20 20:24:04 +02:00
Ole André Vadla Ravnås 994b08eae2 submodules: Bump releng 2026-10-20 20:24:04 +02:00
Ole André Vadla Ravnås c5e2450cc9 submodules: Bump releng 2026-10-20 14:26:45 +02:00
Ole André Vadla Ravnås 330ed423f7 submodules: Bump releng 2026-10-19 10:31:16 +02:00
Ole André Vadla Ravnås 6a83bcf711 submodules: Bump releng 2026-10-17 12:54:06 +02:00
Håvard Sørbø 24f5b4d214 repl: Render iterators and generators
Evaluating an expression that yields a generator or other iterator object
printed an empty object, since such objects have no own enumerable keys.
Encode them as a new tagged value by pulling up to 100 items, marking when
more remain, and label them by their toStringTag so a generator shows as
Generator[...] and a Map iterator as Map Iterator[...]. The iterator is
consumed by the display, as it would be by any other means of looking at
its items.
2026-10-17 11:18:32 +02:00
Ole André Vadla Ravnås 19048c41ce submodules: Bump releng 2026-10-16 12:43:10 +02:00
Ole André Vadla Ravnås 111c749b59 submodules: Bump releng 2026-10-15 15:46:28 +02:00
Ole André Vadla Ravnås 9013eeee00 submodules: Bump releng 2026-10-15 15:16:18 +02:00
Ole André Vadla Ravnås f61de549c4 submodules: Bump releng 2026-10-07 14:24:22 +02:00
Ole André Vadla Ravnås 316b9e9ad5 submodules: Bump releng 2026-10-05 09:57:26 +02:00
Ole André Vadla Ravnås b1a4ed0f17 repl: Appease black 14.11.0 2026-10-03 09:36:33 +02:00
Ole André Vadla Ravnås fa93638359 compiler: Create output directory as needed 2026-10-03 09:05:05 +02:00
Ole André Vadla Ravnås ca38f895b5 compiler: Add --library
Emit a package's modules, declarations and patterns into a directory
through Compiler.build_library(), or keep them fresh with -w through
watch_library().
2026-10-02 22:38:22 +02:00
Ole André Vadla Ravnås c097f7d3dd submodules: Bump releng 2026-09-23 00:03:15 +02:00
Ole André Vadla Ravnås b3c1331cd6 submodules: Bump releng 2026-09-22 23:47:47 +02:00
Ole André Vadla Ravnås 99eaf0f0d3 submodules: Bump releng 2026-09-22 15:57:43 +02:00
Ole André Vadla Ravnås a4dc934e7b submodules: Bump releng 2026-09-09 00:52:27 +02:00