48 Commits

Author SHA1 Message Date
Ole André Vadla Ravnås 3e489dff85 device: Add unpair() 2023-10-09 13:12:04 +02:00
Yotam Nachum fb86c3aa37 Add async variant to rpc calls 2023-02-03 20:13:19 +02:00
Yotam Nachum b203e4bbca core: Add specific signals type hinting 2023-01-14 15:15:17 +02:00
Ole André Vadla Ravnås 6470583f8b core: Avoid using Python's union syntax
So we don't depend on Python >= 3.10.
2022-10-06 22:50:50 +02:00
Yotam Nachum 4f5c83fd09 Fix type hinting 2022-09-24 18:54:10 +03:00
Orip 32e3def2a1 Fix Device.get_bus
The Previous implementation called the `_Device.get_bus` method which doesn't exist
2022-09-12 20:59:52 +03:00
Yotam Nachum 600d68a982 Add _frida type hinting 2022-09-12 20:59:52 +03:00
Yotam Nachum af23dd92f2 Add docstrings 2022-09-12 20:59:52 +03:00
Yotam Nachum 057d901c06 Add type hinting
Lots of functions were using *args and **kwargs that were kind of
useless with type hinting, so I explicitly named every possible argument
and its type. It breaks backward compatibility (sort of) because you can
pass nonsense arguments anymore.
2022-09-12 20:59:52 +03:00
Yotam Nachum fc00ac2b75 Automatically format code with Black and Isort 2022-09-12 20:59:52 +03:00
Yotam Nachum c4785c3f7c Use f-strings
f-strings is a new, shorter alternative to `.format` method that was
introduced in Python 3.6.
2022-09-12 20:59:52 +03:00
Yotam Nachum 91554f8311 Remove unused import 2022-09-12 11:55:02 +03:00
Yotam Nachum 0d9e17f757 Remove object parent class
Python 3 classes inherit from object class implicitly
2022-09-12 11:55:02 +03:00
Yotam Nachum 27337a5ce5 Remove unused backward compatibility header 2022-09-12 11:55:00 +03:00
Yotam Nachum f38b846015 Remove handling of Python 2 version in error msg 2022-09-12 11:48:38 +03:00
Yotam Nachum 62bf077ebd Remove handling of old string type basestring
We don't need it anymore with Python 3 only
2022-09-12 11:48:36 +03:00
Ole André Vadla Ravnås 85229982a6 session: Add support for the new snapshot APIs (#212) 2022-08-03 11:43:00 +02:00
Ole André Vadla Ravnås 795e522f02 Port to the new frida-core API 2022-08-02 12:56:06 +02:00
Ole André Vadla Ravnås 77f0141d4b compiler: Add Compiler API 2022-07-20 01:43:25 +02:00
Ole André Vadla Ravnås 3bca276575 Update to the new frida-core APIs 2021-07-06 23:36:00 +02:00
Ole André Vadla Ravnås bc1e5d752f Move to the new application and process query APIs 2021-07-01 21:36:39 +02:00
Grant Douglas abfbe016c3 Add Device.query_system_parameters() 2021-06-17 02:47:06 +02:00
Ole André Vadla Ravnås 0650579d82 Throw when attempting an RPC call on a destroyed script
This was previously covered by post() throwing, which it no longer does.
2021-06-12 02:17:19 +02:00
Ole André Vadla Ravnås 15537d437e Improve the “script is destroyed” error message 2021-06-12 02:16:36 +02:00
Ole André Vadla Ravnås aaf7f0ce6d Add Script.is_destroyed property 2021-06-12 02:14:54 +02:00
Ole André Vadla Ravnås 0eb90247fb Add Session.is_detached property 2021-06-12 02:13:33 +02:00
Ole André Vadla Ravnås f3dc04cdc1 Add Device.is_lost property 2021-06-12 02:12:36 +02:00
Ole André Vadla Ravnås 4cc9209c3d Add support for the new frida-core APIs 2021-06-08 02:25:25 +02:00
NewbieGoose 39f36f7d4a Add RPC exports listing functionality to Script and ScriptExports (#180) 2021-04-27 21:26:56 +02:00
Ole André Vadla Ravnås 3e37f6d742 Update to the new attach() core API 2020-12-16 03:38:43 +01:00
Ole André Vadla Ravnås 6038ace649 Add missing error-handling to CancellablePollFD
Need to handle get_fd() returning -1 on error, which always happens on
Windows where it is unsupported.
2020-12-01 01:45:09 +01:00
Ole André Vadla Ravnås f8a31480ed Rename to match the revised remote device API 2020-04-30 05:05:31 +02:00
Ole André Vadla Ravnås faec367cf7 Add Cancellable.get_pollfd()
Useful for integrating with an existing event loop.
2020-02-26 22:50:41 +01:00
Francesco Tamagni eefb5e4930 Improve the log handler access logic (#160)
- Add `get_log_handler()` for symmetry
- Expose the default log handler
2019-12-05 17:48:31 +01:00
Ole André Vadla Ravnås 1a90214c37 Add support for the new channels API 2019-09-24 05:59:45 +02:00
Ole André Vadla Ravnås 7def1ad210 Make DeviceManager.close() cancellable 2019-09-04 02:21:12 +02:00
Ole André Vadla Ravnås 870199d9e7 Fix a Python 2.x compatibility regression 2019-09-04 01:54:40 +02:00
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 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 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 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 2ed895b881 Add support for the new eternalize() API 2018-09-17 22:15:27 +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