Commit Graph

380 Commits

Author SHA1 Message Date
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
Ole André Vadla Ravnås 1c6f6db7e9 Stick to ES5 in the generated handlers 2016-01-14 04:15:44 +01:00
Ole André Vadla Ravnås a35658168b Add --disable-jit switch to console scripts 2016-01-14 04:03:29 +01:00
Ole André Vadla Ravnås 7c0ec26f44 Add disable_jit() to Session 2016-01-14 04:00:05 +01:00
Ole André Vadla Ravnås b84f30b0c9 Make PySession_disable_debugger() METH_NOARGS as it should be 2016-01-14 03:59:39 +01:00
Ole André Vadla Ravnås 1c5c045b9f Merge pull request #65 from superkhung/master
fix imports for newer prompt-toolkit
2016-01-08 17:17:15 +01:00
superkhung 48acc558f0 Set prompt-toolkit to version 0.57+ 2016-01-08 18:41:45 +07:00
superkhung 35547eb5c1 Fix imports for newer prompt-toolkit 2016-01-08 18:41:30 +07:00
Ole André Vadla Ravnås b1c96cc550 Merge pull request #64 from riverar/patch-1
Fix Python 3 line endings/encoding regression
2016-01-03 12:09:25 +01:00
Rafael Rivera a13ac80300 Fix Python 3 line endings regression
Tested on Windows against Python 2.7.8 and 3.5.1 with cmd (cp-437).
2016-01-02 20:15:05 -08:00
Ole André Vadla Ravnås 38dcbae878 Assume UTF-8 when the stdout encoding is unknown
The user can always set `PYTHONIOENCODING` to specify an encoding when
piping stdout somewhere.
2015-12-31 01:09:02 +01:00
Ole André Vadla Ravnås e16093eebe Merge pull request #63 from 0xABD/patch-1
Fix the manpage parser regexp
2015-12-23 17:43:33 +01:00
Nikita Abdullin 1128038392 Fix manpage parser regexp for "*funcname"
Also include functions like *mmap whose return type is a pointer.
2015-12-23 17:29:16 +01:00
Nikita Abdullin 1811b95471 Fix the manpage parser regexp
Modify the manpage parser regexp to select only the first occurrence of the "TYPE FUNCTION(TYPE ARG, ...)", including multiline function prototypes.
2015-12-23 17:17:32 +01:00
Ole André Vadla Ravnås a496d8ff31 Suppress warning caused by the Python 3.5 headers 2015-12-07 17:16:02 +01:00
Ole André Vadla Ravnås a0405e3f4a Fix crash when the stdout encoding cannot represent all characters
Instead just replace those characters with question-marks so we still
work on terminals without native unicode support.
2015-12-02 01:37:27 +01:00
Ole André Vadla Ravnås 03776a7c7b Always treat handler scripts as UTF-8 2015-12-02 01:34:22 +01:00
Ole André Vadla Ravnås 0de6b5315d Fix UTF-8 fields being accidentally exposed as str on Python 2.x
We expose them as strings on Py3k, so that means we should be exposing
them as unicode on Python 2.x.

Thanks to @progopis and @Proteas for reporting!

Closes #58 and #61.
2015-11-26 17:39:26 +03:00
Ole André Vadla Ravnås ef7c175a17 Upgrade to Python 3.5 2015-11-11 22:05:55 +01:00
Ole André Vadla Ravnås c5b34d9152 Fix display of raw array buffers as returned by Memory.readByteArray() 2015-11-06 21:14:43 +01:00