Commit Graph

528 Commits

Author SHA1 Message Date
Ole André Vadla Ravnås fd563fb312 Improve RPC message detection
To avoid crashing if an agent does `send([])`.

Kudos to @H0r53 for reporting!

Fixes frida/frida#1008.
2019-09-03 23:52:54 +02:00
Ole André Vadla Ravnås 66bdd0ed30 Wire up get_device() instead of emulating it
This way it is automatically cancellable, and we get the performance
benefit of not having to wait for all backends to start.
2019-09-03 10:47:04 +02:00
Ole André Vadla Ravnås 665bf26078 Add test covering basics of RPC cancellation 2019-09-03 09:24:31 +02:00
Ole André Vadla Ravnås 8492f3950b Improve the RPC logic
- Remove request when cancelled.
- Ignore responses to unknown requests.
2019-09-03 01:41:56 +02:00
Ole André Vadla Ravnås 03a85fea8e Fix Cancellable.raise_if_cancelled() 2019-09-03 01:39:49 +02:00
Ole André Vadla Ravnås 698ab16a88 Make RPC method calls fully cancellable 2019-09-03 01:29:22 +02:00
Ole André Vadla Ravnås c2dcacc8f4 Improve the Cancellable API
- Implement a context manager.
- Expose more of the underlying API.
2019-09-03 01:29:00 +02:00
Ole André Vadla Ravnås f8f501d1d2 Add support for cancellation in the top-level API
Though only partially for get_*device*().
2019-08-31 05:55:21 +02:00
Ole André Vadla Ravnås 6498250062 Drop support for cancellable as a positional argument
Better to be explicit for the rare cases where a single operation needs
a specific Cancellable.
2019-08-31 05:28:27 +02:00
Ole André Vadla Ravnås eac26b292e Update to the new cancellable core APIs 2019-08-31 05:07:16 +02:00
Ole André Vadla Ravnås 9a42453594 Remove trailing whitespace 2019-08-08 20:58:38 +02:00
Muhammed Ziad 271d8ff926 Add option to compile the native extension from Python header files (#155) 2019-07-31 01:27:11 +02:00
Ole André Vadla Ravnås 7d8612bfa2 Use Module.getExportByName() where appropriate 2019-05-10 21:28:34 +02:00
Ole André Vadla Ravnås 9412e5b919 Remove redundant 'use strict' directives 2019-05-10 21:27:47 +02:00
Ole André Vadla Ravnås 1f1497818e Add support for specifying script options 2019-05-10 21:10:53 +02:00
Ole André Vadla Ravnås 7dc061ca07 Canonicalize the Meson option name and declaration 2019-05-09 21:05:38 +02:00
Ole André Vadla Ravnås 74f84d302a Add workaround to improve test-suite reliability
Not all of our injectors handle injection into processes that haven't
finished initializing, so for now delay a little before attaching.
2019-05-07 01:18:37 +00:00
Ole André Vadla Ravnås 7d5c36e358 Make the Linux pip setup logic architecture agnostic
At least in theory.
2019-05-07 02:41:39 +02:00
Ole André Vadla Ravnås 8043aa6908 Fix include path on Windows
Should only be using the public API.
2019-04-24 02:12:45 +02:00
Ole André Vadla Ravnås 4989a997b2 Fix assertion usage in implementation vs test code
Implementation code should never use g_assert_cmp*(), and test code
should never use g_assert().
2019-04-12 22:30:21 +02:00
Ole André Vadla Ravnås 1d428b71c9 Improve the device resolver logic
Also expose _get_device() as get_device_matching().
2019-03-27 13:34:57 +01:00
Ole André Vadla Ravnås f238498cdc Add crash reporting example 2019-02-04 14:26:58 +01:00
Ole André Vadla Ravnås 6b81b45420 Add Crash summary 2019-02-04 14:26:39 +01:00
Ole André Vadla Ravnås 5e8cd65665 Add support for the new crash reporting APIs 2019-01-29 00:01:42 +01:00
Ole André Vadla Ravnås 5c2dc4da55 Fix setup.py OS version logic on macOS
Now that we no longer release redundant prebuilds for macOS.

Kudos to @Ronophobia for discovering this issue.
2018-11-06 22:19:32 +01:00
Ole André Vadla Ravnås 2ed895b881 Add support for the new eternalize() API 2018-09-17 22:15:27 +02:00
Ole André Vadla Ravnås 6f914eb268 Disable assertions and checks in production builds 2018-08-21 20:12:49 +02:00
Ole André Vadla Ravnås 1b4b59fdca Declare support for Python 3.7 2018-08-20 23:26:19 +02:00
Ole André Vadla Ravnås b391988445 Upgrade to Python 3.7 2018-08-20 23:25:30 +02:00
Ole André Vadla Ravnås 83e8cd53de Ignore .user files generated by VS 2018-08-20 23:23:44 +02:00
Ole André Vadla Ravnås b3e7b5b792 Improve spawn() to support unicode aux options
On Python 2.x.
2018-07-26 00:45:16 +02:00
Ole André Vadla Ravnås d599cdd7a5 Fix long description
We were reading in the wrong README.
2018-07-11 19:52:04 +02:00
Ole André Vadla Ravnås f1f6bd8679 Fix the Windows build system 2018-07-11 17:03:16 +02:00
Ole André Vadla Ravnås ac2357700f Fix setup.py README logic
To allow unicode characters in the README.
2018-07-11 16:57:09 +02:00
Ole André Vadla Ravnås b615a25e14 Remove dangling subdir reference 2018-07-11 00:59:29 +02:00
Ole André Vadla Ravnås 72899a4315 Drop convenience APIs and split out tools (#142)
Most use-cases will need to use some JS API that we're not bridging, so
it's better to keep our bindings simple.

It has also become clear that our CLI tools should be split out so Frida-based
tools don't have to depend on colorama, prompt_toolkit, and pygments.
2018-07-10 20:08:56 +02:00
Hugo 4fcb17c450 Only declare support for maintained Python versions (#140) 2018-06-29 01:00:29 +02:00
Hugo 0fb0e9d90c Show long description with Markdown on PyPI (#139) 2018-06-29 00:59:20 +02:00
Ole André Vadla Ravnås 86c95ac59a Update to the new core API 2018-06-29 00:44:00 +02:00
Moritz cf4033d906 Fix crash when tracer scripts send() arbitrary data (#138) 2018-06-06 15:19:59 +02:00
Ole André Vadla Ravnås 0c011ef984 Fix deadlock on interpreter shutdown
Caused by trying to acquire the GIL from a different thread while the
interpreter is shutting down, which typically happens because a Script's
`destroyed` signal is emitted.
2018-06-04 23:57:55 +02:00
Ole André Vadla Ravnås 86e52547a6 Add upper bounds to the dependency version specs 2018-06-03 14:46:38 +02:00
Ole André Vadla Ravnås d88bd6aa2f Revert "Bump requirements"
To make packaging easier.

This reverts commit 928ff2a797.
2018-06-01 18:32:29 +02:00
Ole André Vadla Ravnås 928ff2a797 Bump requirements 2018-06-01 05:09:45 +02:00
Ole André Vadla Ravnås ca93d07fce Update website URL in the metadata 2018-06-01 05:09:21 +02:00
Ole André Vadla Ravnås ddbff97300 Fix the spawn() program vs argv detection logic 2018-05-05 04:47:30 +02:00
Ole André Vadla Ravnås b3f18c9f44 Plug leak of envp dict value 2018-05-05 04:39:18 +02:00
Ole André Vadla Ravnås 235982b9a0 Represent envp-style values as dicts instead of lists 2018-05-05 04:32:45 +02:00
Ole André Vadla Ravnås b5acc6130c Fix regressions on Py3k 2018-05-05 03:57:58 +02:00
Ole André Vadla Ravnås 490fbf20b8 Update to the new core API 2018-05-05 03:25:14 +02:00