Commit Graph

365 Commits

Author SHA1 Message Date
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
Ole André Vadla Ravnås 887cb747b9 Update name displayed for the system session 2015-11-06 21:11:28 +01:00
Ole André Vadla Ravnås d5b29f700f Lock the prompt-toolkit version to 0.38
The newer 0.54 isn't API-compatible.
2015-11-02 15:00:16 +01:00
Ole André Vadla Ravnås 21824e25d7 Fix frida-discover on JavaScriptCore by downgrading to ES5 2015-11-01 20:26:53 +01:00
Ole André Vadla Ravnås ccbe4726d7 Fix frida-trace on JavaScriptCore by downgrading to ES5 2015-11-01 20:24:26 +01:00
Ole André Vadla Ravnås e40bd8d8b5 Fix REPL on JavaScriptCore by downgrading to ES5 2015-11-01 15:30:49 +01:00
Ole André Vadla Ravnås 381a5c6b45 Fix crash in REPL's FridaCompleter on error 2015-11-01 15:29:59 +01:00
Ole André Vadla Ravnås f571074bce Merge pull request #54 from 0xABD/patch-1
Modify setup.py for offline egg installation
2015-10-23 00:37:40 +02:00
Nikita Abdullin d49be0de62 minor refactoring -- coding style
add missing spaces
2015-10-22 13:53:12 +02:00
Nikita Abdullin f06ffc8d96 modify setup.py
dirty hack for offline install: search for the egg file in the current folder
2015-10-21 16:04:50 +02:00
Ole André Vadla Ravnås ee890dcb43 Update setup.py to match new build server configuration 2015-10-06 02:35:37 +02:00
Ole André Vadla Ravnås 3bb81b566c Add support for rpc methods returning ArrayBuffer objects 2015-10-02 14:41:48 +02:00
Ole André Vadla Ravnås 98733a3388 Fix tests on OS X 10.11
Because `/bin/cat` is now considered a system program we are no longer
allowed to attach to it using `task_for_pid()`. Bundle our own test
program for Mac as a workaround.
2015-10-01 23:11:13 +02:00
Ole André Vadla Ravnås 817be1fd26 Blacklist dyld_stub_binder from being traced 2015-09-25 20:42:25 +02:00
Ole André Vadla Ravnås 0a0e9bddce Add support for conveniently tracing imported functions 2015-09-25 20:42:03 +02:00
Ole André Vadla Ravnås 4de31ce812 Avoid logging getting overwritten by the status message changing 2015-09-25 19:32:23 +02:00