Commit Graph

354 Commits

Author SHA1 Message Date
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
Ole André Vadla Ravnås 65cbaaabe4 Make it possible to set a custom log handler 2015-09-25 19:30:01 +02:00
Ole André Vadla Ravnås d11b223861 Add -D switch for specifying the device id to connect to 2015-09-17 00:26:52 +02:00
Ole André Vadla Ravnås f89dc4712b Add frida-ls-devices CLI tool for listing devices 2015-09-17 00:05:19 +02:00
Ole André Vadla Ravnås 69e3694523 Improve the frida-ps output formatting 2015-09-16 23:54:28 +02:00
Ole André Vadla Ravnås 16ce5bd6f8 Add get_local_device() and improve API consistency with frida-node 2015-09-13 19:02:19 +02:00
Ole André Vadla Ravnås c5c2e60f33 Update to the new Device.id API 2015-09-13 18:55:48 +02:00
Ole André Vadla Ravnås 8780ffe303 Fix issues undetected because of incomplete arrow function support 2015-09-13 00:51:34 +02:00
Ole André Vadla Ravnås 7758cf486e Add support for the new spawn gating API 2015-09-10 03:00:32 +02:00
Ole André Vadla Ravnås 86baff28b3 Allow script source and name to be unicode on Python 2.x also 2015-08-21 21:15:56 +02:00
Ole André Vadla Ravnås 71a4980097 Fix error-propagation in Python 3.x 2015-08-21 21:04:04 +02:00
Ole André Vadla Ravnås dedfb7b68e Fix the Linux download URL computation 2015-08-19 23:36:54 +02:00