Commit Graph

399 Commits

Author SHA1 Message Date
Ole André Vadla Ravnås 19a8ea1fd3 Include stacktrace in RPC exception when available 2016-06-02 14:28:33 +02:00
Jeroen Beckers 967b088021 Move --no-pause to repl.py (#83) 2016-05-27 23:44:44 +02:00
Jeroen Beckers b17a838da9 Add ability to not pause at startup (#82) 2016-05-27 17:20:45 +02:00
Ole André Vadla Ravnås d51a1d1016 Merge pull request #80 from frida/feature/repl-watch-loaded-script
Watch loaded script
2016-05-18 23:16:58 +02:00
Ole André Vadla Ravnås 9344d0cd40 Remove the -w/--watch switch and watch regardless 2016-05-18 23:09:28 +02:00
Ole André Vadla Ravnås f66ede5ac0 Improve watch behavior
- Start monitoring the file before loading it
- Only recreate the monitor when the user script's path changes
- Ignore `changes-done-hint`
2016-05-18 23:01:28 +02:00
s1341 7edae5713c Do file monitoring in load_script 2016-05-18 13:21:53 -04:00
s1341 55234da50f Get rid of abspath; Guard against --watch without user script 2016-05-18 13:08:40 -04:00
s1341 40e6fd8de0 Monitor the userscript file, not the directory 2016-05-18 13:08:40 -04:00
s1341 5ee50c6de1 Implement --watch for repl 2016-05-18 13:08:40 -04:00
Ole André Vadla Ravnås 1c70adb09a Assume that the level field is always provided
This protocol addition happened in a previous major release, so we no
longer need to handle it being absent.
2016-05-18 17:39:45 +02:00
Ole André Vadla Ravnås 287b87947d Fix handling of unicode command-line arguments on Python 2.x 2016-05-13 22:32:16 +02:00
Ole André Vadla Ravnås 8d302c74fb Make the hard-coded Python 2.7 path consistent with the 3.5 path 2016-05-09 02:30:01 +02:00
Ole André Vadla Ravnås 38003433c8 Upgrade to VS2015 2016-05-08 23:50:08 -07:00
Ole André Vadla Ravnås 552dd5e7d7 Fix the local fallback and look in home directory instead 2016-04-25 22:18:40 +02:00
Ole André Vadla Ravnås c188bbf622 Improve the setup.py download fallback
- Try local fallback no matter which network call fails.
- Allow the extension inside the .egg to have a slightly different name.
2016-04-25 21:51:57 +02:00
Ole André Vadla Ravnås 207d711e07 Fix setup.py download fallback
We now make use of the PyPI API to find the download URL instead of making
assumptions about their URL scheme, as it may change at any time.
2016-04-25 20:20:54 +02:00
Ole André Vadla Ravnås ea92298e45 Merge pull request #77 from 0xItx/master
Improve REPL autocompletion
2016-04-19 16:46:33 +02:00
Itay R 9ce85bb563 Improve REPL autocompletion
- case insensitive
- any substring will trigger a match
2016-04-19 16:57:18 +03:00
Ole André Vadla Ravnås b48d3fcdef Flush queued events before exiting 2016-04-15 15:38:00 +02:00
Ole André Vadla Ravnås 375e2fee79 Fix crash on EOF 2016-04-15 15:32:18 +02:00
Ole André Vadla Ravnås b7d6804e56 Add input() to Device 2016-04-02 03:03:33 +02:00
Ole André Vadla Ravnås d10d1afa2f Wire up the output signal and provide a default implementation 2016-04-01 23:52:39 +02:00
Ole André Vadla Ravnås 7e3c0a48e4 Add output signal to Device 2016-04-01 23:37:20 +02:00
Ole André Vadla Ravnås 4e9c5eb5d9 Merge pull request #72 from Grazfather/fix_setup2
setup.py: Fail out if there are no prebuilts
2016-03-17 03:09:53 +01:00
Grazfather d83bea267f Improve error message when install fails 2016-03-16 19:08:21 -07:00
Ole André Vadla Ravnås 158834c897 Tweak the startup message 2016-02-26 01:47:08 +01:00
Ole André Vadla Ravnås 1d36d03c17 Update the REPL logo 2016-02-24 03:42:31 +01:00
Ole André Vadla Ravnås 7be8690a84 Merge pull request #68 from riverar/pyconfig_guard
Resolve pyconfig pain point in Windows build scenario
2016-02-20 15:09:33 +01:00
Rafael Rivera 3fdf02fd51 Resolve pyconfig pain point in Windows build scenario 2016-02-20 01:29:18 -08:00
Ole André Vadla Ravnås 47ac045877 Merge pull request #67 from riverar/local_python_refs
Add solution-local python references for future Windows build enhancements
2016-02-19 23:09:23 +01:00
Rafael Rivera 9b57ec5a79 Add solution-local python references for future Windows build enhancements 2016-02-19 13:30:32 -08:00
Ole André Vadla Ravnås 78aab0490b Add -H switch for specifying the host to connect to 2016-02-19 02:48:51 +01:00
Ole André Vadla Ravnås 3173afd416 Add add_remote_device() and remove_remote_device() to DeviceManager 2016-02-19 02:48:14 +01:00
Ole André Vadla Ravnås 462c91debd Fix compatibility with the Duktape runtime 2016-02-18 02:15:31 +01:00
Ole André Vadla Ravnås 3d9b6f3a05 Canonicalize the requested RPC method name 2016-02-18 02:15:08 +01:00
Ole André Vadla Ravnås 39e525c2d5 Simplify the REPL by using the RPC feature
Fixes #66
2016-02-08 18:51:06 -06:00
Ole André Vadla Ravnås efb25e842e Improve frida-trace to monitor its handlers instead of polling them
We previously polled handlers whenever we received an event from them.
This kind of worked except it meant that bad handlers would never get
reloaded, as no more events would be arriving from them.
2016-02-06 23:29:20 +01:00
Ole André Vadla Ravnås eabb99c3c5 Add a simple wrapper for GLib's FileMonitor 2016-02-06 23:25:45 +01:00
Ole André Vadla Ravnås e9bfe97024 Fix inconsistent coding style 2016-02-06 22:31:32 +01:00
Ole André Vadla Ravnås 3cd8157c52 Fix path escaping issue 2016-02-06 03:00:04 +01:00
Ole André Vadla Ravnås 73b1283d96 Improve error-handling for bad handlers 2016-02-06 02:59:51 +01:00
Ole André Vadla Ravnås 371e1f9e6b Gracefully handle failure to start tracing 2016-02-01 20:27:25 +01:00
Ole André Vadla Ravnås 2b0506258d Unload the resolver script as soon as we're done with it 2016-02-01 20:27:03 +01:00
Ole André Vadla Ravnås fb78afe778 Port frida-trace to the new ApiResolver API 2016-02-01 20:26:40 +01:00
Ole André Vadla Ravnås ceaff9640a Improve frida-trace performance
- Switch to RPC and remove scheduling logic to make sure as many
  Interceptor calls as possible happen in the same transaction.
- Batch event-bursts.
2016-01-29 05:22:04 +01:00
Ole André Vadla Ravnås 89b6c8948a Fix spurious error when stopping 2016-01-24 21:59:42 +01:00
Ole André Vadla Ravnås 9bed12ab22 Fix silly FIFO assumption 2016-01-24 21:59:08 +01:00
Ole André Vadla Ravnås 0eaff9d193 Fix race-condition that resulted in the REPL hanging
With two successive requests, for example a completion request and an
eval request fired from two different Python threads, the second response
could end up overwriting the first one before it got processed. The
initial design assumed that only a single Python thread would be making
these requests, but that changed when the completion was introduced. We
now fix this issue by using a queue and knowing that these requests are
processed and replied to in FIFO order.
2016-01-24 21:09:39 +01:00
Ole André Vadla Ravnås 57d7a5de92 Fix crash when attempting to trace partially resolved imports 2016-01-14 14:35:29 +01:00